摘要: 原题链接 题解 1.复杂问题简单化,把字符用数字代替 2.每次替换都会减少一个字符,到最后一定是由两个字符合成一个字符,并且这两个字符的来源区间不相交 3.相同区间不同的合并方式,最后生成的字符也不同,所以dp多加一个状态 4.题目只问能否合成对应字符 code #include<bits/stdc 阅读全文
posted @ 2024-05-13 19:12 纯粹的 阅读(52) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.常见思路: \(dp[l][r]\) 为把 \([l,r]\) 内的元素全部消掉留下一个元素的值,然后枚举中间点 但是这样内存不够,观察到 \(a_i \in [1,40]\) ,我们可以换个思路,由于区间 \([l,r]\) 内全部消掉留下一个元素的值 \(v\) , 其中 \ 阅读全文
posted @ 2024-05-13 18:08 纯粹的 阅读(55) 评论(0) 推荐(0)
摘要: 原题链接 题解 关键因素:\(b_i\) 与 \(b_{i-1}\) 至少有一位都是一 这是我第一份代码 #include<bits/stdc++.h> using namespace std; int a[100005],dp[100005]={0}; int main() { int n; ci 阅读全文
posted @ 2024-05-13 14:59 纯粹的 阅读(32) 评论(0) 推荐(0)
摘要: 原题链接 题解 第 \(i\) 朵花的选择范围为 \([i,m-n+i]\) ,而它一定是由第 \(i-1\) 朵花的某种选择继承而来的 code #include<bits/stdc++.h> using namespace std; int n,m; int dp[105][105]={0},p 阅读全文
posted @ 2024-05-13 13:45 纯粹的 阅读(65) 评论(0) 推荐(0)
摘要: 原题链接 题解 1.考虑到每个牛只有选或不选两种选择,这样暴力搜索的思路便产生了 2.还是上面的思路,怎么优化呢? 想想背包数组,其下标是什么?是体积 其值是是什么?是价值 是在体积相同的情况下选择价值最高的,本题也是,最优解一定是相同智商里情商最高的 3.价值和体积都是负数,怎么解决? code 阅读全文
posted @ 2024-05-13 13:07 纯粹的 阅读(57) 评论(0) 推荐(0)