当前位置: 首页 > news >正文

LightOJ 1033 区间dp

其实就是求最长回文序列的长度m,然后答案=n-m;

/********************

LightOJ 1033

Author:Cdegree

********************/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <iostream>
#include <string>
#include <set>
#define X first
#define Y second
#define sqr(x) (x)*(x)
#pragma comment(linker,"/STACK:102400000,102400000")
using namespace std;
const double PI = acos(-1.0);
map<int, int>::iterator it;
typedef long long LL ;
template<typename T> void checkmin(T &x, T y) {x = min(x, y);}
template<typename T> void checkmax(T &x, T y) {x = max(x, y);}

const int N = 105;
int dp[N][N];

char s[N];
int main() {
    int T;
    scanf("%d", &T);
    for(int t = 1; t <= T; ++t) {
        scanf("%s", s);
        int n = strlen(s);
        for(int i = 0; i < n; ++i)dp[i][i] = 1;
        for(int l = 1; l < n; ++l) {
            for(int i = 0; i + l < n; ++i) {
                if(s[i] == s[i+l]) {
                    dp[i][i+l] = 2;
                    if(i + 1 <= i + l - 1)dp[i][i+l] += dp[i+1][i+l-1];
                }
                else {
                    dp[i][i+l] = max(dp[i+1][i+l], dp[i][i+l-1]);
                }
            }
        }
        printf("Case %d: %d\n",t,n-dp[0][n-1]);
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/cxw199204/p/3348733.html

相关文章:

  • 多线程停止的方法
  • Java 学习(18)--列表(List)/ 集合 (Set)/ 泛型 / Map
  • Koala – 开源的前端预处理器语言图形编译工具
  • 头晕的奶牛 C组模拟赛
  • 文件头修改工具
  • 网络编程知识整理
  • 在IDEA中,MAVEN项目依赖报错问题(dependencies中总是有红色波浪线)
  • React 16 Jest快照测试
  • 常用的商业级和免费开源Web漏洞扫描工具
  • 从零开始学习部署
  • python:unittest之跳过测试和预期失败的用例
  • [转载] 以下划线开头的变量
  • Hibernate SQL优化小技巧使用dynamic-insert=true insert=true
  • mui页面传值
  • js中for循环的研究
  • [译] React v16.8: 含有Hooks的版本
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • dva中组件的懒加载
  • es6(二):字符串的扩展
  • ES学习笔记(12)--Symbol
  • iOS 系统授权开发
  • JS变量作用域
  • k个最大的数及变种小结
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Linux CTF 逆向入门
  • nginx 负载服务器优化
  • node入门
  • react-native 安卓真机环境搭建
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 复习Javascript专题(四):js中的深浅拷贝
  • 关于for循环的简单归纳
  • 猴子数据域名防封接口降低小说被封的风险
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前言-如何学习区块链
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 《码出高效》学习笔记与书中错误记录
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​flutter 代码混淆
  • #14vue3生成表单并跳转到外部地址的方式
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (30)数组元素和与数字和的绝对差
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (十一)图像的罗伯特梯度锐化
  • (转)详解PHP处理密码的几种方式
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET 4.0中使用内存映射文件实现进程通讯