摘要:
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1282感觉这题就比较有意思了 ,虽说是看了别人的代码,我依旧卡了好几天,原因1.我理解错题意了 原因2.网上题解没有一个把这题说明白的,也没有解释题意的。。。每条路径上的警察的最大值不超过K 而不是总和不超过K容易想到用二维spfa来更新 不过k太大了可以想一下floyd的原本思想 是dp[i][j] = dp[i][j]+dp[j][k],经过j做中转之后的最短路 也就是每两个结点 都会有N次更新这里把更新顺序做了一下改变 以c从小到大排序 阅读全文
摘要:
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1933矩形的dp一般挺类似 大的矩形都是由小的推出来的 对于一个长为i 宽为j 的 矩形 分别枚举把这n个给出的小矩形放入里面后 取一个最优值dp[i][j] = max(dp[i][j],dp[i-x][j]+dp[x][j-y],dp[i][j-y]+dp[i-x][y]) 交换小矩形的长宽 再取一次 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #i 阅读全文