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

代理ip平台/武汉seo价格

代理ip平台,武汉seo价格,国家企业信用信息公示系统四川,瑜伽网站模版Description 折叠的定义如下: 1. 一个字符串可以看成它自身的折叠。记作S  S 2. X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S)  SSSS…S(X个S)。 3. 如果A  A’, BB’,则AB  A’B’ 例如,因为3(A) AAA, 2(B) BB&#xff0c…

Description
折叠的定义如下: 1. 一个字符串可以看成它自身的折叠。记作S  S 2. X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S)  SSSS…S(X个S)。 3. 如果A  A’, BB’,则AB  A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A)C2(B)  AAACBB,而2(3(A)C)2(B)AAACAAACBB 给一个字符串,求它的最短折叠。例如AAAAAAAAAABABABCCD的最短折叠为:9(A)3(AB)CCD。

Input
仅一行,即字符串S,长度保证不超过100。

Output
仅一行,即最短的折叠长度。

Sample Input
NEERCYESYESYESNEERCYESYESYES
Sample Output
14
HINT
一个最短的折叠为:2(NEERC3(YES))

Source

思路:
区间dp,选定区间的时候,判断是否有重复子区间,有的话就可以转移。

ACNEW

#include <ctime>
#include <iostream>
#include <assert.h>
#include <vector>
#include <queue>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>using namespace std;typedef long long ll;char s[105];
int f[105][105],num[105];void init() {num[0] = 0;for(int i = 1;i <= 100;i++) {num[i] = num[i / 10] + 1;}
}bool check(int sta,int k,int l) {for(int i = 0;i < l;i++) {if(s[i + sta] != s[i % k + sta]) return false;}return true;
}int main() {init();scanf("%s",s + 1);int n = strlen(s + 1);for(int i = 1;i <= n;i++) {f[i][i] = 1;}for(int l = 2;l <= n;l++) { //长度for(int i = 1;i + l - 1 <= n;i++) { //起点int j = i + l - 1; //终点f[i][j] = l;for(int k = i;k < j;k++) {f[i][j] = min(f[i][j],f[i][k] + f[k + 1][j]);}for(int k = i;k < j;k++) {if(l % (k - i + 1) != 0) continue;if(check(i,k - i + 1,l)) {f[i][j] = min(f[i][j],f[i][k] + num[l / (k - i + 1)] + 2);}}}}printf("%d\n",f[1][n]);return 0;
}
#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;int f[1005][1005];
char s[10005];int solve(int x)
{if(x < 10)return 1;else if(x >= 10 && x <= 99)return 2;return 3;
}bool check(int l,int mid,int r)
{int x = l;for(int i = mid + 1;i <= r;i++){if(s[i] != s[x])return false;x++;if(x == mid + 1)x = l;}return true;
}int main()
{scanf("%s",s + 1);int n = (int)strlen(s + 1);for(int l = 1;l <= n;l++){for(int i = 1;i + l - 1 <= n;i++){int j = i + l - 1;f[i][j] = j - i + 1;for(int k = i;k < j;k++){f[i][j] = min(f[i][j],f[i][k] + f[k + 1][j]);}for(int k = i;k < j;k++){int len = k - i + 1;if(l % len != 0)continue;if(check(i,k,j))f[i][j] = min(f[i][j],f[i][k] + 2 + solve(l / len));}}}printf("%d\n",f[1][n]);return 0;
}
http://www.lbrq.cn/news/1621279.html

相关文章:

  • 百度画一画/河南网站seo
  • 上海建网站服务器/郑州网络推广服务
  • 响应式网站建设信息/常见的关键词
  • 廊坊百度网站推广/seo网站分析工具
  • 深圳网站建设深icp备/百度关键词排名软件
  • 常德网站建设多少钱/线上平台怎么推广
  • 泰兴网站建设开发/如何做好推广工作
  • WordPress 插件调试/便宜的seo网络营销推广
  • 网页制作流程/seo研究中心怎么样
  • 建网站的软件优帮云/外链
  • 网站免费建站/网站自动推广软件
  • 保定手机网站制作/搜索引擎分析论文
  • 免费建设电影网站/重庆快速排名优化
  • 小说网站虚拟主机/如何搜索关键词
  • 个人网站做电影网站/怎样做百度推广网页
  • html做网站心得/如何让自己网站排名提高
  • 建设银行网站-公司机构客户/seo是什么职位
  • 网站tag页面如何做/长沙网
  • 在线房产网/搜索引擎优化的基本方法
  • 温岭自适应网站建设/百度网页版电脑版入口
  • 门户网站建设滞后/郑州网络运营培训
  • 阳江网站制作公司/每日精选12条新闻
  • 宁波网站建设公司网络推广/外链吧怎么使用
  • cms网站开发毕设/成都网站排名 生客seo
  • 网站制作软件安卓版/seo内容优化心得
  • 江苏城嘉建设工程有限公司网站/营销网站建设哪家快
  • 公司做网站的多吗/怎样做一个网页
  • b2b网站做推广什么网站好/徐州新站百度快照优化
  • 电话做网站的推广/新站如何快速收录
  • 网站开发量/株洲网站设计外包首选
  • 【MySQL学习|黑马笔记|Day3】多表查询(多表关系、内连接、外连接、自连接、联合查询、子查询),事务(简介、操作、四大体系、并发事务问题、事务隔离级别)
  • 【变更性别】
  • ESP32学习-1.第一个程序helloworld
  • C++ AI流处理核心算法实战
  • React函数组件的“生活管家“——useEffect Hook详解
  • 【kafka】消息队列