摘要:
对于这道题,我发现好多网上的题解对dp的物理意义讲的并不是十分透彻,但是代码又是正确的,这样初学者会感到十分难以接收dp的正确性 在这篇题解,我会讲解我的dp方程的物理意义(其实是对网上代码的理解之后的自己的想法),这题我觉得思维难度还是挺大的,如果是第一次做的话 首先我们看到什么改变字符串,又是最 阅读全文
posted @ 2020-02-18 21:59
朝暮不思
阅读(406)
评论(0)
推荐(0)
摘要:
动态规划要从最优子结构来推出大的方案 对于本题,我们要思考,什么是大的,什么是小的。 或许有些人会想设计状态为f[i],表示我从1-i的最小花费,但是仅仅这样是不够的,因为在这之间进小黑屋的不一定要在这之间就出来,他有后效性 那么什么是没有后效性的呢,如果我们判定这个区间就是全部的大小,他没有后面还 阅读全文
posted @ 2020-02-18 18:58
朝暮不思
阅读(175)
评论(0)
推荐(0)
摘要:
这题一看就跟石子合并的类型相似,但是我们对状态的定义需要略加改变 因为我们观察到头和尾是不能删除的 我们定义f[l][r]为不删除头尾的情况下的最小值 这样我们就能枚举最后一次删的是哪个点了 #include<iostream> #include<algorithm> #include<cstdio 阅读全文
posted @ 2020-02-18 16:22
朝暮不思
阅读(114)
评论(0)
推荐(0)
摘要:
我们知道一个的是0,因此先初始化两个长度的时候 之后运用区间dp的思想,如果s[l]和s[r]满足是一对,那么先由内部更新 之后我们枚举断点,计算相加的情况 #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> 阅读全文
posted @ 2020-02-18 15:57
朝暮不思
阅读(193)
评论(0)
推荐(0)
摘要:
本题是一个思维题,我们想到,如果一个边左右两侧的点都超过k个,那么他就可以用交集,不然的话就没有交集,因为会有一遍没法k个 #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<vector> 阅读全文
posted @ 2020-02-18 11:21
朝暮不思
阅读(170)
评论(0)
推荐(0)