找规律
文章平均质量分 86
cillyb
这个作者很懒,什么都没留下…
展开
-
hdoj 2209 翻纸牌游戏(翻转问题)
从左往右翻,如果当前牌左边为1,此时必须翻牌。一直翻到最后一张,最后判断最后一张是否朝上即可判断是否能成功。但是有个问题,第一张牌前面没牌,可翻也可不翻,分类讨论下即可。代码:#includeusing namespace std;const int INF = 0x3f3f3f3f;char str[25];int len;int solve(int原创 2016-11-01 23:13:14 · 2069 阅读 · 0 评论 -
hdoj 5584 LCM Walk(数学,逆推)
题意:在位置(x, y),可以走到(x+lcm(x, y), y) 或(x, y+lcm(x, y))或者不移动。给定终点位置,求可能的起点位置数。思路:设当前在(x, y)处,下一步可以是(x+lcm(x, y), y)或(x, y+lcm(x, y)). 令gcd(x, y) = k, x = m*k, y = n*k, 则(m*k+m*n*k, n*k)或(m*k, n*原创 2016-11-14 23:46:52 · 506 阅读 · 0 评论 -
Codeforces Round #304 (Div. 2) D. Soldier and Number Game(筛选素因子,前缀和)
题目链接:点击打开链接题意:两个整数a, b。求出a, a - 1, a - 2........b +1这些整数最多能被拆分成多少个数相乘。思路:数量最多,当然都要拆成素数。因为是要查1e6次区间,所以自然能想到前缀和。要计算每个数最多拆成几个素因子,可以筛出来,然后再计算前缀和。记得以前写过筛素因子...结果一时没能想起来...代码:#includeusing na原创 2016-11-18 20:21:19 · 438 阅读 · 0 评论 -
Codeforces Round #118 (Div. 2) C. Plant (找规律)
题目链接:点击打开链接问你第n个大三角形中有几个小三角形是朝上的,每个朝上的小三角形下一年会变成三个朝上一个朝下,每个向下的小三角下年会变成三个朝下一个朝上。我们可以设第i年朝上的是ai个朝下的是bi个,因此可以得到递推式:ai = 3*ai-1 + bi-1, bi = 3*b*-1 + ai-1, 可以看到这个式子很像,两者做差得到ai-bi = 2*(ai-1 - bi-原创 2016-11-19 15:18:32 · 940 阅读 · 0 评论 -
bzoj 1008 越狱(快速幂)
题目地址:点击打开链接思路:越狱的情况比较难计算,可以计算所有情况的总数减去不能越狱的数量就是能越狱的数量。总数:m^n不能越狱的:第一个人有m种情况,第二个人是m-1种,第三个人因为只要左右不同所以也是m-1,所以推出不能越狱的人数是m*(m-1)^(n-1)取模运算:(a + b) % p = (a % p + b % p) % p原创 2017-02-23 23:28:42 · 490 阅读 · 0 评论 -
lightoj 1010 - Knights in Chessboard(找规律)
1010 - Knights in Chessboard PDF (English)StatisticsForumTime Limit: 1 second(s)Memory Limit: 32 MBGiven an m x n chessboard where you want to place c原创 2016-09-26 18:44:47 · 874 阅读 · 0 评论 -
2017 Multi-University Training Contest 10 1002 Array Challenge HDU 6172(找规律 矩阵快速幂)
题意:There’s an array that is generated by following rule.h0=2,h1=3,h2=6,hn=4hn−1+17hn−2−12hn−3−16And let us define two arrays bnandan as below.bn=3hn+1hn+9hn+1hn−1+9h2n+27hnhn−1−18hn+1−126hn−81原创 2017-08-24 21:56:57 · 558 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E.Maximum Flow(找规律?)
题意:现在有n个点,编号为0至n-1, 满足i思路:n这么大。。上来就先打个表看下规律吧,结果发现每项与上一项的差值有个规律,相邻2^k的差值为2^(k+1)+1,简单来说就是每个差值(2^(k+1)+1)都从一个位置开始,每隔一定距离出现一次,一个位置同时可能是多个数的话取最大的那个。可以看看表:知道了这个规律,统计下每种差值在1-n内他出现的次数,最后求和下就行原创 2017-09-16 18:20:16 · 1235 阅读 · 0 评论