数论
文章平均质量分 71
BPM136
さよなら 愛しき日び 戾れないのは 僕だけでいいから
展开
-
【数论】idoit的乘幂
诶呀题意就是解X^a=b(mod p)和X^c=d(mod p)的同余方程组,同时gcd(a,c)=1,d,p也互质,b,p互质其实就是把X^1变成X^(ax+cy),然后等于(X^a)^x(X^c)^y就等于b^x*d^y,如果是负数那就变成倒数的形式求一下逆元就好了#include#include#include#include#define inf 1000000000us原创 2015-08-27 14:29:35 · 668 阅读 · 0 评论 -
SDOI2016 R1 day2 T2 排列计数 数论
今年sdoi一改风格全是傻逼题,居然变成了今天的T2答案显然是Cn,m*f【n-m】,f表示错排的答案。显然我们需要计算逆元,错排,和阶乘都预处理出来就艹过去了然而考试的时候傻逼写了cout,T成60暴力分,直接rank10去了/* ***********************************************Author :BPM136Cre原创 2016-04-25 22:25:50 · 645 阅读 · 0 评论 -
SSL2510&BZOJ1706 奶牛接力 矩阵
比较裸的邻接矩阵自乘,但因为是最小长度因此把*改成加#include#include#include#include#include#include#define LL long long#define fo(i,a) for(int i=0;i<a;i++)using namespace std;inline LL read(){ LL d=0,f=1;char s=g原创 2016-03-15 10:24:27 · 404 阅读 · 0 评论 -
vijosP1194 Domino 状压DP+矩阵优化
我们知道邻接矩阵的k次方就是一个从i到j之间允许重复路径的条数然后我们对于这题我们也可以向着这个方向转化先用dfs搜索出所有的状态转移,然后把每一个状态当成一个点,就变成上面的问题了当然最极端的方法自然是推递推公式或者通项公式啦#include#include#include#include#include#include#include#define fo(i,a,原创 2016-03-11 12:14:34 · 530 阅读 · 0 评论 -
hdu2157 how many ways 矩阵
邻接矩阵自乘k次中对应的即为方案数因为乘法原则,所以每次乘都会统计出来这想法不错#include#include#include#include#include#include#define fo(i,a,b) for(int i=a;i<=b;i++)#define down(i,a,b) for(int i=a;i>=b;i--)using namespace st原创 2016-03-11 10:44:39 · 363 阅读 · 0 评论 -
vijos1049送给圣诞夜的礼品 矩阵快速幂
矩阵的结合律所有矩阵都压在一起之后再和ans乘注意好谁乘谁就行#include#include#include#include#include#include#define LL long long#define fo(i,a,b) for(int i=a;i<=b;i++)#define down(i,a,b) for(int i=a;i>=b;i--)using原创 2016-03-10 20:48:31 · 771 阅读 · 0 评论 -
pku3233 Matrix Power Series
差点以为是秦九韶+矩阵的某种优化然而这是不可能的= =我们联想到秦九韶的方法,但是我们不提出来那么多次不就行了!所以我们考虑二分如果k为偶数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2)如果k为奇数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2)原创 2016-03-10 15:57:20 · 567 阅读 · 0 评论 -
bzoj3240 noi2013矩形游戏
作为一个不是很会用矩阵的人QAQQQQQQQQ,我们考虑下构造一下下等比数列,然后用推出来的通项公式解决.......数学渣算了好几次QAQQQQ然而UOJ的hack并没有通过QAQQQQQQQ,并没能发现为什么#include#include#include#include#include#include#define LL long long#define fo(i,a,原创 2016-02-24 21:47:19 · 466 阅读 · 0 评论 -
vijos P1067 守望者的烦恼
预处理然后矩阵加速递推就是预处理的时候还可以以自己作为起点所以还有个自加所以在初始化矩阵的时候我们还需要+1,忽略这点就只有30了= =#include#include#include#include#include#include#define LL long long #define fo(i,a,b) for(int i=a;i<=b;i++)#define down原创 2016-03-10 09:59:17 · 641 阅读 · 0 评论 -
hdu4565 so easy 矩阵
的确和题目描述一样,见过这个类型就so easy了然而无脑的我还是调了一个晚上,就因为写乘法的时候忘记return了然后就写了两个版本的,其实并没有多大不同#include#include#include#include#include#include#define LL long long#define fo(i,a,b) for(int i=a;i<=b;i++)#原创 2016-03-09 21:17:54 · 539 阅读 · 0 评论 -
SSLOJ1531 斐波拉契数列IV
发现以后离开了母校不一定能够上得了题库{因为内网才能上所以以后SSLOJ都贴一下题目:Description求数列f[n]=f[n-2]+f[n-1]+n+1的第N项,其中f[1]=1,f[2]:=1.Input N(1<N<2^31-1)Output第n项结果 mod 9973最开始推了两页纸最终只推出来一条感觉很没用的式子:f[n]=S(n-原创 2016-03-09 17:11:19 · 573 阅读 · 0 评论 -
矩阵及一些数学小技巧的学习笔记(不断补充中)
相信许多OIers和我一样对于数学这一块只是比较基础的高中数学水平,于是窝学习中的一些东西都会被我记录下来以供翻阅首先是数列的特征方程对于一个数列的递推式,我们把它转换成为通项公式中的一些特征就是通过特征方程和特征根得到,特征根即为特征方程的解,同时这个方法也是高中数列问题的必杀技首先对于一阶递推式,把f(n)=af(n-1)+b中的f……都换成x就得到了特征方程,即x=ax+b然后解原创 2016-03-09 11:35:41 · 513 阅读 · 0 评论 -
bzoj1008[HNOI2008]越狱
快速幂练习题m^n-m*(m-1)^(n-1)最开始脑残把n和m开成int完全不知道哪里错了额呜#include#include#include#include#include#include#define LL long long#define fo(i,a,b) for (int i=a;i<=b;i++)using namespace std;LL read(){原创 2015-11-29 11:30:45 · 377 阅读 · 0 评论 -
bzoj2467生成树【中山市选】
嘛,乱搞一番得到4n*5的n-1次方,然后我们再仔细一看,发现n很小但是T有可能很大,于是我们机智的打个表就行(偷了个表)#includeusing namespace std;int anss[]={0,0,40,300,2000,458,741,1981,1285,1458,518,842,1491,1888,1675,1662,836,929,432,1165,850,1452,12原创 2015-08-29 11:06:51 · 673 阅读 · 0 评论 -
【数论】君と彼女の恋
神 「肯定 。美雪 准备了两个 变数 ,记它们为 n和m」神 「找到一个非 空的非负整数序列 S,满足 S的所有元素之和为 n,而且每个元素对 m取模得到的结果都不相同 」神 「这种 序列的个数 ,对神的电话号码取模, 就是 命运的数字 」更加 听不明白 了…… 但是 你能懂的吧。【嗯…… 怎样 的两个序列算是不同的?】神 「只要长度不相同,或者 存在 一位原创 2015-08-27 14:15:55 · 1793 阅读 · 0 评论 -
CQOI2016 密钥破解 pollard-rho
鬼畜的大整数分割算法泼辣的肉,纯属人品优化,然而能跑的飞快。反正很强的一个鬼东西 学习链接已经狗带了,不过网上大把/* ***********************************************Author :BPM136Created Time :2016/4/24 20:41:18File Name :A.cpp***********原创 2016-04-24 22:08:53 · 820 阅读 · 0 评论