摘要: /**State: 1729 0MS 268K 726 B C++*题目大意:* (取石子游戏)有n个箱子,体积为Si,当前箱子里的石子数为Ci。* 两个人轮流往箱子里放石子,而且每一次放是数量都有限制,不能* 超过当前箱子内石子数的平方。例如箱子里有3颗石子,那么下一个* 人就可以放1~9颗石子,直到箱子被装满。当有一方放不下石子时游* 戏结束,最后放不下石子的人输。*解题思路:* 一开始我的想法就是正确的,求sg值,sg值也能用笔模拟出来,但* 关键的一步是箱子... 阅读全文
posted @ 2012-08-02 22:21 cchun 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 这道题真好,体现了思想的灵活性。要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 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 这道题目够囧,表示公式推了大半天,有一个弯比较难想到。最后推出了公式,代码实现我是实现得一团糟,出现了几个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 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 一道好题,想不出为什么是矩阵,不过关键是我没有马上意识到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 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 这道题目又跟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 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 这道题目把矩阵跟图论完美地结合在了一起,矩阵与图论,本来就是难舍难分。能一下子想到相关知识,还是比较有难度要看多点书嘞。/**题目大意:* 他知道中国有很多的名胜古迹,他知道自己在t1 到 t2天内不可能把所有的* 地方都玩遍,所以他决定指定两个地方v1,v2,如果参赛员能计算出在t1到t2天* (包括t1,t2)内从v1到v2共有多少种走法(每条道路走需要花一天的时间,且不* 能在某个城市停留,且t1=0时的走法数为0),那么他就会获得相应数量的金牌,* 城市的总数<=30,两个城市间可以有多条道路,每条都视为是不同的。*... 阅读全文
posted @ 2012-08-02 10:40 cchun 阅读(226) 评论(0) 推荐(0) 编辑
摘要: /**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 阅读(1360) 评论(0) 推荐(1) 编辑