luogu2312 解方程 (数论,hash)

第一次外出学习讲过的题目,然后被讲课人的一番话惊呆了.

这个题,我想着当年全国只有十几个满分.....然后他又说了句我考场A这道题时,用了5个模数

确实不好做想不到.

由于\(a\)非常大.转为以下思路.



\(f(x) = a_0+a_1x+a_2x^2+\cdots+a_nx^n\)

对于\(f(x) = 0\)则\(f(x)\%p = 0\)

\(f(x \% p) = 0\)

然后这里最好是选择素数.由于luogu数据较水,可以直接选择\(1e9 + 7\)水过.

判断会有误,所以这里选择两个数.

bzoj也有这道题,但是极其考验卡常技巧......

卡到吐血.还是没A,算了,不卡了....

记录:

#pragma GCC optimize(2)
#include <iostream>
#include <cstdio>
#define ll long long
const int maxN = 100 + 7;
const int maxM = 1e6 + 7;
const int p = 1e9 + 7;
const int p1 = 20030327; ll a[maxN],b[maxN];
ll n,m;
bool vis[maxM]; inline bool calc(int x)
{
long long sum = 0;
for(int i = n;i >= 1;i --)
{
sum = ( (long long) ( a[i] + sum ) * x ) % p;
}
sum = ( sum + a[0] ) % p;
return !sum;
} inline void read(ll &x1,ll &x2) {
x1 = 0,x2 = 0;
int f = 1;
char c = getchar();
while(c < '0' || c > '9') {if(c == '-')f = -1;c = getchar();}
while(c >= '0' && c <= '9') {
x1 = ( x1 * 10 + c - '0' ) % p;
x2 = ( x2 * 10 + c - '0') % p1;
c = getchar();
}
x1 *= f;
x2 *= f;
} inline bool calc1(int x)
{
long long sum = 0;
for(int i = n;i >= 1;i --)
{
sum = ( (long long) ( b[i] + sum ) * x ) % p1;
}
sum = ( sum + b[0] ) % p1;
return !sum;
} void print(int x)
{
if(x < 0)
{
putchar('-');
x = -x;
}
if(x > 9)
{
print(x / 10);
}
putchar(x % 10 + '0');
} int main() {
scanf("%d%d",&n,&m);
for(int i = 0;i <= n;++ i)
read(a[i],b[i]);
int cnt = 0;
for(int i = 1;i <= m;++ i)
if(calc(i) && calc1(i)) ++ cnt,vis[i] = true;
printf("%d\n",cnt);
for(int i = 1;i <= m;++ i)
if(vis[i]) print(i),puts("");
return 0;
}

luogu2312 解方程 (数论,hash)的更多相关文章

  1. LOJ2503 NOIP2014 解方程 【HASH】

    LOJ2503 NOIP2014 解方程 LINK 题目大意就是给你一个方程,让你求[1,m]中的解,其中系数非常大 看到是提高T3还是解方程就以为是神仙数学题 后来研究了一下高精之类的算法发现过不了 ...

  2. NOIP2014 uoj20解方程 数论(同余)

    又是数论题 Q&A Q:你TM做数论上瘾了吗 A:没办法我数论太差了,得多练(shui)啊 题意 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, ...

  3. 【bzoj3751】[NOIP2014]解方程 数论

    题目描述 已知多项式方程: a0+a1*x+a2*x^2+...+an*x^n=0 求这个方程在[1,m]内的整数解(n和m均为正整数). 输入 第一行包含2个整数n.m,每两个整数之间用一个空格隔开 ...

  4. BZOJ3751 NOIP2014 解方程(Hash)

    题目链接  BZOJ3751 这道题的关键就是选取取模的质数. 我选了4个大概几万的质数,这样刚好不会T 然后统计答案的时候如果对于当前质数,产生了一个解. 那么对于那些对这个质数取模结果为这个数的数 ...

  5. $Noip2014/Luogu2312$ 解方程

    $Luogu$ $Sol$ 枚举解+秦九韶公式计算+取模. $Code$ #include<iostream> #include<cstdio> #include<cst ...

  6. [luogu2312] 解方程

    题面 ​ 秦九韶公式 ​ 看了上面这个之后大家应该都会了, 就是读入的时候边读入边取模, 从\(1\)到\(m\)间将每一个数带进去试一下就可以了, 复杂度是\(O(nm)\)的. ​ 古人的智慧是无 ...

  7. codevs3732==洛谷 解方程P2312 解方程

    P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录   题目描述 已知多项式方程: a ...

  8. 洛谷 P2312 解方程 题解

    P2312 解方程 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 [1,m][1,m] 内的整数解(\(n\) 和 \(m\) 均为 ...

  9. [noip2014]P2312 解方程

    P2312 解方程 其实这道题就是求一个1元n次方程在区间[1, m]上的整数解. 我们枚举[1, m]上的所有整数,带进多项式中看看结果是不是0即可. 这里有一个技巧就是秦九韶算法,请读者自行查看学 ...

随机推荐

  1. __enter__,__exit__

    目录 上下文管理协议 模拟open 优点 我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼 ...

  2. dubbo-admin安装

    1.下载dubbo-adminhttps://github.com/apache/incubator-dubbo/tree/dubbo-2.5.7 2.解压,进入到/home/zhanxuewei/D ...

  3. Restful API官方文档

    理解Restful架构:http://www.ruanyifeng.com/blog/2011/09/restful RESTful设计指南:http://www.ruanyifeng.com/blo ...

  4. 给ACM newer的编程技巧

    一.复杂度 1.1什么是复杂度? 在设计满足问题要求的算法时,复杂度的估算是非常重要的.我们不可能把每个想到的算法实现一遍看看是否足够快.应当通过估计算法的复杂度来判断所想的算法是否足够高效. 1.2 ...

  5. 关于JavaDate数据返回到前端变数字的问题(并引申到前后端时间的传输)

    不知道为什么,前端显示的所有数据项都没有错,就只有时间那一项很奇怪,是一串数字,而且这个数字在数据库怎么都找不到…… 然后我在后端从service到controller都debug了一遍,发现数据都没 ...

  6. React Native开发时devices offline和手机不能晃动的处理

    1. adb device 显示 devices offline 可能重启adb server: $ adb kill-server $ adb start-server 2. 华为等手机不能 晃动显 ...

  7. js实现接口的几种方式

    Javascript模仿接口可以有三种方式:1.注释法 2.检查属性法 3.鸭式辨形法 1.注释法:此方法属于程序文档范畴,对接口的继承实现完全依靠程序员自觉 /* interface People{ ...

  8. SPOJ1716 GSS3(线段树)

    题意 Sol 会了GSS1,GSS3就比较无脑了 直接加个单点修改即可,然后update一下 /* */ #include<cstdio> #include<cstring> ...

  9. DSO的接口文档[转]

    本文从别处转来: (开发环境)使用前先注册一下DSOFramer.ocx 操作:将DSOFramer.ocx复制到C:\windows\system32目录下, 开始->运行->regsv ...

  10. HashMap,你知道多少?

    一.前言 HashMap在面试中是个火热的话题,那么你能应付自如吗?下面抛出几个问题看你是否知道,如果知道那么本文对于你来说就不值一提了. HashMap的内部数据结构是什么? HashMap扩容机制 ...