动态规划学习笔记
动态规划学习笔记
近期计划
dp泛做:cf通过250~550题目,从700A开始做。注意总结。
20180112
给定\(s\)串和\(t\)串,字符集是小写字母。\(s\)串中有些位置的值不确定,要求你确定这些位置上的值,使得\(t\)在\(s\)中出现次数最多,输出最多出现次数。
http://www.cnblogs.com/wuyuanyuan/p/8278017.html
20180115
给出大小为\(1000\)的数组和一个数\(k\),求长度最短的一个子序列使得子序列的元素之积是\(k\)的倍数,如果有多个解输出元素和最小的序列。
\(k\)和数组元素的数量级都是\(1e12\)。
http://www.cnblogs.com/wuyuanyuan/p/8290049.html
20180116
\(1e5*1e5\)的棋盘中有\(2000\)个坏点,初始给定一个值\(s(1<=s<=1e6)\)。从棋盘左上角走到右下角,只允许向右或者向下走,每经过一个坏点,\(s=\lceil{s/2}\rceil\),求到达棋盘右下角时,\(s\)的值的期望。
http://www.cnblogs.com/wuyuanyuan/p/8299170.html
给定大小为750的数组。2e5次询问,每次给出一个值。要求删除数组中尽可能少的数,使得前缀和加上给定的值非负。每次询问输出最少需要删除的数。
http://www.cnblogs.com/wuyuanyuan/p/8299233.html
20180124
cf 813D
给定长度为\(5e5\)的数组,求两个互不相交且长度之和最长的子序列(子序列必须满足:相邻两个数要么差\(1\)要么模\(7\)同余)。输出长度之和。
题解:\(f_{i, j}\)表示以下标为\(i、j\)的数结尾的两个子序列最长长度之和。