首页 > 其他分享 >【杂题乱写】CodeForces上dp乱写1

【杂题乱写】CodeForces上dp乱写1

时间:2023-02-19 18:45:04浏览次数:37  
标签:String 乱写 CodeForces 删去 杂题 dp

难度是 \(1900\sim 2600\)。

1132F Clear the String *2000

区间 \(\text{dp}\),设 \(f_{l,r}\) 为删去区间 \([l,r]\) 的最小代价。

一个子问题的突破点是讨论 \(l\) 是怎么被删去的,最基本的删去方法:

\[f_{l,r}=f_{l+1,r}+1 \]

如果区间 \((l,r]\) 中存在一个 \(i\) 满足 \(s_l=s_i\),那么可以把 \((l,i)\) 的都删去之后按照删 \([i,r]\) 的方法删,删 \(i\) 的时候带上 \(l\) 即可。

\[f_{l,r}=\min_{l<i\le r,s_l=s_i} \{f_{l+1,i-1}+f_{i,r}\} \]

1107E Vasya and Binary String *2400

做上一道是为了这一道。

有了一个价值,依然是关心 \(l\) 是怎么删去的,增加一维 \(f_{l,r,k}\) 表示 \(l\) 同 \([l,r]\) 中与其相等的累计 \(k\) 个一起删去,定义 \(f_{l,r,0}\) 位 \(f_{l,r,k}\) 的的最大值。

仿照上面的转移,最基本的是:

\[f_{l,r,1}=f_{l+1,r,0}+a_k \]

枚举相等位置 \(i\),这里要删去 \(k-1\) 个元素一起删去的贡献:

\[f_{l,r,k}=\max_{l<i\le r,s_l=s_i}\{f_{l+1,i-1,0}+f_{i,r,k-1}-a_{k-1}+a_k\} \]

标签:String,乱写,CodeForces,删去,杂题,dp
From: https://www.cnblogs.com/SoyTony/p/dp_Problems_on_CodeForces_1.html

相关文章

  • Codeforces Round #844:C. Equal Frequencies
    一、来源:Problem-C-Codeforces二、题面三、思路先考虑一个子问题模型:我们现在有用\(m_1\)种随机字母组成的n个数,各字母个数未定,现在需要使这n个数变为\(m_2\)......
  • 【Codeforces】补题合集
    EducationalCodeforcesRound143(RatedforDiv.2)A.TwoTowers拼接序列。枚举相邻相同字母。如果\(>1\)则无解。否则可以做一个断点,有解。点击查看代码//Pro......
  • Educational Codeforces Round 143 (Rated for Div. 2) A-E
    比赛链接A题意有两座塔由红蓝方块组成,分别有\(n,m\)个方块,一次操作可以把一座塔塔顶的方块移动到另一座塔的塔顶,问通过操作是否能使每座塔中没有颜色相同的相邻方块。......
  • Educational Codeforces Round 142 (Rated for Div. 2)
    D.FixedPrefixPermutations题目大意给定两个排列\(p,q\),\(r=p\cdotq\)表示\(r_j=q_{p_j}\)。一个排列\(p\)的美丽值为满足\(p_1=1,\p_2=2,\p_3=3,\\cdots,\p_k=......
  • Educational Codeforces Round 143 (Rated for Div. 2)
    E.Explosions?题目抽象为现有长度为\(n\)的数组\(a_1,a_2,\cdots,a_n\)\((1\lea_i\le10^{6})\)。定义满足以下条件的区间\([l,r]\)\((1\lel,r\len)\)为爆炸......
  • Educational Codeforces Round 143 (Rated for Div. 2)
    题目链接A这个题目其实乍一看还比较麻烦,其实很简单。其实像这种题目我们只需要构造出来一个最基本的需要操作的情况,然后可以往这种操作最多可以进行多少次这个方向来思考......
  • CF、AT 杂题题解
    CF1455Fsolution1前\(i\)次操作只会影响到\([1,i+1]\),并且在第\(i\)次操作前,原本在位置\(i\)的数只可能在\(i\)或\(i-1\)。于是就可以考虑设\(f_{i,0/1}\)......
  • Educational Codeforces Round 102 (Rated for Div. 2)D(线段树求贡献)
    EducationalCodeforcesRound102(RatedforDiv.2)D(线段树求贡献)D.Program题目大意:最初x为0,给定一个长度为n的操作序列,共有两种操作:-,x-=1;+,x+=1;有m次询......
  • Educational Codeforces Round 103 (Rated for Div. 2)D(dp) E(拓扑序+trie树)
    EducationalCodeforcesRound103(RatedforDiv.2)D(dp)E(拓扑序+trie树)D.Journey题目大意:给定n+1个点(从0开始),每两个相邻的点之间有一条边,最初每条边上有一个......
  • Codeforces Round #852 (Div. 2) C. Dora and Search
    https://codeforces.com/contest/1793/problem/C  我们考虑进行构造。不难发现,对于一个序列,如果它的左端点不是整个序列的最大值,那么无论在序列的右边加怎么样的值,它......