- 博客(9)
- 收藏
- 关注
原创 莫比乌斯反演
大佬的莫比乌斯函数定义及证明:https://www.cnblogs.com/qdscwyy/p/8012843.html 推荐题目:HDU1695 GCD【容斥原理】【欧拉函数】 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题目大意: 给你5个整数a、b、c、d、k,在区间[a,b]中选一个数x,在区间[c,d]中选一个数y,使...
2018-07-22 16:23:58
186
转载 dp
1. 资源问题1 -----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k])2. 资源问题2 ------01背包问题 F[I,j]:=max(f[i-1,j-v]+w,f[i-1,j]);3. 线性动态规划1 -----朴素最长非降子序列 F:=max{f[j]+1}4. 剖分问题1 -----石子合并 F...
2018-05-24 21:46:39
1160
原创 矩阵快速幂
大半年后继续学习矩阵快速幂,矩阵快速幂有两大难点,一是找递推式,二是找转移矩阵。今天重点学习了一下如何找转移矩阵,使我想到了《常微分方程》中,把高阶微分方程转化为方程组需要寻找系数矩阵。这两个东西我的理解都比较浅薄,就重点说一下怎么找转移矩阵吧。,简写成T * A(n-1)=A(n),T矩阵就是那个2*2的常数矩阵,而这里就是个矩阵乘法等式左边:1*f(n-1)+1*f(n-2)=f(n);1*f...
2018-05-23 22:28:15
146
原创 Common Subsequence
给出两个字符串a[100],b[100],求两个字符串的最长公共字串。f[i][j]表示以a[i],b[j]为结尾的公共子序列的长度,则状态转移方程为if(a[i]==b[i])f[i][j]=f[i-1][j-1]+1;else f[i][j]=max(f[i-1][j],f[i][j-1]);关键代码: for(int i = 0;i < s2;i++) if(a...
2018-05-22 21:03:13
131
原创 动态规划学习
首先是01背包问题,可以把它看做是一个 表格行和列分别是体积从1,2,,,,v,每个物品的花费c1,c2,,,cn,每个空格里的数代表放入第i个物品在体积为j的背包里的最大价值。dp[j]表示体积为j的背包,放入物品后,可以得到的最大值。状态转移方程为if(j>=c[i]) dp[j]=max(dp[j],dp[j-c[i]]+w[i])。关键代码:for(int i = 0;i < ...
2018-05-20 11:50:29
106
原创 求最大GCD
(一)int GCD(int a, int b){ return b?GCD(b, a%b):a; }(二)/* 迭代法(递推法):欧几里得算法,计算最大公约数 */int gcd(int m, int n){ while(m>0) { int c = n % m; n = m; m = c; } return n...
2018-05-18 19:21:40
555
转载 快速幂
long long modexp(long long a, long long b, int mod){ long long res=1; while(b>0) { //a=a%mod;(有时候n的值太大了会超出long long的储存,所以要先取余) if(b&1)//&位运算:判断二进制最后一位是0还是1,&的运算规则...
2018-05-18 19:12:50
92
转载 博弈
(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那...
2018-05-16 17:41:55
508
原创 第一天
昨天写了一个cf的B题,题意大概就是给三个整数n,a,b和一个长度为n的只包含.和*的字符串,其中.可以放A或者B要求AA不能相连,BB不能相连,问最多能放多少个座位。最开始感觉是一个贪心题,但是好像贪的有点太过了,只是只在刚开始判断了一下a与b的大小,自然就wa了。后来晚上想了想,在每一步都应该判断大小。重点是看当前位置的前一个,如果是*就放多的那个,如果是A只能放B,反之亦然。还有一个细节是,...
2018-04-14 12:17:43
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人