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_ ...
随机推荐
- EF Codefirst入门之创建数据库
实验环境是VS 2015.MSSQL Server 2008.windows 10 一.创建项目 通过VS创建一个MVC5项目EntityFrameworkExtension 二.安装Entity F ...
- IIS环境下部署https【转载】
1.首先我们要取走我们的证书,保存在我们本地的电脑里,然后复制到服务器即可. 2.取走后接下来干嘛?当然是打开文件看看里面有些什么啊.我们找到IIS那个压缩包并解压. 3.解析得到pfx文件,也就是我 ...
- Linux与Windows串口通信
串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛.现在国际上不断有串口新技术及新规格推出,结合社会各方面需要,串口通信发展的空间庞大.串口通讯技术因其自身的优势和 ...
- Light OJ 1148
题意: 给你N 个人, 每个人说出有多少人和他一队, 不包括他自己, 输出总人数最少值 思路: 排个序, 按照给的数目把人分为一组,就可以得出最少人数 #include<bits/stdc++. ...
- [C]static变量详解
Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者“全局”的意思,用来修饰变量和函数.经static修饰过后的变量或者函数的作用域或者存储域会发生变化 ...
- 发布python模块
首先要写好模块和setup.py,把他们放在同一个文件夹下,图例是放在了stuManage文件夹下,setup.py具体内容如下: 然后打开终端,切到stuManage文件夹下开始发布 现在就可以跟p ...
- 8大排序之Python实现 冒泡排序优化
1.冒泡排序(从大到小):交换发生在内部循环 稳定的排序 冒泡排序的平均时间复杂度是O(n2),最好的时间复杂度是O(n),最坏的时间复杂度是O(n2),空间复杂度为O(1) 冒泡排序的优化在于did ...
- ios中input获取焦点时的问题
1.获取焦点时,input会变大 解决办法是:font-size设置为32px以上 还有就是要在header里面加这一行代码:<meta name="viewport" co ...
- js——this
每个函数的this是在调用时绑定的,完全取决于函数的调用位置 1. 绑定规则总结 一般情况下,按下列顺序从下至上来判断this的绑定对象(绑定的优先级从下至上递减) 默认:在严格模式下绑定到undef ...
- 浅谈FastJson的TypeReference用法
简单描述:看同事提交的代码,发现有一行代码 似曾相识,但却朦朦胧胧,ε=(´ο`*)))唉很明显自己没掌握呗,于是乎,就百度了一下 干货:对进行泛型的反序列化,使用TypeReference可以明确的 ...