C. Strong Password

Problem - C - 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

// 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;       
}          

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

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

相关文章

python_股票增加控制人与流通股东等筛选条件

目录 写字前面&#xff1a; 结果展示 获取数据 行业数据 控制人数据 十大流通股东数据 开始合并 1 从行业数据中提取证券股的行业数据 2 合并控制人数据 3 合并十大流通股东 4 把三个结果按列合并 写字前面&#xff1a; 在分析数据的时候&#xff0c;常常需要的字段…

如何实现CAN-SOME/IP通信路由测试

区别于基于UDP的车内通信路由&#xff0c;基于SOME/IP协议的路由增加了服务发现&#xff08;Service Discovery&#xff09;和服务发布&#xff08;Service Publish&#xff09;&#xff0c;那对于测试工程师来说&#xff0c;怎么实现CAN-SOME/IP路由的测试呢&#xff1f; 01 …

爬虫基本原理

一、爬虫的原理 爬虫是什么&#xff1f;把互联网上的数据&#xff0c;抓取下来&#xff0c;存到自己的本地。 以百度为例&#xff0c;爬取一个个的网页&#xff0c;存到自己库中&#xff0c;当我们搜索的时候&#xff0c;去百度的数据库中搜索&#xff0c;显示在前端&#xf…

【K8S系列】深入解析K8S调度

序言 做一件事并不难&#xff0c;难的是在于坚持。坚持一下也不难&#xff0c;难的是坚持到底。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记论点蓝色&#xff1a;用来标记论点 Kubernetes (k8s) 是一个容器编…

基于springboot的智慧养老系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

面部识别技术VS其他生物识别技术:哪种更安全、更准确、更可靠?

面部识别技术是一种生物识别技术&#xff0c;通过分析人脸特征&#xff0c;识别和验证个体身份。与其他生物识别技术相比&#xff0c;面部识别技术具有一些独特的优点和局限性。下面将从技术原理、应用场景、准确性、安全性、可用性等方面&#xff0c;对面部识别技术与其他生物…

【云原生】Init 容器

Init 容器 v ljx97609760 一起沟通学习 Init 容器是一种特殊容器&#xff0c;在 Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本 理解 Init 容器 每个 Pod 中可以包含多个容器&#xff0c; 应用运行在这些容器里面&#xff0c;…

centos磁盘挂载

通常情况下&#xff0c;云平台开出来的服务器只有默认的系统盘&#xff0c;而数据盘需要运维人员自己挂载在数据目录&#xff0c;此篇记录centos磁盘挂载的过程&#xff0c;以便今后遇到类似情况便于查看。 系统版本&#xff1a;centos7.9 1、查看磁盘情况&#xff1a; [root…

数学建模学习之简单设备分配问题

简单的设备分配问题 某公司新购置了某种设备 6台&#xff0c;欲分配给下属的4 个企业&#xff0c;已知各企业获得这种设备后年创利润如表 1.1 所示&#xff0c;单位为千万元。问应如何分配这些设备能使年创总利润最大&#xff0c;最大利润是多少? 表1.1的数据为&#xff1a; 对…

Go 微服务开发框架 DMicro 的设计思路

Go 微服务开发框架 DMicro 的设计思路 DMicro 源码地址: Gitee:dmicro: dmicro是一个高效、可扩展且简单易用的微服务框架。包含drpc,dserver等 背景 DMicro 诞生的背景&#xff0c;是因为我写了 10 来年的 PHP&#xff0c;想在公司内部推广 Go, 公司内部的组件及 rpc 协议…

Webpack5开发模式选择

Webpack 5 是一款强大的模块打包工具&#xff0c;可用于将许多分散的模块按照依赖关系打包成一个&#xff08;或多个&#xff09;bundle。在Webpack 5中&#xff0c;主要有两种开发模式&#xff0c;分别是开发模式&#xff08;development&#xff09;和生产模式&#xff08;pr…

LeetCode 142.环形链表II

142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *detectCycle(ListNode …

4.日志分布式-ELK

文章目录 日志分布式-ELK概念可以添加的其它组件filebeat 结合 logstash 带来好处为什么要使用 ELK缓存和Fluentd完整日志系统基本特征ELK 的工作原理 部署Elasticsearchjdk环境和防火墙配置安装Elasticsearch修改配置文件优化内存参数启动程序并测试效果安装 Elasticsearch-he…

leetcode-344. 反转字符串

leetcode-344. 反转字符串 文章目录 leetcode-344. 反转字符串一.题目描述二.第1次提交(std::reverse)三.第2次提交(左右指针)四.第3次提交(左右指针&#xff0c;swap函数)五.第4次提交(左右指针) 一.题目描述 二.第1次提交(std::reverse) class Solution {public:void revers…

常用数字电路模块:计数器与分频器(一)

本文介绍常见的电路——计数器&#xff0c;方便后续讲解分频电路。 一、计数器 &#xff08;1&#xff09;计数器代码   计数器&#xff0c;顾名思义就是在时钟的节拍下进行计数&#xff0c;一个简单的N位计数器的代码如下所示&#xff0c;这个计数器从0计数到2N -1&#x…

python爬虫

一.爬虫介绍 1.什么是爬虫 爬虫&#xff08;Spider&#xff09;&#xff0c;也被称为网络爬虫或网络蜘蛛&#xff0c;是一种自动化程序&#xff0c;用于在互联网上浏览和提取信息。爬虫通过模拟人类用户访问网页的行为&#xff0c;从网页中提取数据并将其存储或进行进一步处理…

ubuntu freeradius 3.0 + mariadb

安装数据库及Radius sudo apt update sudo apt install -y freeradius freeradius-mysql freeradius-utils mariadb-server mariadb-client# sudo mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDBSERVERS IN PRODUCTION USE…

Springboot启用HTTP响应压缩

官方文档:https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/htmlsingle/#how-to-enable-http-response-compression

mmc记录

1、获取csd&#xff0c;也就是DSR寄存器 说是应该可以获取块长度、卡存储容量等&#xff0c;但是在8953上&#xff0c;没看到这个日志 参考&#xff1a; 一、有6个主要的和寄存器 1、OCR寄存器 描述了存储卡的Vdd电压描述 &#xff0c;总共32Bit Bit31 --- 卡上电状态位&…

赋能智能智造-RK3568智能主板助力机器人产业高速发展

机器人作为现代制造业的重要一环&#xff0c;正在以惊人的速度推动着生产效率和智能化水平的提升&#xff0c;它们在生产线上的准确操作和高效工作&#xff0c;为企业带来了巨大的竞争优势。关于工业机器人的编程和控制技术&#xff0c;在过去几年中已经有了很多发展和新的应用…