社区讨论
样例没过求条
P2890[USACO07OPEN] Cheapest Palindrome G参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @miy6ezlm
- 此快照首次捕获于
- 2025/12/09 14:05 2 个月前
- 此快照最后确认于
- 2025/12/11 22:21 2 个月前
CPP
//998244353
#include<bits/stdc++.h>
#define itn int
using namespace std;
const int N=2e3+10;
int dp[N][N],cz[N][5],n,m,r;
char ls,s[N];
int main()
{
cin>>n>>m>>s+1;
for(int i=1;i<=n;i++)
{
cin>>ls;
cin>>cz[ls][0]>>cz[ls][1];
}
memset(dp,0x3f,sizeof(dp));
for(int i=1;i<=m;i++)
{
dp[i][i]=0;
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<i;j++)
{
dp[i][j]=0;
}
}
for(int len=1;len<=m;len++)
{
for(int l=1;l<=n-len+1;l++)
{
r=l+len-1;
if(s[l]==s[r])
{
dp[l][r]=min(dp[l][r],dp[l+1][r-1]);
}
else
{
dp[l][r]=min(dp[l+1][r]+min(cz[s[l]][0],cz[s[l]][1]),dp[l][r-1]+min(cz[s[r]][0],cz[s[r]][1]));
}
}
}
cout<<dp[1][m];
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...