递推找规律
文章平均质量分 51
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
51Nod 2000 四边方形分割平面
思路:四边形每一个角形 的一个折线的每一个线段必须与之前每一个四边形的角形的两个边分别有一个交点 才能分割出最大数量的平面一个四边方形可以分2块,两个四边方形按照上面的思路可以分成8+2(最里面和最外面)块。第二个方形与第一个有8个交点,所以比一个方形的时候多8个区域,第三个正方形和第一第二个方形分别有8个,一共16个区域,所以 可以得到递推公式:an-an-1=8(n-1)#include<...原创 2018-05-23 15:15:38 · 257 阅读 · 0 评论 -
51Nod 1031骨牌覆盖
这是一个典型的递推计算题。f(0) = 0,没有地方摆骨牌,所以为0;f(1) = 1,只能竖着摆放1个骨牌;f(2) = 2,可以是横着摆放2个骨牌,或者竖着摆放2个骨牌;f(n) = f(n-2) + f(n-1),n>2,可以在f(n-2)的基础上在右边再横着放2个骨牌(竖着放已经在f(n-1)中),也可以在f(n-1)的基础上在右边再竖着1个骨牌。#include<bits/s...原创 2018-05-23 15:42:27 · 183 阅读 · 0 评论 -
UVA 11582
思路:直接暴力肯定会超时,先用快速幂计算出a^b%n的值,因为mod为n时最多有n种余数,而且f[i]由前两项决定,所以周期至多为n*n,当f[i]==f[1]&&f[i-1]==f[0]时可以找到周期。注意:我在每一次进行时用memset初始化f数组结果TLE,去掉后就AC了。。#include<bits/stdc++.h>using namespace std;...原创 2018-06-14 09:45:06 · 437 阅读 · 0 评论 -
HDU 5879(打表)
题意:给出n,计算1/i*i (1<=i<=n)的和,保留5位小数方法:数据很大,用字符串存储,因为1/i^2是收敛的,所以当i无穷大时(这里大约是1000000),收敛到一个值了。#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define ll long longcon...原创 2018-08-14 21:46:50 · 206 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 J(线性筛+找规律)
题意:思路:找到规律,当i为素数时,f[i]=2;当i不是素数时,若i有一个因子的次数是3或以上,那么f[i]=0。再来看线性筛,本质是筛掉最小质因子,如果i不能整除prime[j],那么f[i*prime[j]]=f[i]*2。#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#defin...原创 2018-09-02 23:39:50 · 129 阅读 · 0 评论 -
Codeforces Round #514 (Div. 2) C.Sequence Transformation(找规律)
题意:给定一个数字,找从1到n这n个数字的最大公约数,然后从这n个数字中去掉一个数字,使得去掉之后剩下的n-1个数字的最大公约数能比之前的大,每次都去掉一个数字,使得最大公约数能够最快的上升。思路:列出1到9的答案:1:1,2:12,3:113,4:1124,5:11124,6:111226,7:1111226,8:11112248,9:111112248。排除3,6,7,容易发现,1的个数是...原创 2018-10-07 00:13:10 · 193 阅读 · 0 评论