【题目大意】

已知多项式方程:a0+a1*x+a2*x^2+...+an*x^n=0。求这个方程在[1,m]内的整数解(n和m均为正整数)。

【思路】

*当年考场上怒打300+行高精度,然而没骗到多少orz 然而正解只有60+行

[前铺]f(n) mod p=f(n mod p) mod p

取四个素数,分别对每个ai取模。先预处理x=0..p-1的情况,直接代入多项式计算即可。再在O(m)时间内检验1..m,对于≥p的利用前铺公式可得。如果模四个素数结果均能得到0,说明这个数是方程的解。

P.S.这个的前提是你的脸好……我一开始随便取的四个就WA了QAQ

 #include<bits/stdc++.h>
using namespace std;
const int MAXN=+;
const int MAXM=+;
const int MAXP=;
typedef long long ll;
int prime[]={,,,};
int n,m,a[MAXN],hash[MAXN][],table[MAXP][],ans[MAXM],cnt=; ll get_table(int j,int x)
{
ll ret=;
for (int i=n;i>=;i--)
ret=(ret*x+hash[i][j])%prime[j];
return ret;
} int read(int x)
{
char str[];
scanf("%s",str);
int negative=;
for (int i=;str[i];i++)
{
if (str[i]=='-') negative=;
else for (int j=;j<;j++)
hash[x][j]=((hash[x][j]*)%prime[j]+(str[i]-''))%prime[j];
}
if (negative)
for (int j=;j<;j++)
hash[x][j]=(prime[j]-hash[x][j])%prime[j];
} void init()
{
memset(hash,,sizeof(hash));
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++) read(i);
for (int i=;i<;i++)
for (int j=;j<prime[i];j++) table[j][i]=get_table(i,j);
} void solve()
{
for (int i=;i<=m;i++)
{
int flag=;
for (int j=;j<;j++)
if (table[i%prime[j]][j])
{
flag=;
break;
}
if (flag) ans[++cnt]=i;
}
printf("%d\n",cnt);
for (int i=;i<=cnt;i++) printf("%d\n",ans[i]);
} int main()
{
init();
solve();
return ;
}

最新文章

  1. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
  2. 使用getopt_long来解析参数的小函数模板
  3. 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
  4. SpringMVC无法获取请求中的参数的问题的调查与解决(2)
  5. 用python语言讲解数据结构与算法
  6. 怎么开启PHP 的错误提示?
  7. 文件操作II
  8. C# DataTable 详解
  9. 工具类CTools实现字符编码转换和获取当前路径
  10. 从0.5开始学Java 零
  11. $(#form&#160;:input)与$(#form&#160;input)的区别
  12. 纯净CentOS7.2 yum源配置与使用yum 安装系统工具net-tools
  13. QLineEdit拾遗:数据的过滤、验证和补全
  14. How to execute a Stored Procedure with Entity Framework Code First
  15. [转]Spring通过@Value注解注入属性的几种方式
  16. CentOS下nginx+php的配置及nginx开机启动配置
  17. C# Linq获取两个List或数组的差集交集
  18. postgreSQL 自增需要使用序列
  19. javaEE-EJB学习笔记
  20. 洛谷 P1781 宇宙总统:sort(string)

热门文章

  1. 一款已上市MMO手游地图同步方案总结
  2. Web攻防系列教程之 Cookie注入攻防实战
  3. Installation Guide for Appium 1.6.3
  4. ubuntu之一些安装配置的坑
  5. ACM International Collegiate Programming Contest World Finals 2014
  6. linux系统性能排查命令
  7. Linux中涉及到环境变量的文件
  8. mysql触发器(Trigger)简明总结和使用实例
  9. NTP详解-转
  10. C语言 五子棋