• 2024-11-09CF607B Zuma 题解
    CF607BZuma不知道为什么你谷会评蓝,这不是很基础的区间DP吗。Problem-607B-Codeforces题意简述消除回文子串的最小次数。思路对于区间\([i,j]\),如果它是回文的,那么消除它所需的次数是\(1\)。如果它不是回文的,但是\(a[i]==a[j]\),那么当区间\([i+1,j-1]\)被消除到只剩下
  • 2024-05-12洛谷题单指南-动态规划3-Zuma
    原题链接:https://www.luogu.com.cn/problem/CF607B题意解读:从一组整数中取连续的回文子串,求最少几次可以取完。解题思路:状态表示:设dp[i][j]表示取i~j之间的回文子串所需的最少次数,a[i]表示第i个数状态转移:如果a[i]==a[j],dp[i][j]=dp[i+1][j-1],因为首尾如果相等,其必然可以
  • 2024-02-27dp练习
    合并类len=2,[k]消消乐类,len=3,[i+1][j-1]else[k]Bracketshttps://vjudge.net/problem/POJ-2955#include<iostream>#include<cstring>usingnamespacestd;intdp[101][101];boolflag=1;boolpei(inti,intj,chara[]){if(a[i]=='('&&
  • 2023-12-06Zuma
    原题链接点拨:运用动态规划的思路对于一给定的字符串,其未来和现在有什么关系?假如其过去已知,其现在和过去有什么?细节当两端相等时,继承不一定比从中间合起来要小代码#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;scanf("%d",&n);inta[50
  • 2023-08-11Zuma
    Zuma题意每次可以删掉连续的一段回文串,删掉后两边的串会拼起来,问最少多少次可以删完整个串。思路区间dp,对于一个区间\([l,r]\),如果\(a[l-1]=a[r+1]\)那么\([l-1,r+1]\)是可以通过区间\([l,r]\)来删掉\([l-1,r+1]\),而所用的次数肯定是相同的,因为\(a
  • 2023-08-04[刷题笔记] CF607B Zuma
    Problem貌似还是某场cfdiv1的BDescription一个数组\(a\),每次可以消掉其中的一个回文串,求至少经过几次操作能消掉字符串\(s\)?Solution我们发现本题满足大区间包含小区间的特性,即通过小区间可以推出大区间,符合区间dp。考虑状态转移,枚举一个区间\(l,r\),如果\(a_l=a_r\)则答案