2011年8月13日

hdu 2855

摘要: 阅读全文

posted @ 2011-08-13 21:26 宇宙吾心 阅读(188) 评论(0) 推荐(0)

hdu 2276

摘要: 关键是矩阵的构造。 阅读全文

posted @ 2011-08-13 19:39 宇宙吾心 阅读(164) 评论(0) 推荐(0)

hdu 2254

摘要: 离散+二分解题思路:求t1->t2天内,v1->v2一共有多少条的路径。就是要用到离散数学的可达矩阵的n次幂各元素的值就是经过n条路可以到达该点。所以说这道题说白了就是叫你求 A^t1+a^(t1+1)+……A^(t2),输出v1,v2该元素的值模2008(注意负数的处理).所以就是要用到矩阵降幂+二分求和。 阅读全文

posted @ 2011-08-13 19:23 宇宙吾心 阅读(222) 评论(0) 推荐(0)

hdu 3117

摘要: f(n)=1/sqrt(5)(((1+sqrt(5))/2)^n+((1-sqrt(5))/2)^n)假设F[n]可以表示成 t * 10^k(t是一个小数),那么对于F[n]取对数log10,答案就为log10 t +K,此时很明显log10 t<1,于是我们去除整数部分,就得到了log10 t,再用pow(10,log10 t)我们就还原回了t。将t×1000就得到了F[n]的前四位。具体实现的时候Log10F[n]约等于((1+sqrt(5))/2)^n/sqrt(5),这里我们把((1-sqrt(5))/2)^n这一项忽略了,因为当N>=40时,这个数已经小的可以 阅读全文

posted @ 2011-08-13 17:16 宇宙吾心 阅读(501) 评论(0) 推荐(1)

hdu 1588

摘要: 首项是:A^b 公比是:A^k 项数是:N 因为矩阵的加法对乘法也符合分配律,我们提出一个A^b来,形成这样的式子: A^b*( I + A^k + (A^k)^2 + .... + (A^k)^(N-1) ) A^b 和 A^k 显然都可以用我们之前说过的方法计算出来,这剩下一部分累加怎么解决呢 简单起见,设A^k=B 要求 G(N)=I + ... + B^(N-1),设i=N/2 若N为偶数,G(N)=G(i)+G(i)*B^i 若N为奇数,G(N)=I+ G(i)*B + G(i) * (B^(i+1)) 阅读全文

posted @ 2011-08-13 16:56 宇宙吾心 阅读(156) 评论(0) 推荐(0)

hdu 2256

摘要: 阅读全文

posted @ 2011-08-13 15:35 宇宙吾心 阅读(140) 评论(0) 推荐(0)

hdu 3271

摘要: 两种操作1)询问[x,y]区间内,base进制下,一个数的各位之和为M的个数2)询问[x,y]区间内,第K大各位之和为M的数预处理 数位统计,预处理dp[len][j]在base进制下,长度为len各位之和为j的个数 然后逐位统计 对于2)需要二分,注意的是(high+low)会超int,要用long long,不然超时 很阴的是输入的X可能>Y , hdu的 assert() RE是返回wa的 阅读全文

posted @ 2011-08-13 10:41 宇宙吾心 阅读(209) 评论(0) 推荐(0)

hdu 3278

摘要: BFS注意状态数只有C(24,8)。 阅读全文

posted @ 2011-08-13 10:18 宇宙吾心 阅读(128) 评论(0) 推荐(0)

导航