HDU-2476-String painter
来源:互联网 发布:淘宝卖电子资料处罚 编辑:程序博客网 时间:2024/06/06 00:49
ACM模版
描述
题解
区间
首先我们假设用一个空白串儿进行区间
代码
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 111;char A[MAXN];char B[MAXN];int ans[MAXN];int dp[MAXN][MAXN];int main(int argc, const char * argv[]){ while (cin >> A >> B) { memset(dp, 0, sizeof(dp)); memset(ans, 0, sizeof(ans)); int len = (int)strlen(A); for (int i = 0; i < len; i++) { dp[i][i] = 1; } for (int i = 1; i < len; i++) // 区间长度 { for (int j = 0; j + i < len; j++) // 区间起始位置 { int r = i + j; // 区间终点位置 dp[j][r] = dp[j + 1][r] + 1; for (int k = j + 1; k <= r; k++)// 遍历区间 { if (B[j] == B[k]) { dp[j][r] = min(dp[j][r], dp[j + 1][k] + dp[k + 1][r]); } } } } if (A[0] != B[0]) { ans[0] = 1; } for (int i = 1; i < len; i++) { if (A[i] == B[i]) { ans[i] = ans[i - 1]; } else { ans[i] = dp[0][i]; for (int j = 0; j < i; j++) { ans[i] = min(ans[i], ans[j] + dp[j + 1][i]); } } } printf("%d\n", ans[len - 1]); } return 0;}
阅读全文
0 0
- HDU - 2476 String painter
- HDU 2476 String painter
- hdu 2476 String painter
- hdu 2476 String painter
- hdu 2476 String painter
- HDU 2476 String painter
- hdu 2476 String painter
- hdu 2476 String painter
- hdu 2476 String painter
- HDU-2476-String painter
- hdu 2476 String painter dp
- String painter (hdu 2476)
- hdu 2476 String painter 动态规划
- HDU 2476 String Painter(JAVA版)
- hdu 2476 String painter 区间dp
- hdu 2476 String painter 区间dp
- HDU 2476 String painter 区间dp
- hdu 2476 String painter(区间DP)
- android实现计算器(慕课网视频教学)
- springmvc 路径映射规则、数据绑定
- python pip install 异常问题
- 【java】Collection常用操作
- appium+python+夜神模拟器+jenkins进行android端自动化测试(2)
- HDU-2476-String painter
- Scratch2.0编程-游戏制作-满屏飞的巫婆
- ORACLE SEQUENCE
- dwg与dxf文件格式的互换
- java读取配置文件 转载
- Converting a fisheye image into a panoramic, spherical or perspective projection
- Django学习笔记(二)--通过model自动生成数据表
- centos7中防火墙firewalld的使用
- c# 语法基础