博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 535D - Tavas and Malekas
阅读量:6341 次
发布时间:2019-06-22

本文共 759 字,大约阅读时间需要 2 分钟。

思路:先把字符串填充好(后面填充的把前面覆盖掉),然后用KMP查找有多少个子串,如果比填充的少,说明有些覆盖矛盾,输出0;否则,设不确定的点的个数为k,答案为(26^k)%(1e9+7)。

代码:

 

#include
using namespace std;#define ll long long #define pb push_back#define mem(a,b) memset((a),(b),sizeof(a))const int N=1e6+5;const int MOD=1e9+7;int f[N]={-1};bool vis[N]={
false};bool vis1[N]={
false};int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,t,a; string s; cin>>n>>t; cin>>s; int tt=t; while(t--) { cin>>a; vis[a-1]=true;//假装填上了,其实也就是标记一下第一个点 } int m=s.size(); for(int i=1;i
=0)j=f[j]; if(s[j+1]==s[i])f[i]=j+1; else f[i]=-1; } int i=0,j=0,cnt=0; t=-1; while(i

 

转载于:https://www.cnblogs.com/widsom/p/7364861.html

你可能感兴趣的文章
Deep learning 1.4 作業1
查看>>
Centos7.4 安装 zabbix3.2.0
查看>>
mysql主从复制(一主一从)
查看>>
我的友情链接
查看>>
zabbix2.0 计算型监控项的表达式
查看>>
Hibernate中get和load方法的区别以及close()、clear()、evict()
查看>>
四项技术提高SQL Server性能
查看>>
mysql中将数字转为字母
查看>>
Linux系统用户及用户组的配置文件介绍
查看>>
交换机 Trunk(端口汇聚)的概念与设置
查看>>
Setting JAVA_HOME for a single user and all users
查看>>
记一次sql执行卡死的问题
查看>>
工作人员问题分析小结
查看>>
安装Fedora 20建议配件最低配置列表
查看>>
C++标准库类型
查看>>
postfix之main.cf详解
查看>>
linux: ssh 与scp指令
查看>>
JS打乱数组
查看>>
7月第3周中国.NET域名净增3792个 美国净减1.3万个
查看>>
8月第1周全球域名商TOP15: DNSPod升至第八名
查看>>