摘要: 题意:有四个小偷要偷巧克力,每个小偷偷的巧克力是前一个小偷的k倍。例:a,ak,ak^2,ak^3。然后给出你小偷头巧克力的方案数,问:符合条件的条件下,背包中巧克力量最大值最小是多少。 分析:最大值最小。所以二分n。 阅读全文
posted @ 2016-07-08 12:44 DarkTong 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 题意:求从1开始的到所有点的最短路。 分析:设图中的两个点u,v, 则dis[u][v] = abs(u-v) 或 dis[u][v] = 1。 其实换个角度想就可以发现每次运动消耗的能量都是1。由于每一单位时间运动消耗的能量都是1。 状态的转移有三个:1、向前走一步。2、先后走一步。3、走捷径。 阅读全文
posted @ 2016-07-08 12:34 DarkTong 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 题意:类似炸弹人游戏,但是十字的炸弹弹道都是等长的(就是4个方向的长度一样)(可以炸十、×),然后结果是所能炸到的每个格子的乘积的最大值。 分析:一眼看下去就是DP了,但有与涉及8个方向,所以就要分别DP8个方向。每个方向就是一个一维的DP。 还有要大小的比较就要利用到log了,因为要比较【2^k1 和 3^k2(k1>k2)】的大小,直接算是不现实的,所以利... 阅读全文
posted @ 2016-06-03 23:14 DarkTong 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 题意:要走到x、就必须经过x-1,问从(1,1)走到x=p的最短路。 分析:dp[y][x] = min(dp[y][x], dp[ty][tx]+dis((y,x), (ty, tx)); 就是从x-1向x递推,不过有可能p=x-1,p=x的点很多,直接来就GG了。 所以就判断,当点数乘积超过n*m就直接bfs去搜,因为bfs所要时间... 阅读全文
posted @ 2016-06-02 20:53 DarkTong 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 分析: 用容斥来求。 公式: C(m,k)*(k*(k-1)^(n-1) – C(k,k-1)*(k-1)*(k-2)^(n-1) + C(k,k-2)*(k-2)*(k-3)^(n-1)……. ); 解释: C(m,k):m种颜色中选k种。k*(k-1)^(n-1): 至多有不超过k中颜色且相邻两种颜色不同的填法。 ... 阅读全文
posted @ 2016-05-31 21:25 DarkTong 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 首先我是被这么一句话骗了的”In particular, it is allowed not to change order of elements at all.”,后来发现其实可以不管它,所以就可以排序后dp了。 分析: 按题目的意思,以及式子,可以想到,分成k组数,每组数计算后的和要最小。 首先,每一组数得出的结果要最小,由于是|a... 阅读全文
posted @ 2016-05-29 14:40 DarkTong 阅读(253) 评论(0) 推荐(0) 编辑