HDU2604_Queuing_串的递推式
摘要:/**State: 2604 140MS 252K 2286 B C++*题目大意:* 给一个长度为l的串,串中只有m跟f两种字符,可以组成2^l种,求* 不含fmf跟fff的数量。*解题思路:* 这种题目一看就是求递推式的。递推式的求导过程值得体会,想象一下。* f(l)代表长度为l的满足条件的串的个数,如果结尾为m的话,数量为f(l-1),* 如果结尾为f的话,那么前面只能是mf跟mm,mm可以由f(l-3)得来,而考虑* mf要考虑到mf的前面不能是f,否则就造成fmf不满足了。...
阅读全文
posted @
2012-08-04 00:20
cchun
阅读(227)
推荐(0)
HDU3117_Fibonacci_Numbers_fib前四位跟后四位
摘要:/**State: 3117 0MS 424K 1028 B C++*题目大意:* 求出第nth个fib数,要求大于8位的只输出前4位跟后4位。*解题思路:* 后四位可以用矩阵快速幂来求,但是根据模的特性,发现原来* 周期15000fib又会回来。所以可以用数组来保存这个循环节即可。* 而前四位可以用log10.来计算,原来就是每一个数都可以用科学* 计数法来表示,我们用log10来取出每一个数科学计数法的那几个* 决定位权数的值,然后要n位就乘以10^n.不过要注意精度问题哦。*/Vi...
阅读全文
posted @
2012-08-03 11:27
cchun
阅读(441)
推荐(0)
HDU2256_Problem of Precision_矩阵巧妙解特定高精度
摘要:/**State: 2256 0MS 260K 2351 B C++*题目大意:* 求(sqrt(2) + sqrt(3))^2n取下界之后mod1024* (1 <= n <= 10^9)。*解题思路:* 看到了n那么大,肯定是二分求幂,但是精度是个* 问题。可以(sqrt(2) + sqrt(3))^2n = (5 + 2sqrt(6))^n* 然后令5+2sqrt(6)^n = an + bn * sqrt(6)* = (5 + 2sqrt(6...
阅读全文
posted @
2012-08-03 01:34
cchun
阅读(186)
推荐(0)
HDU3519_Lucky Coins Sequence_推公式_矩阵加速
摘要:这道题真好,体现了思想的灵活性。要3个连续状态以上嘛,好,那我就求出只有1~2个状态的数量,最后总数减去即可。美妙,完结。/**State: 3519 0MS 256K 2354 B *题目大意:* 给定n个硬币,硬币有两种状态0或1,可以翻转,总共有2^n种* 状态,规定如果有连续3个硬币的状态一样,即是特殊串。要求* 特殊串的个数。*解题思路:* 已知总数目,那么可以用相反的思想求出该串状态不含有3个* 连续一样的数目,然后用总数去减。* 长度为 n 的 01 串一共有 2^n...
阅读全文
posted @
2012-08-02 10:54
cchun
阅读(250)
推荐(0)
HDU2971_Tower_求递推式累加
摘要:这道题目够囧,表示公式推了大半天,有一个弯比较难想到。最后推出了公式,代码实现我是实现得一团糟,出现了几个wa,不过最终被我排查出来了,开心~/**State:*题目大意:* 先假设a2 = t, 题目给定了递推关系:An = 2 * t * An-1 - An-2 (n > 2),* 初值A1 = 1, A2 = t;题目要求Sn = An ^ 2 + An-1 ^ 2 + ... + A1 ^ 2。*解题思路:* Sn = An ^ 2 + Sn-1由这个,找出技巧(要推二次)* 化出:* Sn = 4*k^2S...
阅读全文
posted @
2012-08-02 10:52
cchun
阅读(290)
推荐(0)
HDU2276_Kiki Little Kiki2_开关灯(构造矩阵)
摘要:一道好题,想不出为什么是矩阵,不过关键是我没有马上意识到mod2吧。/**State: 2276 46MS 528K 2110 B C++*题目大意:* 有n盏灯,0表示不亮,1表示亮,如果 i-th的灯的左边灯是亮的,那么下一秒钟,* i-th灯的状态要改变,0变成1,1变成0。问你在第t秒时,灯的状态时什么样的,输出来。*解题思路:* 00-->0,01-->1,10-->1,11-->0;* 所以有a1 = (a1+an)%2,a2 = (a1+a2)%2,a3 = (a2+a3)%2,……an = (an+...
阅读全文
posted @
2012-08-02 10:49
cchun
阅读(314)
推荐(0)
HDU1575 && HDU1757(矩阵入门)
摘要:HDU1575_矩阵的入门题目,比较基础。/**State: 1575 0MS 256K 1916 B C++*题目大意:* A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),* 现要求Tr(A^k)%9973。*解题思路:* 普通矩阵计算即可。*解题感想:* 注意该模板为ndim赋值很重要,这个为实际矩阵的大小。*/View Code 1 #include <stdio.h> 2 #include <string.h> 3 4 #define MAX_DIMENSION 11 5 typedef...
阅读全文
posted @
2012-08-02 10:47
cchun
阅读(438)
推荐(0)
HDU1588_Gauss Fibonacci_fib有关题目的升级版
摘要:这道题目又跟fib有关,不过比一般的fib矩阵难度提高了,关键要有比较强的数学思想,还要掌握牢固的矩阵公式。/**State: 1588 0MS 312K 4305 B *题目大意:* 有等差数列:g(i)=k*i+b;* fib数列:* f(0)=0* f(1)=1* f(n)=f(n-1)+f(n-2) (n>=2)* 有 k,b,n ,calculate the sum of every f(g(i)) for 0<=i<n*解题思路:* 如下...
阅读全文
posted @
2012-08-02 10:43
cchun
阅读(252)
推荐(0)
HDU2254_奥运_矩阵_图论应用
摘要:这道题目把矩阵跟图论完美地结合在了一起,矩阵与图论,本来就是难舍难分。能一下子想到相关知识,还是比较有难度要看多点书嘞。/**题目大意:* 他知道中国有很多的名胜古迹,他知道自己在t1 到 t2天内不可能把所有的* 地方都玩遍,所以他决定指定两个地方v1,v2,如果参赛员能计算出在t1到t2天* (包括t1,t2)内从v1到v2共有多少种走法(每条道路走需要花一天的时间,且不* 能在某个城市停留,且t1=0时的走法数为0),那么他就会获得相应数量的金牌,* 城市的总数<=30,两个城市间可以有多条道路,每条都视为是不同的。*...
阅读全文
posted @
2012-08-02 10:40
cchun
阅读(233)
推荐(0)
HDU2294_DP+矩阵加速(实在妙题)
摘要:/**State: 2294 609MS 944K 4236 B C++*题目大意:* 有k种珍珠,每种有n个,然后要求组合成长度为1~n的项链的总数。* (项链的长度为珍珠的个数),并要求项链中至少含有k种珍珠。*解题思路:* 复杂的组合题,至今不理解其递推式,但是知道dp的状态转移表达式为* f[i][j] = f[i - 1][j - 1] * (k - j + 1) + f[i - 1][j] * j;* f[i][j]下标的意思是有i颗珍珠时,含有j种能组合的个数。然后有了* ...
阅读全文
posted @
2012-08-02 10:38
cchun
阅读(1375)
推荐(1)