摘要: 【CF1132F】Clear the String(动态规划) 题面 "CF" 题解 考虑区间$dp$。 增量考虑,每次考虑最后一个字符和谁一起删去,然后直接转移就行了。 cpp include include include using namespace std; define MAX 505 阅读全文
posted @ 2019-04-04 23:03 小蒟蒻yyb 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 【CF1132G】Greedy Subsequences(线段树) 题面 "CF" 题解 首先发现选完一个数之后选择下一个数一定是确定的。 对于每个数预处理出左侧第一个比他大的数$L$,那么这个数加入进来之后$[L+1,i]$的答案都会增加一,拿线段树维护一下就行了。 阅读全文
posted @ 2019-04-04 22:48 小蒟蒻yyb 阅读(359) 评论(0) 推荐(1) 编辑
摘要: 【CF1133E】K Balanced Teams(动态规划,单调队列) 题面 "CF" 让你把一堆数选一些出来分成不超过$K$组,每一组里面的最大值和最小值之差不超过$5$,求最多有多少个人元素可以被分组。 题解 设$f[i][j]$表示把前$i$个数分成$j$组的最多人数。 然后单调队列转移一下 阅读全文
posted @ 2019-04-04 16:55 小蒟蒻yyb 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 【CF1139D】Steps to One(动态规划) 题面 "CF" 你有一个数组,每次随机加入一个$[1,n]$的数,当所有数$gcd$为$1$时停止,求数组长度的期望。 题解 设$f[i]$表示$gcd$为$i$时的答案的期望。 考虑转移就是每次选一个数和$i$求个$gcd$,那么计算一下变成 阅读全文
posted @ 2019-04-04 16:07 小蒟蒻yyb 阅读(322) 评论(0) 推荐(0) 编辑