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_ ...
随机推荐
- 搭建Unity安卓开发环境
原文见 https://blog.csdn.net/chenggong2dm/article/details/20654075 tiny教程 https://docs.unity3d.com/Pack ...
- in exists
区别及应用场景 in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists.其实 ...
- Java链接DB2的4种基本类型【转】
原文链接:http://doc.chinaunix.net/java/201002/776480.shtml 第一种:目前IBM一直都没有提供 TYPE 1的JDBC驱动程序. 第二种:类型2驱动:C ...
- 浅谈深度优先和广度优先(scrapy-redis)
首先先谈谈深度优先和广度优先的定义 深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法.沿着树的深度遍历树的节点,尽可能深的搜索树的分支.当节点v的 ...
- JS 手机端多张图片上传
代码如下 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="u ...
- python-并发编程之多进程
一.操作系统基础: 进程的概念起源于操作系统,操作系统其它所有概念都是围绕进程来的,所以我们了解进程之前先来了解一下操作系统 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统 ...
- python之hashlib
简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法.在python3中已经废弃了md5和sha模块,简单说明 ...
- WebSocketTest 异步通讯,实时返回数据
using System;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;usin ...
- ssh: connect to host github.com port 22: Connection timed out
问题描述 $ git clone git@github.com:MaugerWu/MaugerWu.github.io.git Cloning into 'MaugerWu.github.io'... ...
- GitHub访问慢
问题描述 一直都觉得访问 GitHub 时速度非常慢,刷新一下都要等好久!于是尝试一下能否解决掉... github.com assets-cdn.github.com avatar2.githubu ...