枚举 + exgcd】的更多相关文章

题意:已知xi=(a*xi-1+b) mod 10001,且告诉你x1,x3.........x2*t-1,让你求出其偶数列 思路分析 : 题目所要求的的是对 10001 取余,由模运算的性质可知,a 在经过取模后一定是 0 - 10000 范围内的一个数,那么我们就可以枚举 a 在利用 x2, x3 的式子代入化简,最终得到的式子是类似 exgcd 的,直接求就可以. 代码示例 : #define ll long long const ll maxn = 1e6+5; const ll mod…
A 银河英雄传说 带权并查集 B 贪吃的九头龙 树形dp f[x][j][0] = min(f[x][j][0], min(f[vv][t][0] + tmp[j - t][0] + ww * (m == 2), f[vv][t][1] + tmp[j - t][0])); f[x][j][1] = min(f[x][j][1], min(f[vv][t][1] + tmp[j - t][1] + ww, f[vv][t][0] + tmp[j - t][1])); C 机器人M号 dp + 欧…
卿学姐OJ……很休闲啊……? A 分析:枚举/exgcd B 分析:栈模拟 弄个栈模拟配对过程,将能够配对的()位置染色,最后最长的一段染色区间就是答案 C 分析:dp f[i][j]表示前i个物品,SA-C*SB==j的前提下最小代价,很方便就能转移 卿学姐给的标程是1e9的dp……评测姬挺休闲啊…… D 分析:期望 考虑每个马对答案的贡献,如果第i个马不被淘汰,那么它肯定比1~i-1马速度都要快 又因为马速度两两不同,所以可以用n的排列来表示速度 那么f[i]=C(n,i)*(i-1)!*(…
题目描述 克里特岛以野人群居而著称.岛上有排列成环行的M个山洞.这些山洞顺时针编号为1,2,…,M.岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来. 每个野人i有一个寿命值Li,即生存的年数. 下面四幅图描述了一个有6个山洞,住有三个野人的岛上前四年的情况.三个野人初始的洞穴编号依次为1,2,3:每年要走过的洞穴数依次为3,7,2:寿命值依次为4,3,1. 奇怪的是,虽然野人有很多,但没有任何两个野人在有生之年处在同一个山洞中,使得…
题目大意:有3个整数 x[1], a, b 满足递推式x[i]=(a*x[i-1]+b)mod 10001.由这个递推式计算出了长度为2T的数列,现在要求输入x[1],x[3],......x[2T-1], 输出x[2],x[4]......x[2T]. T<=100,0<=x<=10000. 如果有多种可能的输出,任意输出一个结果即可. 由于a和b都小于等于10000,直接枚举a和b暴力可以过.但是有没有更快的方法呢? 首先令递推式的i=2,那么x[2]=(a*x[1]+b)mod 1…
Description 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数: 3.给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数. Input 输入包含多组数据. 第一行包含两个正整数T,K分别表示数据组数和询问类型(对于一个测试点内的所有数据,询问类型相同). 以下行每行包含三个正整数y,z,p,描述一个询问. Output 对于每个询问,输出一行答案.对…
zky学长实力ACM赛制测试,和 大新闻(YveH) 和 华莱士(hjxcpg) 组队...2h 10T,开始 分工我搞A,大新闻B,华莱士C,于是开搞: 然而第一题巨鬼畜,想了40min发现似乎不可做(人傻),然而BC也在搞...于是开始做第四道: 大约1h10' B题A了..1h30' C题也A了= =: 后来去搞F,公式推得很快,并且很自信是对的..于是筛!搞!,一交 TLE?!,然后意识到 结果可以直接筛,可以省去搞得过程 不虚,改!!然后时间到了...毫无贡献的傻逼一个....可怕.…
题意:有一个随机数生成器  x[i+1]=(a*x[i]+b)%10001 已知  x1,x3,x5...求 x2,x4,x6...... x的个数为 2n (n<=10000) a,b也在 0到10000之间 分析,有 a,b两个未知数,不好解方程,只能通过枚举 比赛的时候想了一下枚举a,b感觉复杂度略大 没敢写(后来据说姿势优美的暴力也能过) 正解是枚举 a,求b 带入x1,x3即可得到一个很简单的exgcd同余方程,对0,10000的每一个a,解出一个b进行验证即可 代码: #includ…
k=1:裸的快速幂k=2:xy=z+kp,直接exgcd,这个可以不用解释了,不懂的同学可以看代码 k=3:裸的BSGS 重点是k=3(BSGS学习)ax=b(mod p)求解这个同余方程只能求gcd(a,p)=1的情况.如何求解?很容易发现解一定位于{0,p-1}之间,设q=ceil(√p),然后x可以表示成cq-d因为ax=b(mod p),所以acq=b*ad(mod p)于是可以这样考虑:枚举d∈[1,q],将值插入哈希表,如有重复的则只记录最大的d,因为本题是求最小解,再枚举c=1..…
Billiard 枚举终点, 对于每一个终点一共有四种周期的相遇方式, 枚举一下取最小的时间. #include<bits/stdc++.h> #define LL long long #define LD long double #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pa…