--------整除性
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj4744 同余
线段树套分块/主席树!我们考虑到ai,p,q比较小(若p较大,则kp+q的数量就比较少,可以暴力枚举若p较小,可以预处理,令g[i][j]表示膜i余j的数的个数我们取这个界为sqrt(maxp)=100将询问放到每个节点上,依次处理处[1,i]的答案最后ans(l,r)=ans(r)-ans(l-1)即可#pragma GCC optimize("O3")#pragm原创 2017-10-23 19:28:56 · 385 阅读 · 0 评论 -
Jzoj5421 嘟嘟噜
由于众所周知的原因, 冈部一直欠真由理一串香蕉.为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉:一开始有n 个人围成一个圈, 从1 开始顺时针报数, 报出m 的人被机关处决. 然后下一个人再从1 开始报数, 直到只剩下一个人.红莉栖: “这不就是约瑟夫问题吗...”伦太郎: “助手你给我闭嘴!”真由理虽然已经晕头转向了, 但听到有一车的香蕉, 两眼便放出了光芒.约瑟夫...原创 2017-11-07 16:37:06 · 400 阅读 · 0 评论 -
Jzoj3020 最多的约数
WZK是个数学狂热爱好者。最近他又想出了一道题目来考大家。题目很简单,给定一个正整数n,对于所有不超过n的正整数,找到包含约数最多的一个数。如果有多个这样的数,那么回答最小的那个。直接dfs即可,注意两个地方要优化:1.按照素数表的顺序递增枚举 2.每个数的幂次递减,按照贪心原则就可以知道#include#define L long longint w[500000],t;boo原创 2017-12-21 17:16:05 · 441 阅读 · 0 评论 -
Jzoj4757 树上摩托
Sherco是一位经验丰富的魔♂法师。Sherco在第零次圣杯战争中取得了胜利,并取得了王之宝藏——王の树。他想把这棵树砍去任意条边,拆成若干棵新树,并装饰在他的摩托上,让他的摩托更加酷炫。但Sherco认为,这样生成的树不具有美感,于是Sherco想让每棵新树的节点数相同。他想知道有多少种方法分割这棵树。首先一个很显然的结论是,每块的大小一定是n的约数,对于一种块的大小,原创 2017-11-23 22:08:21 · 445 阅读 · 0 评论 -
Jzoj4906 组合数问题
题意:noip2016d2t1我们考虑将每个数字质因数分解来做即可线性筛求出所有2000以内的质数让后直接暴力分解即可,计算C(i,j)是否为k的倍数,最后加上前缀和#include#includeint w[500],c=0,n,m,t,k,pr[2010]={0};int l[2010],f[2010][10][2];int s[2010][2010],S[2010][原创 2017-11-14 21:30:38 · 286 阅读 · 0 评论 -
Jzoj4922 环
小A有一个环,环上有n个正整数。他有特殊的能力,能将环切成k段,每段包含一个或者多个数字。对于一个切分方案,小A将以如下方式计算优美程度:首先对于每一段,求出他们的数字和。然后对于每段的和,求出他们的最大公约数,即为优美程度。他想通过合理地使用他的特殊能力,使得切分方案的优美程度最大。对于100%的数据,n令s=Σai那么显然,优美程度必然为s的因数这样我们可以枚举s的所有原创 2017-11-14 21:20:26 · 283 阅读 · 0 评论 -
Jzoj4900 平方数
noip爆炸啦,继续写jzoj的题吧一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(perfect square),也称平方数。小A认为所有的平方数都是很perfect的~于是他给了小B一个任务:用任意个不大于n的不同的正整数相乘得到完全平方数,并且小A希望这个平方数越大越好。请你帮助小B告诉小A满足题意的最大的完全平方数。由于答案可以很大, 所以原创 2017-11-12 20:36:54 · 393 阅读 · 0 评论 -
一些基础算法的模板(持续更新)
更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin原创 2017-10-25 22:05:58 · 3734 阅读 · 0 评论 -
Jzoj5445【NOIP2017提高A组冲刺11.2】失格
胆小鬼连幸福都会害怕,碰到棉花都会受伤,有时还被幸福所伤。——太宰治《人间失格》 回顾我的一生,一共有n个事件,每一个事件有一个幸福值p_i。我想用n-1条线把所有的事件连起来,变成一个连通块。一条连接了事件x和事件y的线会产生min(p_x mod p_y,p_y mod p_x)的喜悦值。日日重复同样的事,遵循着与昨日相同的惯例,若能避开猛烈的狂喜,自然也不会有悲痛的来原创 2017-11-02 20:09:23 · 389 阅读 · 0 评论 -
Jzoj4792 整除
给你一个1~n的排列A,询问一些区间内有多少对x,y使得A[x]|A[y]我们考虑将所有的询问按照r排序,让后分成两部分计算:1.A[i]|A[j] 且i>j2.A[i]|A[j] 且i这里只考虑第一种,第二种将所有询问对称翻转即可我们建立一个树状数组,我们令i=1~n每次将考虑A[i]的倍数,若kA[i]的位置j在i之前,我们就在树状数组中把s[j]+1那么显然,对于原创 2017-10-26 21:14:19 · 369 阅读 · 0 评论 -
Jzoj4307 喝喝喝
显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l#include#include#include#define INF 0x7f7f7f7fusing namespace std;int n,原创 2017-10-06 07:47:01 · 641 阅读 · 0 评论 -
Jzoj4458 密钥破解——Pollard-rho
此题非常新颖,有一个专门的算法,所以如果没有了解过,那么就只能写暴力卡了这道题后面的几步都很简单,一个扩展gcd求逆元,一个快速幂,所以关键就是求r,而这需要对N=pq进行分解本来这个问题在是一个NP问题,不存在多项式算法(这里的多项式指的是lgN形式的式子,因为N通常有10^100以上的级别)但是这里不需要写高精度所以N最大就是10^18介绍一下这个问题的专门算法Pollard-原创 2017-10-06 21:40:56 · 401 阅读 · 0 评论 -
Jzoj3093 合唱队形
这个题就是中国剩余定理了,这里介绍一种用扩展gcd的方法(本质上二者没有区别)我们来考虑两个同余方程 X=A(MOD M1) 和 X=B(MOD M2)我们可以将其变形成为求一个方程 M1x+M2y=(B-A)是否有解,这里用扩展gcd即可如果没有显然直接退出,如果有,那么令A'=x*M1+A,M'=M1*M2/gcd(M1,M2)那么我们就将这两个方程X=A(MOD M1) 和 X=B(MOD M2)合并成了一个方程 X=A'(MOD M')为什么这样是对的呢?原创 2017-09-25 14:59:55 · 395 阅读 · 0 评论 -
Jzoj1460 无题noname
给定一个N,求出所有1到N之间的x,使得x^2=1(mod N)。将这个式子变形(x-1)(x+1)=0(MOD P) ,那么就可以枚举P的每一对因数(a,b),我们把方程化为ax*by=P*T(T为任意常数)那么这里ax,by必须满足ax-by=2,这个可以用扩展gcd求解求出x,y后,我们将所有形如a*(x*(2/gcd)+k*(b/r))的解加入vector并排序输出(注原创 2017-09-20 19:34:15 · 307 阅读 · 0 评论 -
Jzoj1158荒岛野人
正解:同余方程对于每对野人i,j,解方程(p[i]-p[j])=c[j]-c[i](mod Answer) 若在min(l[i],l[j])以内有解则不行(++ANS)否则可以#include#includeusing namespace std;int c[20],p[20],l[20],n,M;int extgcd(int a,int b,int& x,int& y){原创 2017-09-19 18:47:19 · 580 阅读 · 0 评论 -
51Nod1037 最长的循环节 V2
题目看这里 小学奥数题目23333 首先我们知道,0.0˙0...001˙=1/99..90.0˙0...001˙=1/99..90.\dot00...00\dot{1}=1/99..9 那么任意一个循环小数都可以写成以10k−110k−110^k-1为分母的分数 让后稍加分析就知道,满足条件的最小的k就是循环节的长度 那么题目就变成了求一个数s,使得满足10k=1 ...原创 2018-07-28 23:17:17 · 389 阅读 · 0 评论