摘要: 1021石子归并V1 N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) ... 阅读全文
posted @ 2016-03-10 19:03 ZhMZ 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 本文参考《训练指南》P219 、 《IOI2009 国家集训队论文by罗穗骞》 后缀数组是对文本串进行处理,而非模板串(在文本串中查找模板串),例如搜索引擎。 而AC自动机是对模板串进行预处理。两者区别。 后缀trie树:对于字符串banana,可以把它的所有后缀(banana$,anana$,nana$,ana$,na$,a$)插入一颗trie树中。这样查询起来只需要对trie树进行... 阅读全文
posted @ 2016-03-10 16:21 ZhMZ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: D. Palindrome Degree time limit per test 1 second String s of length n is called k-p... 阅读全文
posted @ 2016-03-10 16:01 ZhMZ 阅读(444) 评论(0) 推荐(0) 编辑
摘要: description 在高数课上老师给出了一个等式GCD(n-a,n)*GCD(n-b,n)=n^k; 已知,n,k,问同学们有多少组(a,b)满足这个等式。结果对10^9+7取模。 1 #include using namespace std; const int MAXN=10000; int prime[MAXN+1]; void getPrime() { ... 阅读全文
posted @ 2016-03-10 15:53 ZhMZ 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 根据题意,我已经推导出tn的公式,ti=ti.a+ti.b,ti.a=5*t(i-1).a+4*t(i-1).b,ti.b=t(i-1).a+t(i-1).b 然而下面竟然不能继续推到sn的公式!!!! 这道题考察的就是求任意数列的前n项和,在sn的递推公式不太明显的时候,用矩阵解决。 设矩阵A=,矩阵F0= 那么设矩阵S=(A+A2+A3…. + An)*F0 最终答案就是矩... 阅读全文
posted @ 2016-03-10 15:37 ZhMZ 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 在m*n的一个长方形方格中,用一个1*2的骨牌排满方格。问有多少种不同的排列方法。(n #include #include #include using namespace std; typedef long long ll; const int mod=1e9+7; ll dp[1n) return; ... 阅读全文
posted @ 2016-03-10 13:24 ZhMZ 阅读(444) 评论(0) 推荐(0) 编辑