摘要:
链接: http://codeforces.com/contest/375/problem/B 题意: 给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积。 题解: 定义dp[i][j]表示从i开始长度为j的有多少个 然后再求一下后缀,即dp[i][j]表示从i开始长度大于等于 阅读全文
摘要:
链接: http://codeforces.com/problemset/problem/506/A 题意: 给出30000个岛,有n个宝石分布在上面,第一步到d位置,每次走的距离与上一步的差距不大于1,问走完一路最多捡到多少块宝石。 题解: 容易想到DP,dp[i][j]表示到达 i 处,现在步长 阅读全文
摘要:
链接: http://codeforces.com/contest/256/problem/A 题意: 给出一个序列,求最长的子序列,满足隔位的两个数相等,问这个最长的子序列的长度是多少。 题解: 先把b数组离散化一下,dp[i][j]就表示当前循环节是i,j的最大值 代码: 阅读全文
摘要:
链接: http://codeforces.com/contest/148/problem/D 题意: 给出w只白老鼠,b只黑老鼠,公主和龙轮流取老鼠,公主先手,龙取老鼠时会吓跑一只老鼠,先取出白老鼠的人赢,如果没人取到白老鼠,那么龙赢。问公主赢的概率。 题解: 设有i只白鼠j只黑鼠的状态下公主获胜 阅读全文
摘要:
链接: http://codeforces.com/contest/219/problem/D 题意: 给出一棵树,但是它的边是有向边,选择一个城市,问最少调整多少条边的方向能使一个选中城市可以到达所有的点,输出最小的调整的边数,和对应的点。 题解: 定义dp0,dp1,dp三个数组 dp0[i]表 阅读全文
摘要:
链接: http://codeforces.com/contest/191/problem/A 题意: 给出n个字符串,两个字符串如果前一个的尾与后一个的首相同,那么可以相连,最后得到的字符串要满足首尾相同,问最长的符合要求的字符串的长度是多少。 字符串必须按给出顺序相连 题解: 定义状态dp[i] 阅读全文
摘要:
链接: http://codeforces.com/problemset/problem/478/D 题意: 给出r个红砖,g个绿砖,问有多少种方法搭成最高的塔。 题解: 举红色球的层数,当第i层为红色是,i层上面有[0,r]个 红色的,可推出dp[i+j]=dp[i+j]+dp[j],最后 再统计 阅读全文