la4394
题解:
首先区间dp是比较好想到的
然后我感觉接下来就是乱搞。。。
我们会发现接下来的操作 无非就是 用一种颜色去覆盖这整个区间 然后在做
于是我用了比较暴力的做法,f[i][j][k]表示i-j这段区间被k颜色完全覆盖
那么转移就是枚举f[i][kk][k] f[kk+1][j][k]
另外要注意还有同层之间可以用全部覆盖成一个颜色来转移
最后再跑一遍dp(这时候已知了g[i][j] (覆盖i-j的最小值))
代码:
#include <bits/stdc++.h>
using namespace std;
#define rint register int
#define IL inline
#define rep(i,h,t) for (rint i=h;i<=t;i++)
#define dep(i,t,h) for (rint i=t;i>=h;i--)
char s1[],s2[];
int f[][][],g[][],p[];
const int INF=1e9;
int main()
{
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
ios::sync_with_stdio(false);
while( cin>>s1>>s2)
{
int n=strlen(s1);
dep(i,n,) s1[i]=s1[i-],s2[i]=s2[i-];
rep(i,,n)
rep(j,i+,n) g[i][j]=INF;
rep(i,,n)
{
rep(k,,) f[i][i][k]=;
f[i][i][s2[i]-'a']=;
if (s1[i]==s2[i]) g[i][i]=; else g[i][i]=;
}
rep(i,,n)
rep(j,,n-i+)
{
int h=j,t=j+i-;
rep(k,,)
{
f[h][t][k]=INF;
rep(k1,h,t-)
{
f[h][t][k]=min(f[h][t][k],f[h][k1][k]+f[k1+][t][k]-);
}
g[h][t]=min(g[h][t],f[h][t][k]);
}
rep(k,,) f[h][t][k]=min(f[h][t][k],g[h][t]+);
}
rep(i,,n)
{
p[i]=INF;
rep(j,,i-)
p[i]=min(p[i],p[j]+g[j+][i]);
}
cout<<p[n]<<endl;
}
return ;
}
la4394的更多相关文章
- String Painter, Chengdu 2008, LA4394
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
随机推荐
- HDU - 1402 A * B Problem Plus FFT裸题
http://acm.hdu.edu.cn/showproblem.php?pid=1402 题意: 求$a*b$ 但是$a$和$b$的范围可以达到 $1e50000$ 题解: 显然...用字符串模拟 ...
- 023_nginx跨域问题
什么是跨域? 使用js获取数据时,涉及到的两个url只要协议.域名.端口有任何一个不同,都被当作是不同的域,相互访问就会有跨域问题.例如客户端的域名是www.redis.com.cn,而请求的域名是w ...
- push to origin/master was rejected错误解决方案
idea中,发布项目到OSChina的Git中,当时按照这样的流程添加Git,然后push,提示:push to origin/master war rejected". 解决方案如下: 1 ...
- 纯webpack打包项目
webpack 3 零基础入门教程 http://webpackbook.rails365.net/466996(文本) https://www.rails365.net/movies/webpack ...
- 【MySql】Group By数据分组
GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. 因为聚合函数通过作用于一组数据而只返回一个单个值, 因此,在SELECT语 ...
- Oracle从入门到精通(详细) 明日科技
- Confluence 6 升级 Confluence 使用数据源
如果你对 Confluence 进行升级(手动或者使用安装器),你需要: 停止 Confluence (如果你已经尝试开始启动). 拷贝你的数据库驱动到 <installation-direct ...
- 【batch】批处理文件多参数处理和for循环字符串连接
batch文件写起来,酸爽不谈了.[1]今天在github上发现个好东西batsh,运行地址:https://batsh.org/.[1] 这里需求的场景是:调用run.bat脚本并传入多个参数(相对 ...
- xilinx_all_version.lic
INCREMENT ISE_Vivado_Seth xilinxd -dec- uncounted \ C25FB036D304 VENDOR_STRING=License_Type:Bought H ...
- js之DOM对象一
一.什么是HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 HTML 文档呈现 ...