摘要: Link: BZOJ 1806 传送门 Solution: 为了使状态包含每个节点前所有必须的信息: 设$dp[i][a1][a2][b1][b2]$为配送到第$i$个,一厂前两个为$a1,a2$,二厂前两个为$b1,b2$时的最大权值, 每次向一厂添加/二厂添加转移。 要使用滚动数组,注意对每种情 阅读全文
posted @ 2018-06-08 21:56 NewErA 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1037 传送门 Solution: 由于对任意一段都有要求,于是我们对于所有前缀考虑其后缀不超过$k $即可: 设$dp[i][j][x][y]$为前$i$个人中有$j$个男孩,且后缀中男女最大相差$x$,女男最大相差$y$时的方案数 每次向添加女孩/添加男孩转移。 注意:如 阅读全文
posted @ 2018-06-08 21:35 NewErA 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Link: POJ 1185 传送门 Solution: 看大家都说是一道状压$dp$基础题,结果我还是卡题了 发现决策第$i$行时,要同时考虑$i-1$和$i-2$行,因此状态中要包含两个“行”状态位 但$O(1024^3*100)$的复杂度明显不行啊,于是我就在这卡住了…… 其实可以发现仅考虑“ 阅读全文
posted @ 2018-06-08 21:21 NewErA 阅读(2343) 评论(0) 推荐(3) 编辑
摘要: Link: POJ1935 传送门 Solution: 一道吓唬人的水题 注意这是一棵树,两点间仅有唯一的路径! 于是每个“关键点”和起点只有一条路径,想去起点另一棵子树上的节点必须要回到起点 如果必须要回到起点,答案$res$就是除去无用边后整棵树总距离$*2$, 因为不必回到起点,最终结果为$r 阅读全文
posted @ 2018-06-08 20:46 NewErA 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Link: POJ 2397 传送门 Solution: 设$dp[i][j]$表示第$i$步走到$j$高度时经过的最高高度 分向上走和向下走两种方式转移即可 注意记录路径,最后输出时要逆序输出 (逆序输出时可以考虑利用递归方式输出) Code: 阅读全文
posted @ 2018-06-08 20:22 NewErA 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Link: POJ 2373 传送门 Solution: 一开始想错方向的一道简单$dp$,不应该啊…… 我一开始的想法是以$cows' ranges$的节点为状态来$dp$ 但明显一个灌溉的区间的两边不一定都在$cows's ranges$上, 因此应该以长为$L$的$field$上的每一个偶数节 阅读全文
posted @ 2018-06-08 19:58 NewErA 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Link: POJ 3378 传送门 Solution: 按序列长度$dp$, 设$dp[i][j]$为到第$i$个数,符合要求的序列长度为$j$时的序列个数, 易得转移方程:$dp[i][j]=\sum_{k=1}^{i-1} dp[k][j-1] (dat[k]<dat[i])$ 用树状数组按$ 阅读全文
posted @ 2018-06-08 19:35 NewErA 阅读(352) 评论(0) 推荐(0) 编辑
摘要: Link: POJ 2329 传送门 Solution: 比较明显的$dp$,但爆搜好像也能过 用多个方向$dp$来解决此题,最后汇总答案即可 一开始我写了4个,但后来发现只要相反的2个方向即可,同时不用分别记录答案,直接不断更新答案即可 要特别注意对特例的判断: 不能只判断其最近距离相同且最近点相 阅读全文
posted @ 2018-06-08 19:26 NewErA 阅读(255) 评论(0) 推荐(0) 编辑