技巧
Ghostkkkk
这个作者很懒,什么都没留下…
展开
-
CF 946G - Almost Increasing Array 技巧 LIS DP
题意:给你一个数组,问最多改变多少个数字,可以使他变成“几乎上升”,“几乎上升”的意思是最多删掉一个数后数组严格上升。题解:如果没有删除,假如不是严格上升,我们可以用n - LIS(LIS的意思是最长不下降子序列)。是严格上升,我们先把a[i] - i,然后再n - LIS。现在的问题在于删除一个数后怎么办呢?本来求LIS是用dp记录长度为i的结尾的最小值,现在加一...原创 2018-09-17 15:51:53 · 186 阅读 · 0 评论 -
CF 932G - Palindrome Partition 回文树 技巧 DP
题意:给你一个字符串,问有多少种划分,使得如果划分后有k个部分,则sub[i] = sub[k - i + 1],s[i]是第i个部分代表的串,k必须是偶数。题解:普通的回文串是s[1]对应s[n],s[2]对应s[n - 1].....这里有不同,是s[1] 对应 s[n - j], s[2]对应s[n - j + 1],注意到现在对应关系是双方下标都在递增,而普通回文串是第一个下标...原创 2018-09-19 15:12:18 · 289 阅读 · 0 评论 -
CF 906B - Seating of Students 随机 乱搞 技巧
题意:给你一个N * M 的表,第i行j列的数是 (i - 1) * m + j,现在要重新安排数的位置,问你有没有一种方案使得原来相邻的数现在不相邻。题解:随机乱搞。给了两秒,我们设置程序执行了1.9秒时退出随机,输出NO。while (clock() < 1.9 * CLOCKS_PER_SEC)一开始直接用random_suffle,暴力判断当前是否可行,如果不...原创 2018-09-19 20:25:40 · 330 阅读 · 0 评论