1.SB题


2.有n个点,m条边,每次加入一条边,你要挑出一些边,使得形成的图每个点度数都为奇数,且最长的边最短。


3.给一个N次多项式,问有多少个质数在任意整数处的点值都是p的倍数,输出它们。$N \leq 1000,|a_i| \leq 10^9$

问题等价于这个多项式在mod p意义下存在因数(x-i),i取遍所有整数。

那么p满足要求,等价于这个N次多项式存在因数$x(x-1)(x-2)...(x-p+1)=x^p-x(mod p)$

因此,p要么是系数gcd的质因数,要么在N以内。

 #include<bits/stdc++.h>
using namespace std;
const int maxn=1E5+;
typedef long long int ll;
ll n,a[maxn],ans[maxn];
const int limit=;
int size,prime[maxn],tmp[maxn],tmp1[maxn],tmp2[maxn];
bool vis[maxn];
void init()
{
for(int i=;i<=limit;++i)
{
if(!vis[i])
prime[++size]=i;
for(int j=;j<=size&&prime[j]*i<=limit;++j)
{
vis[prime[j]*i]=;
if(i%prime[j]==)
break;
}
}
}
inline int get(ll x,int mod)
{
ll sum=;
for(int i=n;i>=;--i)
sum=(sum*x%mod+a[i]%mod+mod)%mod;
return sum;
}
inline bool check(int x)
{
if(a[]%x!=)
return false;
for(int i=;i<=;++i)
if(get(prime[i],x)!=)
return false;
for(int i=;i<=;++i)
if(get(-i+,x)!=)
return false;
return true;
}
inline int get(ll x)
{
int g=;
for(ll i=;i*i<=x;++i)
while(x%i==)
{
tmp[++g]=i;
x/=i;
}
if(x>=)
tmp[++g]=x;
for(int i=;i<=size;++i)
if(prime[i]<=n)
tmp[++g]=prime[i];
sort(tmp+,tmp+g+);
g=unique(tmp+,tmp+g+)-tmp-;
return g;
}
inline int gcd(int x,int y)
{
if(y==)
return x;
return x%y==?y:gcd(y,x%y);
}
void solve()
{
init();
ll V=a[];
for(int i=;i<=n;++i)
V=gcd(V,a[i]);
int g=get(abs(V));
for(int i=;i<=g;++i)
if(check(tmp[i]))
cout<<tmp[i]<<endl;
}
int main()
{
freopen("poly.in","r",stdin);
freopen("poly.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n;
for(int i=n;i>=;--i)// 反过来
cin>>a[i];
solve();
return ;
}

[校内训练20_01_19]ABC的更多相关文章

  1. [校内训练20_01_22]ABC

    1.给出序列A,求序列B,使得bi|ai,lcm(b1,b2,...,bn)=lcm(a1,a2,...,an)且字典序最小. 可以发现,对于某个质数p,它有一个最大的次数k,将pk放在尽可能靠后且能 ...

  2. [校内训练20_01_20]ABC

    1.问有多少个大小为N的无标号无根树,直径恰好为L.$N,L \leq 200$ 2.问一个竞赛图中有多少个长度为3.4.5的环.$N \leq 2000$ 3.给出一些直线和单个点A,问这些直线的交 ...

  3. [校内训练20_01_17]ABC

    1.平面上每次加入直角边平行于坐标轴的等腰直角三角形,每次询问某个点被覆盖了多少次. 大常数算法:O(nlog^2) #include<bits/stdc++.h> using names ...

  4. [4.14校内训练赛by hzwer]

    来自FallDream的博客,未经允许,请勿转载,谢谢. hzwer又出丧题虐人 4道noi....        很奇怪 每次黄学长出题总有一题我做过了. 嗯题目你们自己看看呗 好难解释 ----- ...

  5. [2017.4.7校内训练赛by hzwer]

    来自FallDream的博客,未经允许,请勿转载,谢谢. 报警啦.......hzwer又出丧题虐人啦..... 4道ctsc...有一道前几天做过了,一道傻逼哈希还wa了十几次,勉强过了3题..我好 ...

  6. [3.24校内训练赛by hzwer]

    来自FallDream的博客,未经允许,请勿转载,谢谢. ----------------------------------------------------------------------- ...

  7. 19_04_19校内训练[Game]

    题意 给出n,等概率地生成一个1~n的数列.现在有n个人从左到右站成一排,每个人拿有当前数列位置上的数字,并且一开始都不知道数字是多少(但知道n是多少).从左到右让每个人进行如下选择: 1.选择保留自 ...

  8. 19_04_02校内训练[deadline]

    题意 给出一个二分图,左边为A集合,右边为B集合,要求把A集合中每一个点染为黑白两色中的一种,B集合中的颜色已定.染色后对于原本相邻且颜色相同的点,建立新的二分图,即得到了两个新的二分图,它们是独立的 ...

  9. 平面图转对偶图&19_03_21校内训练 [Everfeel]

    对于每个平面图,都有唯一一个对偶图与之对应.若G‘是平面图G的对偶图,则满足: G'中每一条边的两个节点对应着G中有公共边的面,包括最外部无限大的面. 直观地讲,红色标出来的图就是蓝色标出的图的对偶图 ...

随机推荐

  1. Checkpoint R77.30 web ui登录配置

    R77.30默认只能使用微软内核的浏览器进行web ui的登陆,在专家模式下修改后chrome和firefox正常登录,步骤如下: [Expert@BJ-ZHX-FW:0]# cp /web/htdo ...

  2. Struts2标签库常用标签(转)

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  3. 微信小程序获取多个input和textarea的值(es6加微信小程序APi)

    wxml js 俩行即可解决,money1,money2,money3

  4. Iterator接口介绍(迭代器)

    第一步 第二步 第二步用while 第二步用for循环(了解) 备注:

  5. 【题解】P1712 [NOI2016]区间(贪心+线段树)

    [题解]P1712 [NOI2016]区间(贪心+线段树) 一个observe是,对于一个合法的方案,将其线段长度按照从大到小排序后,他极差的来源是第一个和最后一个.或者说,读入的线段按照长度分类后, ...

  6. 斜率优化入门题题单$QwQ$

    其实就是这一篇的那个例题帕的大部分题目的题解就写这儿辣,,, 因为都是些基础题不想专门给写题解,,,但是又掌握得差不得不写,,, 麻油办法就写一块儿好辣$QwQ$ 当然辣比较难的我就没放进来辣$QwQ ...

  7. The Annual Summary Of 2019

    Time is flying, it arrives at the end of year again. This is my first year working in PinDuoDuo inc ...

  8. 机器学习回顾篇(13):集成学习之AdaBoost

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  9. 洛谷P1462 通往奥格瑞玛的道路 题解 最短路+二分答案

    题目链接:https://www.luogu.com.cn/problem/P1462 题目大意: 有 \(n\) 个点 \(m\) 条边,每个点有一个点权,每个边有一个边权.求所有长度不超过 \(b ...

  10. 「分块系列」「洛谷P4168 [Violet]」蒲公英 解题报告

    蒲公英 Description 我们把所有的蒲公英看成一个长度为\(n\)的序列(\(a_1,a_2,...a_n\)),其中\(a_i\)为一个正整数,表示第i棵蒲公英的种类的编号. 每次询问一个区 ...