[COCI2013]DLAKAVAC

题目大意:

有一个长度为\(m(m\le1500)\)的\(01\)串\(A\),进行\(k(k\le10^{18})\)次操作。一次操作完的串中若\(A_i=1\),当且仅当在原串中存在\(jk\%m=i\),且\(A_j=A_k=1\)。求所有操作完成后哪些位置为\(1\)。

思路:

快速幂。时间复杂度\(\mathcal O(m^2\log k)\)。

源代码:

#include<cstdio>
#include<cctype>
#include<cstring>
#include<algorithm>
typedef long long int64;
inline int64 getint() {
register char ch;
while(!isdigit(ch=getchar()));
register int64 x=ch^'0';
while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
return x;
}
const int N=1500;
int64 k;
int m,n;
bool a[N],ans[N],tmp[N];
inline void mul(bool a[],bool b[]) {
memset(tmp,0,sizeof tmp);
for(register int i=0;i<m;i++) {
for(register int j=0;j<m;j++) {
tmp[(i*j)%m]|=a[i]&&b[j];
}
}
std::copy(&tmp[0],&tmp[m],a);
}
int main() {
k=getint(),m=getint(),n=getint();
for(register int i=0;i<n;i++) {
a[getint()]=true;
}
ans[1]=1;
for(;k;k>>=1) {
if(k&1) mul(ans,a);
mul(a,a);
}
for(register int i=0;i<m;i++) {
if(ans[i]) printf("%d ",i);
}
puts("");
return 0;
}

[COCI2013]DLAKAVAC的更多相关文章

  1. 【BZOJ 3482】 3482: [COCI2013]hiperprostor (dij+凸包)

    3482: [COCI2013]hiperprostor Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 277  Solved: 81 Descrip ...

  2. BZOJ3482 : [COCI2013]hiperprostor

    对于每组询问,spfa求出f[i][j]表示从S出发,经过j条x边到达i的最短路. 若f[T][i]都为inf,则无解. 若f[T][0]为inf,则有无穷个解. 否则可以看作若干条直线,$O(n)$ ...

  3. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

随机推荐

  1. C++ shut down a computer

    前阵子有朋友问我,怎么用C语言写一个小程序,控制电脑关机.这个我真的不懂,这几天闲着,就上网搜了搜,整理一下. IDE: Code::Blocks 16.01 操作系统:Windows 7 x64 # ...

  2. 修改jenkins发布账号信息

  3. unzip文件解压

    1.记录下,遇到.zip的安装包,指定解压到某个地方 格式:unzip      压缩包名.zip  -d   存放路径  

  4. python基础知识之zip

    names =['zhangning','lsl','lyq','xww']age = [1,2,3,4]for a,b in zip(names,age): print(a,b)S = 'abcde ...

  5. 使用python调用wps v9转换office文件到pdf

    #!/usr/bin/python2.6 # -*- coding: utf-8 -*- # pip install timeout-decorator import os import win32c ...

  6. 一脸懵逼学习Nginx及其安装,Tomcat的安装

    1:Nginx的相关概念知识: 1.1:反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到 ...

  7. RxJava2.0相关教程

    这可能是最好的RxJava 2.x 教程(完结版) https://www.jianshu.com/p/0cd258eecf60 RxJava2.0——从放弃到入门 https://www.jians ...

  8. win7自带截屏便签 打开命令

    win7自带截屏 1.win+r 2.SnippingTool.exe    打开 便签 1.win+r 2.StikyNot.exe    打开 查本机ip 1.win+r 2.cmd 3.ipco ...

  9. Codeforces 380D Sereja and Cinema (看题解)

    Sereja and Cinema 首先我们可以发现除了第一个人, 其他人都会坐在已入坐人的旁边. 难点在于计算方案数.. 我们可以从外往里把确定的人用组合数算上去,然后缩小范围. #include& ...

  10. bug管理

    BUG提交规范 1.标题 2.步骤描述 ①.步骤使用序号编排 ②.在特定情况下发生的问题,还需提供准确的前提条件 ③.精准的描述bug产生的路径后,再描述现象 如: >打开客户端进行首页-> ...