
快速幂
v5zsq
新的一天,新的不会
展开
-
Newcoder 18 F.Course(数论+矩阵快速幂)
DescriptionAriaAriaAria正面临算设课程的考试。设F(n)=∏i=1ni!F(n)=\prod\limits_{i=1}^ni!F(n)=i=1∏ni!对于给定的n,mn,mn,m(其中nnn为质数),求F(nm)F(n^m)F(nm)中质因子nnn的出现次数,即求一个最大的非负整数eee满足nen^ene整除F(nm)F(n^m)F(nm)。由于是算设课的考试,答案...原创 2018-10-31 15:10:42 · 383 阅读 · 0 评论 -
CodeForces 60 E.Mushroom Gnomes(矩阵快速幂)
Description给出nn个有序的整数aia_i,前xx秒,每秒相邻两个数之间会多一个数,其值为这两个数的和,之后把所有数字排序,最后yy秒依旧是两个数之间多一个这两个数的和,问最后得到的所有数字之和Input第一行输入四个整数n,x,y,pn,x,y,p,之后输入不减的nn个整数aia_i(1≤n≤106,0≤x,y≤1018,x+y>0,2≤p≤109,0≤ai≤109)(原创 2017-12-23 21:30:19 · 432 阅读 · 0 评论 -
BZOJ 4589 Hard Nim(博弈论+FWT+快速幂)
DescriptionClarisClaris和NanoApeNanoApe在玩石子游戏,他们有nn堆石子,规则如下:11. ClarisClaris和NanoApeNanoApe两个人轮流拿石子,ClarisClaris先拿。22.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后11颗石子的人获胜。不同的初始局面,决定了最终的获胜者,有些局面下先拿的ClarisClaris会赢,其余原创 2017-12-22 21:15:54 · 704 阅读 · 0 评论 -
HDU 6145 Arithmetic of Bomb II(数学+矩阵快速幂)
Description众所周知,度度熊非常喜欢数字。它最近在学习小学算术,沉迷于计算A+B中不能自拔。但是这回的算术题可并不简单,由于含有表示bomb的#号,度度熊称之为 Arithmetic of Bomb。Arithmetic of Bomb的目的与普通算术一样,就是计算一些Bomb Expression的结果。比如,”1-2+3”的结果为2。然而,bomb,也就是#号,会展开一些普通表达式,这原创 2017-10-02 15:31:52 · 896 阅读 · 0 评论 -
HDU 6137 Engineering of the Clones(快速幂+NTT)
Description给出一正整数AA的质因子分解形式A=pr11Pr22...prnnA=p_1^{r_1}P_2^{r_2}...p_n^{r_n},其中|ri−rj|≤1|r_i-r_j|\le1,问1A−1\frac{1}{A-1}在∏i=1npi\prod\limits_{i=1}^np_i进制下小数点后第kk位的值Input首先输入一整数TT表示用例组数,每组用例首先输入两整数nn和kk原创 2017-09-25 20:14:23 · 458 阅读 · 0 评论 -
CodeForces 392 C.Yet Another Number Sequence(矩阵快速幂)
Description定义F1=1,F2=2,Fi=Fi−1+Fi−2(i≥3)F_{1}=1,F_{2}=2,F_{i}=F_{i-1}+F_{i-2}(i\ge 3)定义Ai(k)=Fi⋅ik(i≥1)A_{i}(k)=F_{i}\cdot i^k(i\ge 1)求A1(k)+A2(k)+...+An(k)A_{1}(k)+A_{2}(k)+...+A_{n}(k),结果模109+710^9+7原创 2017-08-29 15:40:30 · 626 阅读 · 0 评论 -
CodeForces 453 A.Little Pony and Expected Maximum(快速幂)
Description掷一个mm面的骰子(设mm个面上的点数分别是1,2,...,m1,2,...,m,且掷到每一个面的概率相同均为1m\frac{1}{m})nn次,问nn次中最大点数的期望值Input两个整数mm和nn (1≤m,n≤105)(1\leq m,n\leq 10^5)Output输出问nn次中最大点数的期望值,结果与精确值的绝对误差和相对误差均需小于10−410^{-4}Sampl原创 2017-08-28 22:57:00 · 535 阅读 · 0 评论 -
CodeForces 551 D.GukiZ and Binary Operations(dp+矩阵快速幂)
Description Input 四个整数n,k,l,m (2<=n<=1e18,0<=k<=1e18,0<=l<=64,1<=m<=1e9+7) Output 输出满足条件的序列a个数,结果模m Sample Input 2 1 2 10 Sample Output 3 Solution Code#include<cstdio>#include<cstring>u原创 2017-08-08 10:36:53 · 408 阅读 · 0 评论 -
CodeForces 327 C.Magic Five(快速幂)
Description 给一个字符串s,重复k次,要求去掉其中若干数时候使得该数可以被5整除,允许删除后有前置0存在,求方案数 Input 第一行一个数字串s,第二行一整数k表示重复次数(1<=|s|<=1e5,1<=k<=1e9) Output 输出方案数,结果模1e9+7 Sample Input 1256 1 Sample Output 4 Solution Cod原创 2017-08-08 10:18:21 · 478 阅读 · 0 评论 -
CodeForces 385 E.Bear in the Field(dp+矩阵快速幂)
Description 一块n*n的草莓田,第i行第j列有i+j丛草莓,每秒每块田里的草莓丛数加一,一只熊初始在(sx,sy)处,初始速度为(dx,dy),熊吃了当前位置的草莓,假设有k丛,那么其速度会变成(dx+k,dy+k),熊当前在(x,y)则下一步会走到((x-1+dx)%n+1,(y-1+dy)%n+1),问t秒后熊的位置 Input 六个整数n,sx,sy,dx,dy,t (1原创 2017-08-08 09:53:20 · 404 阅读 · 0 评论 -
POJ 3233 Matrix Power Series(矩阵快速幂+二分)
Description 给出一个n*n矩阵,求矩阵S=A+A^2+A^3+…+A^k(mod m) Input 第一行包括三个整数n,m,k,之后为一n*n矩阵 Output 输出S Sample Input 2 2 4 0 1 1 1 Sample Output 1 2 2 3 Solution1 令,所以只要构造一个2n*2n的矩阵B,然后用矩阵快速幂算出B^(n+1原创 2015-09-02 12:49:58 · 851 阅读 · 0 评论 -
UVA 10006 Carmichael Numbers(数论+快速幂)
Description 一个非素数n,如果对于任意2<=a<=n-1的a都有a^n mod n =a,则称n是一个卡迈克尔数,给出一整数n,判断其是否是卡迈克尔数 Input 多组用例,每组用例输入一整数n,以n=0结束输入(2 < n < 65000) Output 如果n是卡迈克尔数则输出“The number n is a Carmichael number.”,否则输出“n is原创 2017-07-17 20:20:02 · 761 阅读 · 0 评论 -
CodeForces 107 D.Crime Management(状压DP+矩阵快速幂)
Description要求用2626个大写字母构造一个长度为nn的字符串,使得其满足mm个限制条件,每个限制条件要求某个字符出现次数必须是某个数的倍数,问满足条件的字符串个数Input第一行两个整数n,mn,m表示字符串长度和限制数,之后mm行每行输入一字符cc和一整数numnum表示字符串中cc字符出现次数必须是numnum的倍数(0≤n≤1018,0≤m≤1000)(0\le n\le 10^{原创 2017-12-30 19:55:17 · 472 阅读 · 0 评论 -
CodeForces 623 E.Transforming Sequence(dp+FFT+快速幂)
Description用[1,2k−1][1,2^k-1]之间的整数构造一个长度为nn的序列a1,...,ana_1,...,a_n,令bi=a1|a2|...|ai,1≤i≤nb_i=a_1|a_2|...|a_i,1\le i\le n,问使得bb序列严格递增的方案数Input两个整数n,k(1≤n≤1018,1≤k≤30000)n,k(1\le n\le 10^{18},1\le原创 2018-01-12 21:27:49 · 1073 阅读 · 3 评论 -
HDU 6442 GuGu Convolution(快速幂)
Description给出两个整数A,BA,BA,B,定义序列f(x)=∑i=0∞Aii!xif(x)=\sum\limits_{i=0}^{\infty}\frac{A^i}{i!}x^if(x)=i=0∑∞i!Aixi,g(x)=∑i=0∞(B)2i+1(2i+1)!x2i+1g(x)=\sum\limits_{i=0}^{\infty}\frac{(\sqrt{B})^{2i+1}}{...原创 2018-09-30 10:36:53 · 539 阅读 · 0 评论 -
HDU 6395 Sequence(数论+矩阵快速幂)
Description定义序列F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋F_1=A,F_2=B,F_n=C\cdot F_{n-2}+D\cdot F_{n-1}+\lfloor\frac{P}{n}\rfloor,求FnFnF_nInput第一行一整数TTT表示用例组数,每组用例输入六个整数A,B,C,...原创 2018-09-10 13:26:08 · 258 阅读 · 0 评论 -
HDU 5895 Mathematician QSC(中国剩余定理+欧拉函数+指数循环定理+矩阵快速幂)
Description定义f0=0,f1=1,fn=2⋅fn−1+fn−2,n>1,gn=∑i=0nf2if0=0,f1=1,fn=2⋅fn−1+fn−2,n>1,gn=∑i=0nfi2f_0=0,f_1=1,f_n=2\cdot f_{n-1}+f_{n-2},n>1,g_n=\sum\limits_{i=0}^nf_i^2给出n,y,x,sn,y,x,sn,y,x,s,求x...原创 2018-04-05 13:17:01 · 501 阅读 · 1 评论 -
POJ 3641 Pseudoprime numbers(数论+快速幂)
Description如果ppp不是素数且ap≡a(mod p)ap≡a(mod p)a^p\equiv a(mod\ p)则称ppp是a−a−a-伪素数,给出p,ap,ap,a,判断ppp是否为a−a−a-伪素数Input多组用例,每组用例输入两个整数p,ap,ap,a,以0 00 00\ 0结束输入(2≤p≤109,1<a<p)(...原创 2018-04-03 09:53:40 · 249 阅读 · 0 评论 -
BZOJ 1009 GT考试(dp+矩阵快速幂)
Description阿申准备报名参加GTGTGT考试,准考证号为NNN位数X1X2....Xn(0≤Xi≤9)X1X2....Xn(0≤Xi≤9)X1X2....Xn(0\le Xi\le 9),他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2...Am(0≤Ai≤9)A1A2...Am(0≤Ai≤9)A1A2...Am(0\le Ai\le 9)有MMM位,不出现是指X1X2.....原创 2018-03-25 21:34:16 · 329 阅读 · 0 评论 -
HDU 6198 number number number(矩阵快速幂)
Description问不能由kkk个斐波那契数组成的最小正整数Input多组用例,每组用例输入一整数k(1≤k≤109)k(1≤k≤109)k(1\le k\le 10^9)Output对于每组用例,输出答案,结果模998244353998244353998244353Sample Input1Sample Output4Solutionk=1k=1k...原创 2018-02-14 14:24:08 · 311 阅读 · 0 评论 -
HDU 6185 Covering(dp+矩阵快速幂)
Description用1×21×21\times 2和2×12×12\times 1的砖块铺满4×n4×n4\times n的区域,问方案数Input多组用例,每组用例输入一整数n(1≤n≤1018)n(1≤n≤1018)n(1\le n\le 10^{18})Output对于每组用例,输出方案数,结果模109+7109+710^9+7Sample Input1 2...原创 2018-02-14 10:46:00 · 469 阅读 · 0 评论 -
HDU 6172 Array Challenge(矩阵快速幂)
Descriptionh0=2,h1=3,h2=6,hn=4hn−1+17hn−2−12hn−3−16h0=2,h1=3,h2=6,hn=4hn−1+17hn−2−12hn−3−16h_0=2,h_1=3,h_2=6,h_n=4h_{n-1}+17h_{n-2}-12h_{n-3}-16bn=3hn+1hn+9hn+1hn−1+9h2n+27hnhn−1−18hn+1−126hn−81hn...原创 2018-02-12 16:53:56 · 365 阅读 · 0 评论 -
CodeForces 93 D.Flags(dp+矩阵快速幂)
Description问只由R,B,W,YR,B,W,Y组成的长度介于[L,R][L,R]的字符串且满足以下四个条件的字符串数量11.相邻两个字符不同22.WW和YY不能相邻,RR和BB不能相邻33.不能出现连续三个字符是BWRBWR,反过来也不行44.两个字符串互为反序视做同一个Input输入两个整数L,R(1≤L≤R≤109)L,R(1\le L\le R\le 10^9)Output输出长度介原创 2017-12-30 11:47:02 · 438 阅读 · 0 评论 -
CodeForces 696 C.PLEASE(dp+矩阵快速幂)
Description三个杯子,中间一个杯子初始状态有硬币,每一轮会等概率把中间的杯子和两边的杯子之一交换,问nn轮后硬币还在中间杯子的概率,输出答案的最简分数表示p/qp/q,p,qp,q模109+710^9+7后输出 Input第一行一整数kk,之后输入kk个整数a1,a2,...,aka_1,a_2,...,a_k表示n=∏i=1kai(1≤k≤105,1≤ai≤1018)n=\原创 2018-01-13 20:49:56 · 439 阅读 · 0 评论 -
CodeForces 632 E.Thief in a Shop(生成函数+FFT+快速幂)
Descriptionnn种物品,第ii种物品价值为aia_i,每种物品数量无限,拿kk件物品,问可能的价值和Input第一行两个整数n,kn,k,之后输入nn个整数aia_i表示第ii件物品的价值(1≤n,k,ai≤1000)(1\le n,k,a_i\le 1000)Output输出拿kk件物品所有可能的的价值和Sample Input3 2 1 2 3Sam原创 2018-01-13 19:47:10 · 677 阅读 · 0 评论 -
HDU 6050 Funny Function(快速幂)
Description 函数F(x,y)满足: 给出n,m,求F(m,1)%1e9+7 Input 第一行一整数T表示用例组数,每组用例输入两个整数n,m (1<=T<=1e4,1<=n,m < 2^63) Output 对于每组用例,输出F(m,1)%1e9+7 Sample Input 2 2 2 3 3 Sample Output 2 33 Solution原创 2017-07-30 12:08:46 · 537 阅读 · 0 评论 -
CodeForces 575 A.Fibonotci(矩阵快速幂+线段树)
Description F[0]=0,F[1]=1,F[n]=s[n-2]*F[n-2]+s[n-1]*F[n-1],n>=2,s序列是一个循环节为n的序列,但是有m个s[i]的值不等于s[i%n] (i>=n),求F[K]%p Input 第一行两个整数K和p表示求F[K]%p的值,然后输入一整数n表示s序列循环节,之后输入n个整数表示s[0]~s[n-1],再输入一整数m表示s序列中m个奇原创 2017-07-17 09:11:09 · 478 阅读 · 0 评论 -
HDU 5667 Sequence(数论+矩阵快速幂)
Description 已知数列f(n)的递推公式如下: 现给出n,a,b,c,p,求f(n)%p Input 第一行为一整数T表示用例组数,每组用例占一行包括五个整数n,a,b,c,p (1≤T≤10,1≤n≤10^18,1≤a,b,c≤10^9,p是素数且p≤10^9+7) Output 对于每组用例,输出f(n)%p Sample Input 1 5 3 3 3 233原创 2016-05-03 10:30:56 · 652 阅读 · 0 评论 -
SGU 117 Counting(快速幂)
Description 给出三个整数n,m,k,以及n个数a[i],问这n个数中有多少个数满足a[i]^m%k=0 Input 第一行三个整数n,m,k,第二行n个整数a[i] (1<=n,m,k,a[i]<=10000) Output 输出n个数中满足a[i]^m%k=0的数的数量 Sample Input 4 2 50 9 10 11 12 Sample Output 1原创 2016-04-14 19:19:37 · 475 阅读 · 0 评论 -
CodeForces 630 B. Moore's Law(快速幂)
Description 给出一整数n,n每秒变为原来的1.000000011倍,问t秒后n的值 Input 两个整数n和t (10^3<=n<=10^4,0<=t<=2*10^9) Output 输出t秒后n的值,要求结果与精确值的相对误差不超过1e-6 Sample Input 1000 1000000 Sample Output 1011.060722383550382782原创 2016-02-21 09:40:50 · 584 阅读 · 0 评论 -
CodeForces 584 B.Kolya and Tanya(快速幂)
Description 有3*n个人围坐一个圆桌,第i个人手中有a[i]个硬币(1<=ai<=3),问a数组有多少种情况使得存在i,都有a[i]+a[i+n]+a[i+2n]≠6(0<=i < n) Input 一个整数n Output 输出满足条件的情况数,结果模1e9+7 Sample Input 1 Sample Output 20 Solutio...原创 2015-10-10 09:42:29 · 818 阅读 · 0 评论 -
HDU 1097 A hard puzzle(快速幂)
Description 给出两个整数a和b,求a^b的个位 Input 多组输入,每组用例占一行包括两个整数a和b,以文件尾结束输入 Output 对于每组用例,输出a^b的个位 Sample Input 7 66 8 800 Sample Output 9 6 Solution 问题转化为求a^b(mod 10),简单快速幂 Code#include#inc原创 2015-09-05 23:13:45 · 405 阅读 · 0 评论 -
HDU 2604 Queuing(dp+矩阵快速幂)
Description l个人排队,f表示女,m表示男,包含子串‘fmf’和‘fff’的序列为O队列,否则为E队列,有多少个序列为E队列,结果模m Input 多组输入,每组用例占一行包括两个整数l和m分别表示队列长度和模数,以文件尾结束输入 Output 对于每组用例,输出E队列的数量(结果模m) Sample Input 3 8 4 7 4 8 Sample Output原创 2015-09-02 14:11:43 · 626 阅读 · 0 评论 -
POJ 3070 Fibonacci(矩阵快速幂)
Description 已知, 求Fn (mod 10000) Input 多组输入,每组用例占一行为一整数n,以n=-1结束输入 Output 对于每组用例,输出Fn(mod 10000) Sample Input 0 9 999999999 1000000000 -1 Sample Output 0 34 626 6875 Solution 矩阵快速幂裸题原创 2015-09-02 12:39:28 · 607 阅读 · 0 评论 -
HDU 1061 Rightmost Digit(快速幂)
Description 给出一正整数n,输出n^n的个位 Input 第一行为用例组数T,每组用例占一行为一整数n Output 对每组用例,输出n^n的个位 Sample Input 2 3 4 Sample Output 7 6 Solution 相当于求n^n(mod 10),用快速幂即可 Code#include#includeusing name原创 2015-09-04 08:32:09 · 460 阅读 · 0 评论 -
POJ 1995 Raising Modulo Numbers(快速幂)
Description 给出A1,…,AH,B1,…,BH以及M,求(A1^B1+A2^B2+ … +AH^BH)mod M. Input 第一行为用例组数T,每组用例第一行为一个整数M,第二行为一个整数H,之后H行每行两个整数Ai和Bi Output 输出给出公式的值 Sample Input 3 16 4 2 3 3 4 4 5 5 6 36123 1 2374原创 2015-09-09 08:52:24 · 658 阅读 · 0 评论 -
POJ 3735 Training little cats(矩阵快速幂)
Description 有n只猫,开始时每只猫都没有花生,三种操作 g x:给第x只猫一个花生 e x:第x只猫把它所拥有的花生都吃完 s x y:第x只猫与第y只猫交换所拥有的所有花生 现在给出k中操作以及循环数m,问在进行了m次这k次操作后每只猫分别有多少个花生 Input 多组输入u,每组用例第一行为三个整数n,m,k分别表示猫数,操作循环数以及操作数,之后k行每行一个操作,以原创 2015-09-02 13:02:33 · 533 阅读 · 0 评论 -
POJ 3150 Cellular Automaton(矩阵快速幂)
Description 给出一个n个元素组成的环状序列,现在对这个序列进行k次同样的操作,每次操作,从第一个元素开始到最后一个元素结束,将每个元素的值更新为这个元素周围d范围内所有元素(2*d+1个)的和模m后的值,输出操作完后的序列 Input 第一行为四个整数n,m,d,k,第二行为n个整数表示这个环状序列 Output 输出操作完后的序列 Sample Input sample原创 2015-09-02 13:37:36 · 643 阅读 · 0 评论 -
HDU 5015 233 Matrix(矩阵快速幂)
Description 一个(n+1)*(m+1)的矩阵a,a[0][0]=0,a[0][1]=233,a[0][2]=2333,…,a[i][j]=a[i-1][j]+a[i]j-1,现输入a[1][0],…,a[m][0],求a[n][m](mod 10000007) Input 多组用例,每组用例第一行为两个整数n和m,之后为m个数表示a[1][0],…,a[m][0],以文件尾结束输入原创 2016-03-02 09:17:28 · 701 阅读 · 2 评论 -
HDU 5607 graph(概率DP+矩阵快速幂)
Description 在一个N个点(标号1~n),M条边的有向图上,一开始我在点u,每一步我会在当前点的出边中等概率的选一条走过去,求走了恰好K步后走到每个点的概率. Input 第一行两个正整数N,M表示点数和边数. 接下来M行,每行两个正整数X,Y表示一条X向Y的一条有向边(保证没有重边和自环). 接下来一个正整数Q,表示询问个数. 接下来Q行,每行两个正整数u,K表示开始的点和原创 2016-08-04 09:11:25 · 579 阅读 · 0 评论