随笔分类 -  动态规划

上一页 1 ··· 3 4 5 6 7
摘要:可以看做棋子放在某个位置后该种颜色就占领了那一行一列。行列间彼此没有区别。 于是可以设f[i][j][k]表示前k种棋子占领了i行j列的方案数。转移时枚举第k种棋子占领几行几列。注意行列间是有序的,要乘上一个组合数。这里f[i][j][k]可以是在原棋盘选i行j列占领的方案数,也可以是占领i行j列棋 阅读全文
posted @ 2018-08-11 11:43 Gloid 阅读(154) 评论(0) 推荐(0)
摘要:假设已经linkcut完了树,答案显然是树的直径。那么考虑这条直径在原树中是怎样的。容易想到其是由原树中恰好k+1条点不相交的链(包括单个点)拼接而成的。因为这样的链显然可以通过linkcut拼接起来,而若选择不超过k条链则可能有链不得不被cut拆开,即使不会被拆开也可以通过选择单点来达到恰好k+1 阅读全文
posted @ 2018-08-07 01:53 Gloid 阅读(400) 评论(0) 推荐(0)
摘要:一看上去就是一个二合一的题。那么先解决第一部分求最优路线(及所有可能在最优路线上的线段)。 由于不能往下走,可以以y坐标作为阶段。对于y坐标不同的点,我们将可以直接到达的两点连边,显然这样的边的个数是线性的。如果是右上方向那么横纵坐标差相等,左上则和相等,可以直接排序搞定。 y坐标相同的点(下称一排 阅读全文
posted @ 2018-08-05 22:19 Gloid 阅读(232) 评论(0) 推荐(0)
摘要:注意到怼大佬的操作至多只能进行两次。我们逐步简化问题。 首先令f[i][j]表示第i天结束后自信值为j时至多有多少天可以进行非防御操作(即恢复自信值之外的操作)。这个dp非常显然。由于最终只需要保证存活,那么取f中的最大值即可(可以在第n天之前使大佬自信值为0而结束),之后就不用再管自己的自信值。复 阅读全文
posted @ 2018-08-04 20:53 Gloid 阅读(369) 评论(0) 推荐(0)
摘要:每个点出度都为1,可以发现这张图其实是个环套树森林,树中儿子指向父亲,环上边同向。 首先自环肯定是没救的,先抬出去。 要使死亡人数最多的话,显然若一个点入度为0其不会死亡,而一个孤立的环至少会留下一个点。对于环套树,若某个点有子树,可以以瞄准它的点为起点,每个点都被在环上瞄准他的点所击中。这样就剩下 阅读全文
posted @ 2018-08-01 19:56 Gloid 阅读(285) 评论(0) 推荐(0)
摘要:发现所谓半连通子图就是缩点后的一条链之后就是个模板题了。注意缩点后的重边。写了1h+真是没什么救了。 阅读全文
posted @ 2018-07-29 16:37 Gloid 阅读(246) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7