上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 链接: http://codeforces.com/contest/375/problem/B 题意: 给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积。 题解: 定义dp[i][j]表示从i开始长度为j的有多少个 然后再求一下后缀,即dp[i][j]表示从i开始长度大于等于 阅读全文
posted @ 2017-08-11 23:55 Flowersea 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/problemset/problem/506/A 题意: 给出30000个岛,有n个宝石分布在上面,第一步到d位置,每次走的距离与上一步的差距不大于1,问走完一路最多捡到多少块宝石。 题解: 容易想到DP,dp[i][j]表示到达 i 处,现在步长 阅读全文
posted @ 2017-08-11 23:09 Flowersea 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/256/problem/A 题意: 给出一个序列,求最长的子序列,满足隔位的两个数相等,问这个最长的子序列的长度是多少。 题解: 先把b数组离散化一下,dp[i][j]就表示当前循环节是i,j的最大值 代码: 阅读全文
posted @ 2017-08-11 18:15 Flowersea 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/148/problem/D 题意: 给出w只白老鼠,b只黑老鼠,公主和龙轮流取老鼠,公主先手,龙取老鼠时会吓跑一只老鼠,先取出白老鼠的人赢,如果没人取到白老鼠,那么龙赢。问公主赢的概率。 题解: 设有i只白鼠j只黑鼠的状态下公主获胜 阅读全文
posted @ 2017-08-11 17:15 Flowersea 阅读(94) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/219/problem/D 题意: 给出一棵树,但是它的边是有向边,选择一个城市,问最少调整多少条边的方向能使一个选中城市可以到达所有的点,输出最小的调整的边数,和对应的点。 题解: 定义dp0,dp1,dp三个数组 dp0[i]表 阅读全文
posted @ 2017-08-11 15:11 Flowersea 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/191/problem/A 题意: 给出n个字符串,两个字符串如果前一个的尾与后一个的首相同,那么可以相连,最后得到的字符串要满足首尾相同,问最长的符合要求的字符串的长度是多少。 字符串必须按给出顺序相连 题解: 定义状态dp[i] 阅读全文
posted @ 2017-08-11 12:53 Flowersea 阅读(171) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/problemset/problem/478/D 题意: 给出r个红砖,g个绿砖,问有多少种方法搭成最高的塔。 题解: 举红色球的层数,当第i层为红色是,i层上面有[0,r]个 红色的,可推出dp[i+j]=dp[i+j]+dp[j],最后 再统计 阅读全文
posted @ 2017-08-11 12:04 Flowersea 阅读(140) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/459/problem/E 题意: 给出n个点,m条边的有向图,每个边有边权,求一条最长的边权上升的路径的长度。 题解: 定义dp[i]表示第i条边结尾的情况下的最长路径。 定义g[i]表示点i结尾的情况的最长路径。 对所有的边进行 阅读全文
posted @ 2017-08-10 15:43 Flowersea 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/338/problem/B 题意: 给出一棵树,给出感染物的感染范围,给出一些已经确定被感染的点,问感染物可能放置的点的个数。 题解: 定义状态dp[i]代表某个点到达离它最远的确定的感染点的距离。 然后我们首先dfs一遍,求得以1 阅读全文
posted @ 2017-08-10 14:17 Flowersea 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/366/problem/C 题意: 给出n个物品,有两个属性,问最后第一个属性的总和是第二个属性的k倍的时候,第一个属性最大是多少。 题解: 我们将物品做一个变形,重量为a[i]-b[i]*k,收益是a,那么我们只需要对重量为正的做 阅读全文
posted @ 2017-08-09 23:26 Flowersea 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/358/problem/D 题意: 给出n个数,每个数取走的贡献与相邻的数有关,如果取这个数的时候,左右的数都还没被取,那么权值为a,如果左右两个数有一个被取走了,那么权值为b,如果左右两个数都被取走了,那么权值为c,求取取走全部数 阅读全文
posted @ 2017-08-09 21:00 Flowersea 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/245/problem/H 题意: 给你一个字符串,每次询问l,r区间有多少个回文子串 题解: 定义isPar[i][j]表示区间字符串[i,j]是否是回文,可以通过isPar[i+1][j-1]递推得到。 定义dp[i][j]表示 阅读全文
posted @ 2017-08-08 14:30 Flowersea 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/351/problem/B 题意: 给你一个序列,A和B两个玩家,A先走 A每次交换一个相邻的逆序对,B每次有50%几率交换相邻逆序对,还有50%几率交换相邻正序对 问最后a有序 交换次数的期望 题解: 先求出a有多少个逆序对,这个 阅读全文
posted @ 2017-08-08 12:05 Flowersea 阅读(148) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/582/problem/B 题意: 给你一个长度为n的序列,复制T次,求最长不下降子序列 题解: n最大为100,所以我们可以计算出n*n的最长不下降子序列长度,如果T>n, 我们会发现中间一定会有重复的,重复的就是a数组中出现次数 阅读全文
posted @ 2017-08-08 11:04 Flowersea 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 31 int n, m, a[MAXN * 100], b[MAXN * 100] , k[MAXN], p[MAXN]; 32 int dp[11][MAXN]; 33 34 int main() { 35 ios::sync_with_stdio(false), cin.tie(0); 36 while (cin >> n >> m) { 37 rep(i,... 阅读全文
posted @ 2017-08-05 14:07 Flowersea 阅读(352) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页