
扩展欧几里得算法
WerKeyTom_FTD
这个作者很懒,什么都没留下…
展开
-
Idiot 的乘幂
题目大意及模型转换给定两个同余方程XA≡B(modP),XC≡D(modP)。X^A \equiv B(mod P),X^C \equiv D(mod P)。求方程小于P的解。其中GCD(A,C)=1,GCD(B,P)=1,GCD(D,P)=1。GCD(A,C)=1,GCD(B,P)=1,GCD(D,P)=1。暴力解法枚举P以内的数代入验证。一种思考这个方程难解,不过我们可以考虑以下方程。 XA≡原创 2015-08-20 10:21:24 · 993 阅读 · 0 评论 -
超级绵羊异或
题目大意求 (a) xor (a + b) xor (a + b * 2) xor … xor (a + b * (n - 1))。题解考虑计算答案第k位是否为1。 对于一个a+bi,判断它第k位是否为1。 那么就是看⌊a+bi2k⌋\lfloor\frac{a+bi}{2^k}\rfloor是否是奇数。 然后发现我们可以写出这样一个式子,判断它的奇偶性。 ∑n−1i=0⌊a+bi2k⌋\s原创 2017-06-16 16:02:20 · 659 阅读 · 0 评论 -
[WerKeyTom_FTD的模拟赛]Sone0
题目描述有一颗n个节点的树,每个节点有编号与权值。有m次操作,每种操作都有独特的编号。 编号为1的操作,会切断当前树上存在的一条边,并新加一条边,保证操作完成后仍然是树。 编号为2的操作,会改变这颗树的根节点(初始根节点为1)。 编号为3的操作,会给树上一条路径上所有点的权值都增加x。 编号为4的操作,会对树上一条路径上点的权值信息进行轮换,如果是对j到k这条路径操作,从j走原创 2017-04-06 09:28:08 · 3333 阅读 · 6 评论 -
[JZOJ3736]数学题
题目大意神题这就是一道论文题,嗯。。 两个向量夹角大于60度,肯定答案会取两个向量模长的较小值。 接下来的变换部分也不是很想自己写 结论2. (a, b)所对应的答案,和(a, b + ka)一致,其中k为整数。 然后就这样做,复杂度不会证,不懂看代码也肯定懂了#include<cstdio>#include<algorithm>#include<cmath>#define f原创 2017-03-21 22:43:57 · 844 阅读 · 0 评论 -
阿凡达
题目大意一个长度为n的序列,初始全0。有两种操作。 1、将[l,r]重新设置A mod B,2A mod B,3A mod B,4A mod B,5A mod B……(r-l+1)A mod B。 2、求[l,r]的和。前置技能我们如何求∑ni=1iA mod B\sum_{i=1}^niA\ mod\ B? 就是求∑ni=1iA−⌊iAB⌋∗B\sum_{i=1}^niA-\lfloor\f原创 2016-11-03 09:40:15 · 349 阅读 · 0 评论 -
公约数
题目大意求n以内多少对a和b满足(a,b)=a xor b结论a=b不可能合法 假设a>b 观察(a,b)<=a-b a xor b>=a-b 于是要符合条件,必须a-b=(a,b)=a xor b=c 那么a/c=b/c+1 枚举b/c,然后检验倍数是否合法。 n log n#include<cstdio> #include<algorithm>#define fo(i,a,b)原创 2016-09-02 21:37:05 · 391 阅读 · 0 评论 -
[bzoj4522][CQOI2016]密钥破解
题目描述快速分解做pollard_rho算法后模拟题意。#include<cstdio>#include<algorithm>#include<cmath>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;ll e,d,n,nn,r,c,a,xx,yy,t,p,q,mo;void gc原创 2016-04-20 12:46:39 · 942 阅读 · 0 评论 -
J友
题目大意你初始在(0,0)。 每个单位时间可以走向任意一个四连通格子。 问时刻n恰好在(x,y)的方案数。 答案模m。组合数取模显然,我们枚举向上走了多少步,就能计算出应该向左/右/下走多少步。 假设分别为p1,p2,p3,p4,那么相当于一个全排列。 由于对组合数取模比较熟悉,所以把全排列公式变成组合数相乘。 Cp1p1+p2+p3+p4∗Cp2p2+p3+p4∗Cp3p3+p4C_{原创 2016-04-06 21:13:44 · 640 阅读 · 0 评论 -
Pow
题目描述定义a^b为a的b次方,并且^是满足右结合的,即a^b^c^d=a^(b^(c^d))。例如,2^3^2=2^(3^2)=2^9=512。 现在给定n个数a1,a2,…,an 求a1^a2^…^an对p取模的值。一个东西我们只需要考虑如何计算ax%pa^x\% p 那么就可以解决这道题。 设d=(a,p),a′=a/d,p′=p/d,ans=ax%pd=(a,p),a'=a/d,p'原创 2016-03-18 14:03:25 · 609 阅读 · 0 评论 -
[bzoj3129][SDOI2013]方程
题目大意现有N个未知数X1..N,已知这N个未知数之和为M。 现有n1个不等式,第i个不等式为Xi<=Fi。 还有n2个不等式,第i个不等式为Xi+n1>=Gi。 求方程的正整数解个数,结果模P。 若P=p1c1∗p2c2∗...∗ptopctopP=p1^{c1}*p2^{c2}*...*ptop^{ctop} 则最大的pici<=105pi^{ci}<=10^5 N,M<=10^9,原创 2015-12-02 20:06:20 · 1561 阅读 · 0 评论 -
reward
题目大意球的个数在0..M中,将球分到N个盒子里,每个盒子可以没有,问方案数,答案模P。 N,M,P<=10^9,将P分成互不互质的数的乘积,且这些数均可表示为质数的幂,最大的数<=10^5。隔板问题我们可以看作将M个球放入N+1个盒子里,由于每个盒子可以没有,所以方案数为CNN+MC_{N+M}^N 考虑该如何进行组合数取模呢?中国剩余定理将P分解成互不互质的数的乘积,且这些数均可表示为质数的原创 2015-11-30 20:14:35 · 1477 阅读 · 0 评论 -
func
题目大意f(1)=1,f(2i)=f(i),f(2i+1)=f(i)+f(i+1)。 求f(m)=n的所有m。考虑如何计算一个f(m),先拆二进制位。 用f0和f1表示后面的位做完用多少进位和不进位。 我们只考虑最后一位是1的也就是奇数,那么初始f0=f1=1。 考虑一位上是1因为f(2i+1)=f(i)+f(i+1),所以我们将它减半后可以选择+1。 那么当一位是1时,如果后面没有进位,原创 2017-08-20 15:56:05 · 635 阅读 · 0 评论