C. Strong Password

这篇具有很好参考价值的文章主要介绍了C. Strong Password。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Problem - C - Codeforces

C. Strong Password,codeforces,算法

C. Strong Password,codeforces,算法

 思路:根据题意我们能够知道就是对于每一位都要再区间范围内,并且不是s的子序列,我们先看第一位,第一位有l[1]-r[1]这几种选择,假如说某一种选择在s中没有那么我们就选择以这个开头的作为答案,否则则这几种选择都存在,那么假如说最开始的位置是a1,a2,a3,那么如果我们把a1对应的数作为第一位,那么我们就需要确定存不存在一种选择方法使得在a1+1~n中不存在,2~m的某种选择,同理a2则是从a2+1开始的,那么我们就发现了,如果我们第一位选择对应的位置越大,后面的剩余的序列就越少,所以匹配不成功的概率就越大,这里可以使用一个string的函数find(a,b)来从b开始查找,找第一个等于a的位置,如果找不到则返回string::npos文章来源地址https://www.toymoban.com/news/detail-546811.html

// Problem: C. Strong Password
// Contest: Codeforces - Educational Codeforces Round 151 (Rated for Div. 2)
// URL: https://codeforces.com/contest/1845/problem/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms

#include<iostream>
#include<cstring>
#include<string>
#include<sstream>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<vector> 
#include<set>
#include<unordered_map>
#include<ctime>
#include<cstdlib>
#define fi first
#define se second
#define i128 __int128
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef pair<int,pair<int,int> > PIII;
const double eps=1e-7;
const int N=5e5+7 ,M=5e5+7, INF=0x3f3f3f3f,mod=1e9+7,mod1=998244353;
const long long int llINF=0x3f3f3f3f3f3f3f3f;
inline ll read() {ll x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(ll)x*10+c-'0';c=getchar();} return x*f;}
inline void write(ll x) {if(x < 0) {putchar('-'); x = -x;}if(x >= 10) write(x / 10);putchar(x % 10 + '0');}
inline void write(ll x,char ch) {write(x);putchar(ch);}
void stin() {freopen("in_put.txt","r",stdin);freopen("my_out_put.txt","w",stdout);}
bool cmp0(int a,int b) {return a>b;}
template<typename T> T gcd(T a,T b) {return b==0?a:gcd(b,a%b);}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
void hack() {printf("\n----------------------------------\n");}

int T,hackT;
int n,m,k;
string str;
int l[N],r[N];
int w[N];

void solve() {
	cin>>str;
	
	m=read();
	for(int i=1;i<=m;i++) scanf("%1d",&l[i]);
	for(int i=1;i<=m;i++) scanf("%1d",&r[i]);
	
	int cur=0;
	for(int i=1;i<=m;i++) {
		int res=0;
		for(int j=l[i];j<=r[i];j++) {
			int temp=str.find(j+'0',cur);
			if(temp==string::npos) {
				printf("YES\n");
				return ;
			}else res=max(res,temp);
		}
		cur=res+1;
	}
	
	printf("NO\n");
}   

int main() {
    // init();
    // stin();

    scanf("%d",&T);
    // T=1; 
    while(T--) hackT++,solve();
    
    return 0;       
}          

