CodeForces 615C

题意:
给定两个字符串s1,s2利用s1去构造s2,s1有无限个,可以翻转,你最少要用几个s1才能构造s2。输出每一次使用的s1的有效区间。
伪思路:
据说是暴力就能过的题目。然而自己就是暴力差,模拟差,DP差。。。。mdzz好像都差,不会怎么暴力。
其他思路都想过一点,然后剩下两个比较可能的;
①:我暴力一发s2,以s2的字符为开始然后暴力过去,让s1去正的反的匹配,所以怎么记录?但是这样细节上处理太多了,比如这个刚好接上,或者不是刚好接上。这样的细节处理。
②:我暴力一发s2,每次取正反,然后一直暴力到终点,每次取正反暴力。如果正反都是没有结果直接可以标记掉,然后put:-1。
但是这样的不好就是中间的情况的太多了,如果每次都有情况的话,那么就是2^很多次左右吧,但是这个len(s2)是有2100,这么暴力无非是作死。如果每次取最优呢?也就是每次我拿长的。。。这样真的可以么。。。直觉就是80%不行。就是觉得如果我这次正的比较长,然后可能会比较短,然后执行比较短的下次会比较长。然后好像举不出例子,所以要试一发。其实打起来也是很吃力啊。

#include <bits/stdc++.h>
//#include<iostream>
//#include<cstdio>
//#include<math.h>
//#include<string.h>
//#include<algorithm>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const double eps=1e-6;
const double pi=acos(-1.0);
const int mod=998244353;
const int INF=0x3f3f3f3f;const int N=1200;char s1[N*2];
char s2[N*2];
int dp[N*2][3];int main()
{int flag,n,m,k,j,h1,h2;int num;int len1,len2;scanf("%s%s",s1,s2);len1=strlen(s1);len2=strlen(s2);flag=k=0;num=0;int s,t;int x;for(int i=0;i<len2;){int nextpos=-1;int p1,p2;for(int j=0;j<len1;j++){int k=j;int next=i;while(k<len1&&s1[k]==s2[next])k++,next++;if(next>nextpos){nextpos=next;p1=j+1;p2=k;}}for(int j=len1-1;j>=0;j--){int k=j;int next=i;while(k>=0&&s1[k]==s2[next]){next++;k--;}if(next>nextpos){nextpos=next;p1=j+1;p2=k+2;}}if(i==nextpos){puts("-1");return 0;}i=nextpos;dp[num][0]=p1;dp[num][1]=p2;num++;}printf("%d\n",num);for(int i=0;i<num;i++){printf("%d %d\n",dp[i][0],dp[i][1]);}return 0;
}

转载于:https://www.cnblogs.com/keyboarder-zsq/p/5934427.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

priority_queue实现大顶堆和小顶堆

升序队列&#xff0c;小顶堆priority_queue <int,vector<int>,greater<int> > q; 降序队列&#xff0c;大顶堆priority_queue <int,vector<int>,less<int> >q; 优先队列支持的操作&#xff1a; top 访问队头元素empty 队列是否为空size …

大学python期末考试突击怎么办_Python突击-从入门到精通到项目实战

模块的概念安装pip 多个虚拟python环境测试驱动开发模式Python语言要素介绍2.详解Python数据类型列表和列表解析生成器表达式元组字符串字符串之中文处理字典集合3.函数和函数式编程函数参数和变长参数列表函数返回值.变量作用域函数的嵌套定义和闭包和装饰器介绍迭代器和生成器…

C语言的struct和C++的class的区别

C语言的struct不能有成员函数&#xff0c;没有静态成员&#xff0c;成员属性默认为public且不能修改&#xff08;所以没有实现封装&#xff09;&#xff0c;不能继承&#xff0c;不能直接初始化数据成员 所以C的class的继封装、继承、多态C语言的struct一个都没有

【人工智能】人类该如何看待人工智能的“诗与远方”?

来源&#xff1a;智能制造网【导读】如今&#xff0c;在继传统行业的应用“钱”景爆发之后&#xff0c;人工智能又开启了对“诗与远方”的追逐。9月8日&#xff0c;华为推出了一款全新的AI诗人——“乐府”&#xff0c;据悉其能够驾驭和写作唐诗宋词等多种形式的诗词&#xff0…

centos6.5安装配置zabbix3.0.3

1.首先要准备LAMP环境。 &#xff08;1&#xff09;安装phpZabbix 3.0对PHP的要求最低为5.4&#xff0c;而CentOS6默认为5.3.3&#xff0c;完全不满足要求&#xff0c;故需要利用第三方源&#xff0c;将PHP升级到5.4以上rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm …

数学建模灵敏度分析_数学建模中的灵敏度分析,到底在分析什么?

—2019/6/13—概念在数学建模中使用最优化方法时&#xff0c;我们常常会忽略对模型进行灵敏度分析&#xff0c;若缺少这一个步骤&#xff0c;会使得模型的可靠度受到质疑&#xff0c;那到底什么是灵敏度分析&#xff1f;参考百度&#xff1a;灵敏度分析&#xff0c;是研究与分析…

