7.26-STOIRegularMatch-08-#14
A-3 SRM 08
描述
给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T。
这里的出现定义为存在一串下标 ,满足 且 。
输入格式
一行,一个 01 串
输出格式
一行,字母 Y 表示存在,N 表示不存在
样例输入 1
000
样例输出 1
N
样例输入 2
010
样例输出 2
Y
数据范围与约定
- 设串 S 的长度为 n,
- 数据为随机生成
样例解释
第一个样例中,"000"出现了一次([1+2+3]),"00"出现了三次([1+2],[2+3],[1+3]),"0"出现了三次([1],[2],[3])
第二个样例中,"0"出现了两次。
-------------
条件中用来保证T为S子串。
在A-1中,n的长度为2≤n≤3,打表就好了,想怎么打怎么打。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char s[];
bool ans;
int main()
{
int n;
scanf("%s",s);
n=strlen(s);
if (n==) {
if (s[]==s[]) ans=; else ans=;
} else {
if (s[]==s[] && s[]==s[]) ans=;
else ans=;
}
if (ans==) printf("Y\n"); else printf("N\n");
return ;
}
A-1
A-2数据不大,可以直接用dfs水过。
写法请教过nbc姐姐>_<
如果s的第j位作为t的第i位,那就是f[i-1][j-1],不过得保证s[j]=t[i]。
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
char __input[];
int N,S[],T[],f[][];
void Check (int M)
{
for (int i=; i<=N; i++) f[][i]=;
for (int i=; i<=M; i++) {
f[i][]=;
for (int j=; j<=N; j++) {
f[i][j]=f[i][j-];
if (T[i]==S[j]) f[i][j]+=f[i-][j-];
}
}
if (f[M][N]==) {
printf("Y\n");
exit();
}
}
void DFS(int k)
{
Check(k);
if (k<N) {
T[k+]=;
DFS(k+);
T[k+]=;
DFS(k+);
}
}
int main()
{
scanf("%s",__input+);
while (__input[N+]) N++;
for (int i=; i<=N; i++) S[i]=__input[i]-'';
DFS();
printf("N\n");
return ;
}
A-2
A-3我们可以简单地分情况处理。小于等于3的情况我们可以直接吧A-1的表弄过来。当n大于3时,需要分情况。
1.如1001 110000 10100000这样的情况,都属于只有两个1或2个0的情况,这种是一定成立的。
2.第二种情况。 如00111101010101 100101010101这样的情况,有两个0或两个1靠在一起,也是一定成立。
如第一个串00111101010101,可以取下标为a[1],a[3-n]的数作为子串1,a[2],a[3-n]的数作为子串2,可以证明当两个0或两个1靠在一起时是成立的。
3.第三点。如11101 1010000111,这两个串都有相邻的0或1,但却是不成立的。因为相邻的数个数大于等于3,如第一个串,我们可以取下标a[1],a[4-n];a[2],a[4-n];a[3],a[4-n]三个子串,个数不为2.
综合起来就是,n大于3时,只要找相邻的0或1且保证这组相邻数连续个数等于2,结果就是Y。反之则为N。
(天呐我怎么讲话舌头打结…
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int x=,y=;
int main()
{
bool ans;
char s[];
scanf("%s",s);
int n=strlen(s);
if (n==)
if (s[]==s[]) ans=; else ans=;
else if (n== && s[]==s[] && s[]==s[]) ans=; else ans=;
if (n== || n==) {
if (ans==) printf("Y\n"); else printf("N\n");
return ;
}
for (int i=; i<n; i++) if (s[i]=='') x++; else y++;
if (x== || y==) ans=; else {
ans=;
for (int i=; i<n-; i++) if (s[i-]!=s[i] && s[i]==s[i+] && s[i+]!=s[i+]) ans=;
}
if (ans==) printf("Y\n"); else printf("N\n");
return ;
}
A-3
正解A-3代码
维修中_(:з」∠)_
7.26-STOIRegularMatch-08-#14的更多相关文章
- Trusted Cloud Summit(2018.08.14)
时间:2018.08.14地点:北京国际会议中心
- walk around by The provided App differs from another App with the same version and product ID 分类: Sharepoint 2015-07-05 08:14 4人阅读 评论(0) 收藏
'm currently developing a SharePoint 2013 application. After a few deployments via Visual Studio, I ...
- Cheatsheet: 2013 08.14 ~ 08.19
.NET Lucene.Net ultra fast search for MVC or WebForms site => made easy! C# State Machines HttpCl ...
- 2018.08.14 bzoj4241: 历史研究(回滚莫队)
传送们 简单的回滚莫队,调了半天发现排序的时候把m达成了n... 代码: #include<bits/stdc++.h> #define N 100005 #define ll long ...
- 2018.08.14【2018提高组】模拟A组 比赛总结
题解 这次的A组难得得水. T1 这题我一看,就想起了GDOI的一道题--密码锁 \(O(n)\)算法--差分 于是乎兴奋地发现这道题可以用差分来解. 设\(f_i=a_i-a_{i-1}\). 然后 ...
- 2020.08.14小bug
页面下面的滚动条怎么清除 css overflow-x: hidden;
- PostgreSQL 时间函数分类与特性
KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间.具体函数看以下例子: 1.返回事务开始时的时间 以下函数返回事务开始的时间(通过 begin .. end 两次调用结果 ...
- 2013年12月26日 星期四 doxygen入门--很好
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- JavaSE学习总结第08天_面向对象3
08.01 工具类中使用静态 例: class ArrayTool { //将构造方法私有,外界不能创建该类的对象 private ArrayTool(){} //遍历数组 public stat ...
- CentOS6.5安装testlink1.9.14
前提条件:准备一台CentOS6.5虚拟机,配置好IP,关闭iptables和selinux. 这里提供上我的云盘软件,可以去这里下载:http://pan.baidu.com/s/1qXymele ...
随机推荐
- SkinTK编译使用
简介 MFC这个东西已经落伍了,不建议使用.我就是吃饱了撑着,还在折腾这个. 平时写点带界面的小程序一般都用Qt来做,简单好用,也很容易做的比较漂亮.我觉得唯一一个算不得多大缺点的缺点就是Qt体积太大 ...
- 廉价的SUP掌机拆解
最近经常出现的一款山寨sup掌机, 75元包邮入手, 全套配件如下. 看看正面和背面的实拍图, 比较明显的廉价玩具塑料感. 手柄和充电线共用下方的microUSB口, 所以在双打时是不能用电源供电的. ...
- [转]Visual Studio 2010 中安装Qt 5.1
截至目前(2013年7月12日)为止,Qt 的最高版本为Qt5.1,在该版本中已经将Qt Creator与Qt Lib集成在一个文件夹中,因此安装的时候较为方便,只需安装一个即可.因为Qt具有超强的可 ...
- 配置yum软件仓库(redhat 7.0)
第一步:切换到yum配置文件目录 执行:cd /etc/yum.repos.d/ 第二步:创建文件并进行编辑:vi rhel7.repo 写入如下内容:[rhel7] name=rhel7 ##名字随 ...
- Django Web开发学习笔记(1)
一.Python的标准类型 (1)bool型 >>> bool("") False >>> bool(None) False >>& ...
- Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework
今天做了一个windows系统下调用摄像头.进行开启.关闭.拍照.设置等等功能演示. 进行源码贡献,欢迎大家下载使用 一.DEMO效果如下: 二.DEMO演示代码如下: using SNF.Utili ...
- GSSAPIAuthentication=no
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口.该接口 ...
- 【spark 深入学习 06】RDD编程之旅基础篇02-Spaek shell
--------------------- 本节内容: · Spark转换 RDD操作实例 · Spark行动 RDD操作实例 · 参考资料 --------------------- 关于学习编程方 ...
- LeetCode: Subsets 解题报告
Subsets Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset ...
- LRN和Batch Norm
LRN LRN全称为Local Response Normalization,局部相应归一化层. message LRNParameter { optional uint32 local_size = ...