题目:https://www.luogu.org/problemnew/show/P2312

   https://www.lydsy.com/JudgeOnline/problem.php?id=3751

惭愧……先听了同学讲它,又看了题解,才A。

取一些模数就能限制时间复杂度并有一些概率正确。取模后常数也能取模,就不用高精度了!而且m以内的数只用算 0~模数-1 的值,表示取模后是该值的数在模该值意义下答案是否为0。

bzoj上的数据需要精心选取模数。据说2e4左右的效果最好?试了几次终于A了。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,M=1e4+,A=1e6+,K=,C=,D=4e4+;
int n,m,a[N][M],nm[N],c[N],ans[A],cnt;
bool fx[N],flag;
int zs[K]={,,,,,,};
bool vis[K][D];
void solve(int p)
{
for(int i=;i<=n;i++)
{
c[i]=;
for(int j=;j<=nm[i];j++) c[i]=(c[i]*+a[i][j])%p;
if(fx[i]) c[i]=(-c[i]+p)%p;
}
}
void calc(int bh,int x,int p)
{
int cr=;
for(int i=n;i>=;i--)
cr=(cr*x%p+c[i])%p;
vis[bh][x]=(!cr);
}
int main()
{
scanf("%d%d",&n,&m); char ch=getchar();
for(int i=;i<=n;i++)
{
while(ch>''||ch<''){ if(ch=='-') fx[i]=; ch=getchar();}
while(ch>=''&&ch<='') a[i][++nm[i]]=ch-'',ch=getchar();
}
for(int i=;i<C;i++)
{
solve(zs[i]);
for(int j=;j<zs[i]&&j<=m;j++)
calc(i,j,zs[i]);
}
for(int i=;i<=m;i++)
{
flag=;
for(int j=;j<C;j++)
if(!vis[j][i%zs[j]]) {flag=;break;}
if(!flag) ans[++cnt]=i;
}
printf("%d\n",cnt);
for(int i=;i<=cnt;i++) printf("%d\n",ans[i]);
return ;
}

洛谷 2312 / bzoj 3751 解方程——取模的更多相关文章

  1. 洛谷 P2312 & bzoj 3751 解方程 —— 取模

    题目:https://www.luogu.org/problemnew/show/P2312 https://www.lydsy.com/JudgeOnline/problem.php?id=3751 ...

  2. 洛谷 题解 P2312 【解方程】

    Problem P2312 [解方程] >>> record 用时: 1166ms 空间: 780KB(0.76MB) 代码长度: 2.95KB 提交记录: R9909587 > ...

  3. 洛谷 4106 / bzoj 3614 [HEOI2014]逻辑翻译——思路+类似FWT

    题目:https://www.luogu.org/problemnew/show/P4106 https://www.lydsy.com/JudgeOnline/problem.php?id=3614 ...

  4. 洛谷 P2827 BZOJ 4721 UOJ #264 蚯蚓

    题目描述 本题中,我们将用符号表示对c向下取整,例如:. 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓. 蛐蛐国里现在共有n只蚯蚓(n为正整数).每只 ...

  5. 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑

    题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...

  6. 洛谷 P2046 BZOJ 2007 海拔(NOI2010)

    题目描述 YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作 一个正方形,每一个区域也可看作一个正方形.从而,YT城市中包括(n+1)×(n+1)个 ...

  7. 洛谷 P2587 BZOJ 1034 [ZJOI2008]泡泡堂

    题目描述 //不知道为什么BZOJ和洛谷都没有这幅图了,大牛们几年前的博客上都有这幅图的,把它贴上来吧 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省 ...

  8. 洛谷 P5206: bzoj 5475: LOJ 2983: [WC2019] 数树

    一道技巧性非常强的计数题,历年WC出得最好(同时可能是比较简单)的题目之一. 题目传送门:洛谷P5206. 题意简述: 给定 \(n, y\). 一张图有 \(|V| = n\) 个点.对于两棵树 \ ...

  9. 洛谷 P4128: bzoj 1815: [SHOI2006]有色图

    题目传送门:洛谷 P4128. 计数好题,原来是 13 年前就出现了经典套路啊.这题在当年应该很难吧. 题意简述: \(n\) 个点的完全图,点没有颜色,边有 \(m\) 种颜色,问本质不同的图的数量 ...

随机推荐

  1. [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"

    该问题就是防火墙的问题.关闭即可. /etc/init.d/iptables stop

  2. (转)AAC ADTS格式分析

    1,ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式记得第一做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给 ...

  3. CSS选择器(二)

    五.属性选择器. 属性选择器可以根据元素的属性及属性值来选择元素. 简单属性选择 如果希望选择有某个属性的元素,而不论属性值是什么,可以使用简单属性选择器. 例子 1 如果您希望把包含标题(title ...

  4. mysql设置有外键的主键自增及其他

    有外键的主键设置自增. ; ALTER TABLE `<table>` MODIFY COLUMN `id` ) NOT NULL AUTO_INCREMENT FIRST; 创建数据库, ...

  5. ubuntu14.04 安装pip vitualenv flask

    安装pip: $ apt-get install python-pip$ pip -V #查看版本 确认安装成功 安装完pip后,会发现下载的速度特别慢.按如下修改: $ vim ~/.pip/pip ...

  6. hd acm2035

    求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” 思路:后三位只跟后三位相乘有关,所以可以每乘一次都对1000取余. 代码: #include <stdio.h>#inc ...

  7. DEDE 列表页调用如 标题,时间,简介等

    以下是直接从板子中复制出来的,CSS自已根据需要写下就行.在调时简介长度不知道怎么控制,现在说下方法1. infolen='30' 这个可以2. 系统设置 >其它设置 >内容简介长度填下就 ...

  8. shell 中 exec 和 source 命令解析

    文章大部分来源于:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作为笔记留存博客备忘. exec和source都属于bas ...

  9. python第三篇:python、flask关系映射

    python中关系映射主要包括三种:一对多关系映射.一对一关系映射.多对多关系映射. 一对多关系映射 一方:Student(学生) 添加关联属性和反向引用 多方:Article(文章) 添加外键关联 ...

  10. php gizp压缩传输js和css文件

    1. [代码][PHP]代码    <?php     /**     *  完整调用示例:     *  1.combine.php?t=j&b=public&fs=jslib ...