![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区间DP
VL——MOESR
ga
展开
-
【集训DAY10】Tree【区间DP】
区间DP原创 2022-07-20 19:50:59 · 54 阅读 · 0 评论 -
【2021年10月6日提高B组】大哥扛纵连
思路:70points做法直接预处理暴力前缀和mn统计codecodecode#include<iostream>#include<cstdio>#include<cmath>using namespace std;long long n, m;long long a[10100], f[10100][20];long long sum[2021][2021];int main(){ scanf("%lld%lld", &n,..原创 2021-10-06 16:40:03 · 66 阅读 · 0 评论 -
2021.08.16【NOIP提高B组】模拟 USACO 2021 February Contest, Gold】Problem 2 Modern Art 3
思路:区间DP,a[l]=a[r]时求l~r就是l+1到r或l到r-1codecodecode#include<iostream>#include<cstdio>#include<cstring> using namespace std;int f[1010][1010];int a[1010], n;int main(){ scanf("%d", &n); for(int i=1; i<=n; i++) scanf(..原创 2021-08-16 20:44:31 · 100 阅读 · 0 评论 -
【Luogu_P1040】加分二叉树
原题链接问题描述设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数 若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空子树。 试求一棵符合中序遍历为(1,2,3,…,n)且加分原创 2020-08-13 10:49:48 · 95 阅读 · 1 评论 -
【YBTOJ】石子合并
思路:区间DP模板题codecodecode#include<iostream>#include<cstdio>using namespace std;int n;int a[1010], f[1010][1010];int sum[1010];int main(){ scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &a[i]); for(int i=1; i&l..原创 2021-07-08 20:53:29 · 79 阅读 · 0 评论 -
【YBTOJ】消除木块
思路:将一段两端颜色相同的涂色就相当于给 i ~ j - 1 或 i + 1 ~ j 涂色不同的就分两段codecodecode#include<iostream>#include<cstdio>#include<cstring> using namespace std;int f[1010][1010];string c;int main(){ cin>>c; int n=c.size(); memset(f, 1, ..原创 2021-07-09 09:28:50 · 101 阅读 · 0 评论 -
【YBTOJ】消除木块
思路:我们先预处理颜色相同且连续的为一个颜色块的长度和颜色设f[i][j][k]表示删除i到j,后面跟着有k个和j相同颜色的木块的最大分则设一个中转点l使l和j的颜色相同,则f[i][j][k]=f[i][l][k+len[r]]+f[i+1][r-1][0](先把l到j之间的方块消除)codecodecode#include<iostream>#include<cstdio>#include<cstring>using namespace st..原创 2021-07-09 11:29:00 · 135 阅读 · 0 评论