P2312 解方程(随机化)
随机化的通俗解释:当无法得出100%正确的答案时,考虑随机化一波,于是这份代码很大可能会对(几乎不可能出错)。
比如这题:把系数都模一个大质数(也可以随机一个质数),然后O(m)跑一遍检验就好了。
这里插一句,说一下如何随机一个大质数:先搞一个数据范围差不多的数x(rand出来),然后不断 \(o(\sqrt{n})\) 判断x是否为质数,不是就+1.因为质数比较密集,所以复杂度不会很大。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1000000007;
const int N=105;
int a[N],m,ans[N],tot,n;
int rd()
{
char c=getchar();
int f=1,x=0;
while(c>'9'||c<'0')
{
if(c=='-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=((x<<3)+(x<<1)+c-'0')%mod;
c=getchar();
}
return x*f;
}
int f(int x)
{
int res=0;
for(int i=n;i>=1;--i)
res=(res+a[i])*x%mod;
return (res+a[0])%mod;
}
signed main()
{
scanf("%lld%lld",&n,&m);
for(int i=0;i<=n;++i)a[i]=rd();
for(int i=1;i<=m;++i)
if(!f(i))ans[++tot]=i;
printf("%lld\n",tot);
for(int i=1;i<=tot;++i)
printf("%lld\n",ans[i]);
return 0;
}
P2312 解方程(随机化)的更多相关文章
- codevs3732==洛谷 解方程P2312 解方程
P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 已知多项式方程: a ...
- bzoj3751 / P2312 解方程
P2312 解方程 bzoj3751(数据加强) 暴力的一题 数据范围:$\left | a_{i} \right |<=10^{10000}$.连高精都无法解决. 然鹅面对这种题,有一种常规套 ...
- 洛谷 P2312 解方程 解题报告
P2312 解方程 题目描述 已知多项式方程: \(a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\)求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整 ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
- 洛谷 P2312 解方程 题解
P2312 解方程 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 [1,m][1,m] 内的整数解(\(n\) 和 \(m\) 均为 ...
- [noip2014]P2312 解方程
P2312 解方程 其实这道题就是求一个1元n次方程在区间[1, m]上的整数解. 我们枚举[1, m]上的所有整数,带进多项式中看看结果是不是0即可. 这里有一个技巧就是秦九韶算法,请读者自行查看学 ...
- [NOIP2014] 提高组 洛谷P2312 解方程
题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入输出格式 输入格式: 输入文件名为equation .i ...
- 洛谷 P2312 解方程
题目 首先,可以确定的是这题的做法就是暴力枚举x,然后去计算方程左边与右边是否相等. 但是noip的D2T3怎么会真的这么简单呢?卡常卡的真是熟练 你需要一些优化方法. 首先可以用秦九韶公式优化一下方 ...
- 【数论】[涨姿势:同余]P2312解方程
题目描述 已知多项式方程:\(a_0 + a_1x + a_2x^2+...+a_nx^n = 0\) 求这个方程在[1,m]内的整数解 \(1\leq n\leq100,|a_i|\leq 10^{ ...
随机推荐
- stm32CubeMx lwip + freeRTOS
MCU: STM32F429IGT6 工具:STM32CubeMx 版本号 5.0.0 Keil uVersion5 目的:使用LWIP 实现简单的网络连通 一 简介 LWIP(Light Wei ...
- 洛谷P1009 阶乘之和 题解
想看原题请点击这里:传送门 看一下原题: 题目描述 用高精度计算出S=!+!+!+…+n! (n≤) 其中“!”表示阶乘,例如:!=****××××. 输入格式 一个正整数N. 输出格式 一个正整数S ...
- 陶陶摘苹果(0)<P2005_1>
陶陶摘苹果 (apple.pas/c/cpp) [问题描述] 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用 ...
- postman使用get请求的url地址传参中文乱码问题
编码之后
- 「快学springboot」SpringBoot多环境配置文件
前言 我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml).但是,如果想要把不同的环境(如开发环境,测试环境,生产环境) ...
- Linux 修改 .bashrc
bashrc是一个隐藏的文件,要打开并修改该文件需要: (1)命令:ls -a 找到文件 .bashrc: (2) 命令 vim ~/.bashrc 进入到文件: (3) 直接按 i 键可以对文件进行 ...
- MySql向SQLServer迁移常见问题
-- MySql与SQLServer update inner join语法区别-- MySql: UPDATE A LEFT JOIN B ON A.B_ID = B.B_ID SET A.A_NA ...
- luogu P1044 火车进出栈问题(Catalan数)
Catalan数就是魔法 火车进出栈问题即: 一个栈(无穷大)的进栈序列为 1,2,3,4,...,n 求有多少个不同的出栈序列? 将问题进行抽象, 假设'+'代表进栈, 则有'-'代表出栈 那么如果 ...
- div display 常用属性
none:元素不被显示. block:元素将显示为块级元素,此元素前后会带有换行符. inline:行内元素(即一个挨着一个,都在同一行按从左至右的顺序显示,不单独占一行). 参考: http://w ...
- 线程安全Collections.synchronizedList
ollections.synchronizedList引发的线程安全问题 有些容器是线程安全的(Vector,ConcurrentLinkedQueue等),有些则不是(list等),利用类 似 pr ...