虚函数表存放在哪

一个类只能有一个虚函数表。在编译时&#xff0c;一个类的虚函数表就确定了&#xff0c;所以虚函数表在 .rodata &#xff08; Linux g &#xff09;

mysql数据对象

学习目标:了解掌握常见的几种数据库对象学会如何创建具体的数据对象mysql 常见的数据对象有哪些&#xff1a;DataBase/SchemaTableIndexView/Trigger/Function/Procedure多Database用途&#xff1a;业务的隔离资源的隔离表上的常用数据对象&#xff1a;索引约束视图&#xff0c…

赛迪研究院发布《2019量子计算发展白皮书》

来源&#xff1a;赛迪智库经国务院正式批准&#xff0c;由湖南省人民政府、工业和信息化部联合主办&#xff0c;中国电子信息产业发展研究院&#xff08;简称“赛迪研究院”&#xff09;、湖南省工业和信息化厅、长沙市人民政府承办的“2019世界计算机大会”在长沙召开。赛迪智…

安卓虚拟摄像头_iPhone 的「第四颗摄像头」位置,为什么给了激光雷达?

一个&#xff0c;两个&#xff0c;三个&#xff0c;四个…… 旗舰手机摄像头从 2016 年开始&#xff0c;以大约每年 1 个摄像头的数量在增长&#xff0c;有人调侃说麻将「八筒」将是所有智能手机摄像头的终极归宿。今年全新一代 iPhone 发布前&#xff0c;不少人推测 iPhone 12…

Mysql复制-Slave库设置复制延迟

mysql> stop slave; mysql> change master to master_delay10;#单位是秒 mysql> start slave; mysql> show slave status\G *************************** 1. row ***************************Slave_IO_State: Waiting for master to send event...SQL_Delay: 10SQL…

c++ vector用另一个vector初始化

vector<int> a(nums.begin(), nums.end()); 注意&#xff1a;vector<int> a(nums.begin()1, nums.end()-2);中a包含nums.begin()1&#xff0c;不包含nums.end()-2&#xff0c;也就是包含的区间是左闭右开区间 如果a不能在声明的时候初始化&#xff0c;可以先定义…

关于边缘计算和边云协同,看这一篇就够了~

来源&#xff1a;Deloitte物联网智库 编译导 读几年前&#xff0c;大多数人都期望将物联网部署至云端&#xff0c;这的确可以给个人用户带来便捷的使用体验&#xff0c;但构建企业级的物联网解决方案&#xff0c;仍然需要采用云计算和边缘计算的结合方案。与纯粹的云端解决方案…

删除当前文件夹下特定名称文件

以下命令删除当前文件夹下所有名称带log的文件 find . -name "*log*" |xargs rm -rf

ospf hello时间和dead_网络工程师_思科 | OSPF由简到难,配合命令学

交换机工作原理&#xff1a;基于源mac学习&#xff0c;基于目的mac转发。路由器的工作原理&#xff1a;收到一个数据包&#xff0c;拆掉帧头&#xff0c;拆开ip包头&#xff0c;提取目的ip地址&#xff0c;查找自己的路由表&#xff0c;有路由&#xff0c;转发&#xff0c;没有…

《自然》深度:中国AI能在2030年制霸世界吗?

来源&#xff1a;智东西,nature中国不仅拥有世界上最多的人口&#xff0c;而且即将成为最大的经济体&#xff0c;并且在人工智能&#xff08;AI&#xff09;方面也有着领先世界的野心。2017年&#xff0c;中国政府制定了《新一代人工智能发展规划》&#xff0c;对人工智能发展进…

object-c 代理反向传值

A.h A.m B.h B.m 转载于:https://www.cnblogs.com/ChouDanDan/p/5692578.html

linux高亮查找关键字

日志文件中通常需要高亮查找某个关键字&#xff0c;方法为 tail 日志文件 | grep 关键字 --colorauto

群晖pxe安装windows_使用win-server2016 进行 pxe 网络装机

首先,安装 windows server 2016此处省略若干字..........安装完成后,将网络设置成桥接模式,并为物理机网卡配置一个静态ip为server16 设置静态ip(要和物理机处于同一网段)c打开开始菜单-->服务器管理器(默认会弹出)2.选择添加角色3.一直点下一步,选择安装DHCP和Windows部署服…

CNCC技术论坛丨联邦学习冲刺人工智能“最后一公里”!

来源&#xff1a;中国计算机学会本论坛将于 CNCC2019 中国计算机大会第一天&#xff08;10月17日&#xff09;在苏州金鸡湖国际会议中心 A305 会议室举行&#xff0c;探讨号称人工智能“最后一公里”的联邦学习&#xff0c;届时业内专家将会碰撞出什么样的火花呢&#xff1f;敬…