![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
动态规划 —— 基础 DP
文章平均质量分 66
动态规划 —— 基础 DP
c4Lnn
这个作者很懒,什么都没留下…
展开
-
AtCoder Beginner Contest 195 E. Lucky 7 Battle
链接https://atcoder.jp/contests/abc195/tasks/abc195_e题意字符串 SSS 只包含数字,字符串 XXX 只包含 A 和 T,字符串 T 是空串。当 XiX_iXi 为 A 时,Aoki 操作,否则 Takahashi 操作。每次操作可将 000 或 SiS_iSi 放在 TTT 末尾。如果 TTT 是 777 的倍数则 Takahashi 获胜,否则 Aoki 获胜。思路记 dpi,jdp_{i,j}dpi,j 为在 iii 个回合后余数为原创 2021-03-20 16:31:01 · 287 阅读 · 1 评论 -
AtCoder Beginner Contest 145 F. Laminate
链接https://atcoder.jp/contests/abc145/tasks/abc145_f题意n∗mn*mn∗m 的二维白色网格,HiH_iHi 表示第 iii 列底端往上 HiH_iHi 格需涂成黑色。每次操作可以选择一段水平方向连续的网格涂黑。现在可以至多改变 kkk 列的 HHH 值,求最小操作数使需涂黑的网格涂黑。思路记 dpi,j,0/1dp_{i,j,0/1}dpi,j,0/1 为前 iii 列改变了 jjj 列的 HHH 值且第 iii 列是否改变的最小操作数:原创 2021-03-20 16:20:07 · 177 阅读 · 0 评论 -
Codeforces Round #691 (Div. 2) D. Glass Half Spilled
链接https://codeforces.com/contest/1459/problem/D题意n(n≤100)n(n\le 100)n(n≤100) 个水杯,第 iii 个水杯容量为 ai(ai≤100)a_i(a_i\le 100)ai(ai≤100),初始水量为 bi(bi≤100)b_i(b_i\le 100)bi(bi≤100)定义一次操从一个水杯取 xxx 单位水,x/2x/2x/2 单位水 倒入另一个水杯(不能溢出),其余舍去求无限次操作后,选择 1∼n1 \sim n1∼原创 2021-02-06 10:22:57 · 124 阅读 · 0 评论 -
Codeforces Round #697 (Div. 3) G. Strange Beauty
链接https://codeforces.com/contest/1475/problem/G题意长度为 nnn 的数组 a,删去一些数,使数组内任意两个数的较大值为较小值的倍数求最少删去多少数思路记 totitot_itoti 为 i在数组 aaa 中的个数将数组 aaa 排序去重后记 dpidp_idpi 为以第 iii 大的数为最大数的满足要求的数组的长度dpi=max(dpj+totai)(ai%aj==0)dp_i=\max(dp_j+tot_{a_i})(a_i\%a_j原创 2021-01-29 18:03:51 · 124 阅读 · 0 评论 -
2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)A. 肥猪的钢琴床
链接https://ac.nowcoder.com/acm/contest/9692/A题意将 010101 字符串转化为最多只有一段连续 111 的字符串,求最小删除字符数思路转化后的字符串可化为 0⋯0+1⋯1+0⋯00\cdots0+1\cdots1+0\cdots00⋯0+1⋯1+0⋯0 三段,每一段的长度都可能为 000记 dp[i][0/1/2]dp[i][0/1/2]dp[i][0/1/2] 为第 iii 个字符位于 1/2/31/2/31/2/3 段需要删除的最小字符(第 iii原创 2020-12-06 23:42:35 · 421 阅读 · 0 评论 -
HDU 6447. YJJ‘s Salesman
链接http://acm.hdu.edu.cn/showproblem.php?pid=6447题意矩形地图上有n个村庄,从左上出发在 (x,y)(x,y)(x,y) 时,只能移动到 (x+1,y)(x+1,y)(x+1,y),(x,y+1)(x,y+1)(x,y+1),(x+1,y+1)(x+1,y+1)(x+1,y+1)而移动到 (x+1,y+1)(x+1,y+1)(x+1,y+1) ,如果是村庄,则可进行交易,获得收入求能获得的最大收入思路离散化所有点记 dp[i][j]dp[i][原创 2020-09-18 23:53:34 · 199 阅读 · 0 评论 -
Codeforces Round #662 (Div. 2) D. Rarity and New Dress
链接https://codeforces.com/contest/1393/problem/D题意问 n*m的矩阵中,有多少合法的菱形,合法的条件:各单元格元素相同并且不越界合法的例子:思路设 dp[i][j]dp[i][j]dp[i][j] 为以 (i,j)(i,j)(i,j) 为最底块的合法的菱形的个数dp[i][j]=1+min(dp[i−1][[j−1],dp[i−1][j],dp[i−1][j+1],dp[i−2][j])dp[i][j]=1+min(dp[i-1][[j-1],d原创 2020-08-10 01:12:44 · 64 阅读 · 0 评论 -
2019ICPC上海网络赛 J. Stone game
链接https://nanti.jisuanke.com/t/41420题意nnn 堆石子,每堆石子都有重量 www设 S′S'S′ 是取的石子的重量 ,SSS 是石子总重量求满足 (S′≥S−S′)⋀(∀t∈S′,S′−t≤S−S′)(S' \ge S-S') \bigwedge (\forall t\in S',S'−t \le S−S')(S′≥S−S′)⋀(∀t∈S′,S′−t≤S−S′) 的方案数思路01 背包退背包当 a(a∈S′)a(a\in S')a(a∈S′) 为最小值如原创 2020-07-31 11:48:59 · 89 阅读 · 0 评论 -
2019CCPC秦皇岛 I. Invoker
链接http://acm.hdu.edu.cn/showproblem.php?pid=6739题意基本技能:Q,W,E调用技能:R特殊技能:Y,V,G,C,X,Z,T,F,D,B每个特殊技能由三个基本技能组成,并且可以无序触发拥有三个基本技能时,可以使用调用技能,以根据他当前拥有的基本技能获得特殊技能。调用后,基本技能不会消失,并且这三个基本技能的时间顺序也不会改变现在给出了一系列特殊技能,用最少数量的基本技能和调用技能来逐一调用它们思路一个特殊技能最多有 666 种排列将前后两个技原创 2020-07-31 01:23:23 · 236 阅读 · 1 评论 -
Codeforces Round #612 (Div. 2) C. Garland
链接https://codeforces.com/contest/1287/problem/C题意一个长度为 nnn 的不存在相同数的无序序列,已知其未被填完求在填完后相邻两数奇偶性不同的对的个数的最小值思路一贪心将整个串分为 000 段和非 000 段若一个 000 段两端都是偶数或都是奇数,都填偶数或都填奇数,否则贡献为 222若一个 000 段两端奇偶性不同,贡献为 111若一个 000 段只有一端,填与它拥有那一段奇偶性相同的数,否则贡献为 111将拥有两端的 000 段长度从原创 2020-07-30 00:01:37 · 118 阅读 · 1 评论 -
牛客练习赛 60 C. 操作集锦
链接https://ac.nowcoder.com/acm/contest/4853/C题意求字符串 sss 中不同的子序列的个数思路设 dp[i,j]dp[i,j]dp[i,j] 为前 iii 个字符中长度为 jjj 的不同的子序列的个数先不考虑哪些是重复的:f[i,j]=f[i−1,j]+f[i−1,j−1]f[i,j]=f[i-1,j]+f[i-1,j-1]f[i,j]=f[i−1,j]+f[i−1,j−1]再考虑减去重复的子序列:可以发现如果在 iii 前存在 s[i]s[i]s[i]原创 2020-07-29 14:30:04 · 90 阅读 · 0 评论 -
NC 51187. 环路运输
链接https://ac.nowcoder.com/acm/contest/1045/B题意在一条环形公路旁均匀地分布着 NNN 座仓库,编号为 iii 的仓库与编号为 jjj 的仓库之间的距离定义为 dist(i,j)=min(∣i−j∣,N−∣i−j∣)dist(i,j)=\min(\left\vert{i-j}\right\vert,N-\left\vert{i-j}\right\vert)dist(i,j)=min(∣i−j∣,N−∣i−j∣)在 iii 和 jjj 两座仓库之间运送原创 2020-07-28 23:36:12 · 120 阅读 · 0 评论 -
POJ 2228. Naptime
链接http://poj.org/problem?id=2228题意在一天 nnn 个小时中取 bbb 个小时,使权值和最大,bbb 个小时可分成若干段,每段的第一个小时的权值不计入总和,第 nnn 个小时与第一个小时相连思路记 f[i][j][0]f[i][j][0]f[i][j][0] 为前 iii 个小时中睡了 jjj 个小时且第 iii 个小时不在睡,f[i][j][1]f[i][j][1]f[i][j][1] 为前 iii 个小时中睡了 jjj 个小时且第 iii 个小时在睡转移方程:原创 2020-07-28 23:29:10 · 177 阅读 · 0 评论 -
NC 15553. 数学考试
链接https://ac.nowcoder.com/acm/problem/15553题意在长度为 nnn 的序列中,选两个无交集的长度为 kkk 的区间,使可以选择的两个区间和的最大值思路预处理前缀和 sss记 f[i]f[i]f[i] 为前 iii 个元素中长度为 kkk 的区间和的最大值:f[i]=max(f[i−1],s[i]−s[i−k])(i>=k)f[i]=max(f[i-1],s[i]-s[i-k])(i>=k)f[i]=max(f[i−1],s[i]−s[i−k])原创 2020-07-28 23:20:15 · 100 阅读 · 0 评论