题目链接 https://www.luogu.org/problemnew/show/P2312 分析 这道题很毒啊,这么大的数. 但是如果多项式\(\sum_{i=0}^N a[i]*X^i=0\)则\(\sum_{i=0}^N a[i]*X^i \mod P=0\) 于是我们可以暴力膜一模,然后在\([1,m]\)中枚举就好了.但是呢,万一这个多项式的值是\(P\)的倍数,也会变成0,所以保险起见搞几个又大又质的数膜一膜就好了. 但是\(Exciting\)的是呢,我在洛谷上开O2能过,而B…
题意 题目链接 Sol 出这种题会被婊死的吧... 首先不难想到暴力判断,然后发现连读入都是个问题. 对于\(a[i]\)取模之后再判断就行了.注意判断可能会出现误差,可以多找几个模数 #include<bits/stdc++.h> #define Fin(x) {freopen(x, "r", stdin);} #define int long long using namespace std; const int MAXN = 2e5 + 10, mod = 19997…
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整数). 输入格式 输入共 \(n + 2\) 行. 第一行包含 \(2\) 个整数 \(n, m\) ,每两个整数之间用一个空格隔开. 接下来的 \(n+1\) 行每行包含一个整数,依次为 \(a_0,a_1,a_2\ldots a_n\). 输出格式 第一行输出方程在 \([1,m]\)…
P2312 解方程 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 [1,m][1,m] 内的整数解(\(n\) 和 \(m\) 均为正整数). 输入格式 输入共 $ n + 2$ 行. 第一行包含 \(2\) 个整数 \(n, m\) ,每两个整数之间用一个空格隔开. 接下来的 \(n+1\) 行每行包含一个整数,依次为 \(a_0,a_1,a_2\ldots a_n\). 输出格式 第一行输出方程在 [1,m][1,m] 内的…
P2312 解方程 bzoj3751(数据加强) 暴力的一题 数据范围:$\left | a_{i} \right |<=10^{10000}$.连高精都无法解决. 然鹅面对这种题,有一种常规套路:取模 显然方程两边同时$mod$结果不会改变 于是我们牺牲了正确性使答案允许我们暴力枚举. 为了提高正确性我们可以$mod$多个较小质数进行判断 至于代入解方程,用秦九韶算法 (bzoj数据真的强,压线过的) #include<iostream> #include<cstdio>…
P2312 解方程 其实这道题就是求一个1元n次方程在区间[1, m]上的整数解. 我们枚举[1, m]上的所有整数,带进多项式中看看结果是不是0即可. 这里有一个技巧就是秦九韶算法,请读者自行查看学习. 时间复杂度O(n*m). 然后你应该可以拿30分. 我们发现这些数都太大了,要开高精度.然后你愉快地拿了50分——复杂度O(n*m*length)会爆炸. 这里我们考虑hash的思想,对结果取模(最好是一个很大的质数P),如果结果是零就说明这是一个解. 应为如果结果是零,那么要么这是一个解,要…
P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录   题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入输出格式 输入格式: 输入文件名为equation .in. 输入共n + 2 行. 第一行包含2 个整数n .m ,每两个整数之间用一个空格隔开. 接下来的n+1 行每行包含一个整数,…
P2312 解方程 题目描述 已知多项式方程: \(a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\)求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整数). 输入输出格式 输入格式: 共 \(n + 2\) 行. 第一行包含 \(2\) 个整数 \(n, m\) ,每两个整数之间用一个空格隔开. 接下来的 \(n+1\) 行每行包含一个整数,依次为 \(a_0,a_1,a_2\ldots a_n\) . 输出格式: 第一行输出方程在 \([1,m…
P2312 解方程 随机化的通俗解释:当无法得出100%正确的答案时,考虑随机化一波,于是这份代码很大可能会对(几乎不可能出错). 比如这题:把系数都模一个大质数(也可以随机一个质数),然后O(m)跑一遍检验就好了. 这里插一句,说一下如何随机一个大质数:先搞一个数据范围差不多的数x(rand出来),然后不断 \(o(\sqrt{n})\) 判断x是否为质数,不是就+1.因为质数比较密集,所以复杂度不会很大. #include<bits/stdc++.h> using namespace st…
题目:https://www.luogu.org/problemnew/show/P2312 https://www.lydsy.com/JudgeOnline/problem.php?id=3751 10^10000 太大了,高精度也很难做,怎么办? 注意我们要求的是方程的值 = 0 的解,不妨在取模意义下做,因为真正使方程 = 0 的解在模意义下也是 0: 然后可以用秦九韶算法,O(n) 算每个枚举的答案: 避免出错要多对几个数取模,就像哈希时有多个模数一样: 据说模数大小在 2e4 左右比…