摘要: 双塔DP。 dp[i][j]表示前i个物品,分成两堆(可以不全用),价值之差为j的时候,较小一堆的价值为dp[i][j]。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace s 阅读全文
posted @ 2016-03-09 21:45 Fighting_Heart 阅读(212) 评论(0) 推荐(0)
摘要: 矩阵快速幂+构造。 首先我们要计算出需要构造的矩阵大小是多少,这个可以构造矩阵,进行矩阵快速幂求得。 S[n]就是求得的矩阵大小。 接下来就是构造答案了:如果S[n]是奇数或者0,显然无解。 偶数的话,可以构造答案,下面以6*6为例: 下三角全是-1,上三角全是1,对角线上-1与0间隔填写。 #in 阅读全文
posted @ 2016-03-09 18:46 Fighting_Heart 阅读(321) 评论(0) 推荐(0)
摘要: 矩阵快速幂。 样例是这样构造矩阵的: 矩阵很好构造,但是500*500*500*logk的复杂度显然是无法通过这题的。 其实本题构造出来的矩阵是一个循环矩阵,只需直到第一行或者第一列,即可直到整个矩阵是怎么样的。 所以,中间计算的时候,需要直到第一行是什么即可,即1*n的矩阵乘n*n的矩阵。时间复杂 阅读全文
posted @ 2016-03-09 14:57 Fighting_Heart 阅读(265) 评论(0) 推荐(0)