到了这里,关于C. Strong Password的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)

    C. Kefa and Park 求叶节点数量,叶节点满足,从根节点到叶节点的路径上最长连续1的长度小于m 这道题目主要是实现,当不满足条件时直接返回。 到达叶节点后统计答案,用vector存图的话,无向图时,叶节点的边只有一条,也就是 g [ i ] . s i z e ( ) = = 1 g[i].size()==1 g [ i ] . s i ze

    2024年02月19日
    浏览(39)
  • Codeforces Round 911 (Div. 2) C. Anji‘s Binary Tree (DFS + 树)

    题目 思路:         dfs树的每一条到叶子的路径, 并计算路径中需要修改的个数, 在这些个数中取最小值 注意:         本题中的树是以每个结点的左右孩子是什么的形式给出的, 所以可以不用建树, 只需保存每个结点的左右孩子是什么即可。 代码:

    2024年01月16日
    浏览(43)
  • Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

    Problem - 15C - Codeforces 目录 Nim游戏: 1~n的异或和: 代码: n个石头堆,谁最后没得取谁败 我用的异或思考法,对所有堆异或。 开局异或和为0的败 最后全是0,异或完也是0. //最后是0,这位就输了 //A选手让异或和为0,B选手必须动一下,而他做任何操作都会使异或和不为0 //这

    2024年02月21日
    浏览(60)
  • Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)

    C. Digital Logarithm 给两个长度位 n n n 的数组 a a a 、 b b b ,一个操作 f f f 定义操作 f f f 为, a [ i ] = f ( a [ i ] ) = a [ i ] a[i]=f(a[i])=a[i] a [ i ] = f ( a [ i ]) = a [ i ] 的位数 求最少多少次操作可以使 a 、 b a、b a 、 b 两个数组变得完全相同 性质: 对于任何数,经过两次操作我们一定可以

    2024年02月20日
    浏览(38)
  • 【Codeforces】 CF79D Password

    CF方向 Luogu方向 看到区间异或,一个经典的套路是做差分,我们即在 l l l 处异或一次,在 r + 1 r+1 r + 1 处异或一次,然后前缀和起来 于是我们可以将问题转化成:有一个序列初始全 0 0 0 ,每次可以把相隔 a i a_i a i ​ 的数都 ⊕ 1 oplus 1 ⊕ 1 ,求最少将其变成一个状态的步数

    2024年02月08日
    浏览(40)
  • Codeforces Round 169 (Div. 2)C. Little Girl and Maximum Sum(差分、贪心)

    C. Little Girl and Maximum Sum 给q个[l,r]将所有这些区间里面的数相加和最大。 可以进行的操作是任意排列数组 对出现的每个区间内的位置加上1,代表权值 操作完之后求一遍前缀和,得到每个位置的权值 然后贪心的考虑,权值越大,应该分配给该位置的数越大越好这样对答案的贡

    2024年02月21日
    浏览(39)
  • C. Salyg1n and the MEX Game Codeforces Round 897 (Div. 2)

    Problem - C - Codeforces 题目大意:有一个所有数互不相同的长度为n的数组n,A先手,可以向数组中假如一个没有的数x,B可以从数组中移除一个x的数,目标是使数组最终的MEX最小,扮演A进行操作,使数组最终的MEX最大 1=n=1e5;最大回合数为n 思路:我们要让当前数组的MEX增大,必

    2024年02月07日
    浏览(33)
  • 【每日一题】—— C. K-th Not Divisible by n (Codeforces Round 640 (Div. 4))

    🌏博客主页: PH_modest的博客主页 🚩当前专栏: 每日一题 💌其他专栏: 🔴 每日反刍 🟡 C++跬步积累 🟢 C语言跬步积累 🌈座右铭: 广积粮,缓称王! 题目大意:找第k个不能整除n的数字 题目链接:C. K-th Not Divisible by n (Codeforces Round 640 (Div. 4)) 这是一个找规律题 n前面

    2024年02月15日
    浏览(51)
  • 【目标跟踪算法】Strong SORT多目标跟踪模型论文解析+代码详解

    1. Strong SORT算法的背景和概述 Strong SORT算法基于经典的Deep SORT模型,并从目标检测模型、表征特征模型和匹配算法等各个方面对其进行了升级优化。 1.1 表观特征分支的优化算法 对于Strong SORT算法的表观特征分支部分,主要是进行了2方面的优化,一是优化了特征提取器的能力

    2024年02月12日
    浏览(37)
  • 快速入门 Codeforces 算法比赛/练习 网站

    Codeforces是一家为计算机编程爱好者提供在线评测系统的俄罗斯网站。同时也是广大ACM编程爱好者所喜爱,被使用的网站之一,但是有很多编程小白刚接触此类算法网站,不太熟悉如何使用,这里博主给出快速入门Codeforces的图文教程。 Codeforces官网: Codeforces 我们刚进入网站会

    2024年02月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包