牛客小白月赛84

A打靶

题目描述

小蓝非常喜欢玩FPS类游戏,最近他迷上了一款打靶游戏,已知总共会出现 n\mathit nn 个靶子,每次开枪如果打中了靶子则会得到 1\text 11 分,另外不论这次开枪打中与否,靶子都将消失,现在有 m\mathit mm 个靶子已经出现过(出现过的靶子不会再出现),现在小蓝已经得到了 X\mathit XX 分,小蓝想知道他是否有可能最终分数为 Y\mathit YY 。

输入描述:

 

第一行包含一个整数 T(1≤T≤100)T (1 \leq T \leq 100 )T(1≤T≤100) ,表示测试用例的组数。

对于每组测试用例:

输入一行包含四个整数 n,m,X,Y(1≤m≤n≤106,0≤X≤m,0≤Y≤109)n,m,X,Y( 1 \leq m \leq n \leq 10^6,0 \leq X \leq m,0 \leq Y \leq 10^9)n,m,X,Y(1≤m≤n≤106,0≤X≤m,0≤Y≤109) 。

输出描述:

 

对于每组测试用例:

输出一个字符串,若小蓝想最终分数有可能为 Y\mathit YY 则输出 "Yes" ,否则输出 "No" (不带引号)。

示例1

输入

3
5 3 1 3
5 3 2 3
5 3 1 4

输出

Yes
Yes
No
void sol(){int n,m,x,y;cin>>n>>m>>x>>y;cout<<(n-m>=y-x&&x<=y?"Yes":"No")<<endl;
}

B小蓝的疑惑

题目描述

又到了上数学课的日子,老师在讲台上面讲课,问了一个问题,现有 a,ba,ba,b 两正整数,给定 gcd(a,b)gcd(a,b)gcd(a,b) 和 lcm(a,b)lcm(a,b)lcm(a,b) ,问能否求得 a,ba,ba,b 两正整数,恰好数学老师看到这时候小蓝在课堂上睡觉,于是数学老师点名提问了小蓝,小蓝想向你求助答案,如果有多对合法的 a,ba,ba,b ,输出 a\mathit aa 最小的那一对答案,若仍然有多个 a\mathit aa 最小的答案对,输出 a\mathit aa 最小且 b\mathit bb 最小的答案,否则输出 "-1" (不带引号)。

输入描述:

 

第一行包含一个整数 T(1≤T≤100)T (1 \leq T \leq 100)T(1≤T≤100) ,表示测试用例的组数。

对于每组测试用例:

输入一行包含两个整数 X,Y(1≤X,Y≤105)X,Y (1 \leq X,Y \leq 10^5)X,Y(1≤X,Y≤105) 分别表示 gcd(a,b)gcd(a,b)gcd(a,b) 和 lcm(a,b)lcm(a,b)lcm(a,b) 。

输出描述:

 

对于每组测试用例:

仅输出一行。若有合法的 a,ba,ba,b 则输出两个数表示答案。否则输出 "-1" (不带引号)。

void sol(){int x,y;cin>>x>>y;if(y%x!=0) return cout<<-1<<endl,void();cout<<x<<" "<<y<<endl;
}
Ck级序列

题目描述

小蓝得到了一个长度为 n\mathit nn 的序列 a\mathit aa ,以及一个非负整数 k\mathit kk ,小蓝想知道是否存在一个长度为 n\mathit nn 的序列 b\mathit bb 使得 ∀1≤i≤n,∣ai−bi∣≤k\forall 1\leq i \leq n,\left| a_i-b_i \right| \leq k∀1≤i≤n,∣ai​−bi​∣≤k 均满足并且 b\mathit bb 序列非降序。

我们称一个长度为 n\mathit nn 的序列 b\mathit bb 非降序当且仅当对于 ∀2≤i≤n,bi−1≤bi\forall 2 \leq i \leq n,b_{i-1} \leq b_i∀2≤i≤n,bi−1​≤bi​ 均满足。

输入描述:

 

第一行包含一个整数 T(1≤T≤105)T (1 \leq T \leq 10^5)T(1≤T≤105) ,表示测试用例的组数。

对于每组测试用例:

第一行输入两个整数 n,k(1≤n≤2⋅105,0≤k≤109)n,k (1 \leq n \leq 2 · 10^5,0 \leq k \leq 10^9 )n,k(1≤n≤2⋅105,0≤k≤109) 。

第二行输入 nnn 个整数表示序列 a(−109≤ai≤109)a (-10^9 \leq a_i \leq 10^9)a(−109≤ai​≤109) 。

保证 ∑i=1Tn≤106\sum_{i=1}^{T}{n} \leq 10^6∑i=1T​n≤106 。

输出描述:

 

对于每组测试用例:

输出一个字符串,若存在序列 b\mathit bb 则输出 "Yes" ,否则输出 "No" (不带引号)。

void sol(){int n,k;cin>>n>>k;vector<ll> a(n+1),b(n+1);b[0]=-1e18;rep(i,1,n) cin>>a[i];rep(i,1,n) {ll l=max(b[i-1],a[i]-k),r=a[i]+k;if(l>r) return cout<<"No"<<endl,void();b[i]=l;}cout<<"Yes"<<endl;
}
DReverse

题目描述

小蓝在异世界游玩,这天他在异世界中发现了一个阵法,出于好奇小蓝进入了这个阵法,在阵法里小蓝获得了一个长度为 n\mathit nn 的 010101 串,现在小蓝想要出去,但是阵法被下了禁制,小蓝必须要回答对若干次关于 010101 串的问题才能解开阵法,具体来说,有 q\mathit qq 次询问,每次询问给出两个整数 l,r\mathit l, \mathit rl,r 表示一个区间,其中 l\mathit ll 为左端点, r\mathit rr 为右端点,表示将 s\mathit ss (下标从 1\text 11 开始)串的区间 [l,r][ \mathit l, \mathit r][l,r] 翻转,问翻转后的整个 010101 串中连续 1\text 11 的段数有多少段,以小蓝的水平难以作答,请你帮他脱困。

每次询问独立。

输入描述:

 
第一行输入两个正整数 n,q(1≤n≤106,1≤q≤2⋅105)\mathit n, \mathit q (1\leq \mathit n \leq 10^6 , 1\leq \mathit q\leq 2·10^5)n,q(1≤n≤106,1≤q≤2⋅105) 。
第二行输入一个 010101 字符串  s\mathit ss ,其中 s\mathit ss 的长度为 n\mathit nn 。
接下来 q\mathit qq 行,每行输入两个整数 l,r(1≤l≤r≤n)\mathit l, \mathit r(1\leq \mathit l \leq \mathit r \leq \mathit n)l,r(1≤l≤r≤n) 。

输出描述:

对于第 i\mathit  ii 个询问,输出一个整数表示将区间 [l,r][ \mathit l, \mathit r][l,r] 翻转后,整个 010101 串中连续 1\text 11 的段数。
void sol(){int n,q;cin>>n>>q;string s;cin>>s;s+='0';int cnt=0;rep(i,1,n) if(s[i]=='0'&&s[i-1]=='1') cnt++;while(q--) {int L,R;cin>>L>>R;L--,R--;if(s[L]==s[R]) cout<<cnt<<endl;else if(s[L]=='0') {int ans=cnt;if(L>0&&s[L-1]=='1') ans--;if(R<n-1&&s[R+1]=='1') ans++;cout<<ans<<endl;}else if(s[R]=='0') {int ans=cnt;if(L>0&&s[L-1]=='1') ans++;if(R<n-1&&s[R+1]=='1') ans--;cout<<ans<<endl;}}
}
EDog vs Cat


 

题目描述

小蓝最近在异世界的国度中生活,最近国度中丞相的空缺,有两位候选人,我们称其中一人为 Dog 先生,另一人为 Cat 先生,他们俩因为谁上位的问题一直摩擦不断,国王也很无奈,于是请小蓝解决这个问题,小蓝想到了一个办法:给定长度为 n\mathit nn 的序列 a\mathit aa , Dog 先生和 Cat 先生每次可以将序列 a\mathit aa 中的某个非零数减一,两人轮流操作, Cat 先生先手,若某人无法进行操作或者操作后出现以下局面则输掉比赛:
1、设 x\mathit xx 为序列 a\mathit aa 中的最小数,设 cnt[x]cnt[x]cnt[x] 为数字 x\mathit xx 在序列 a\mathit aa 中出现的次数,n−cnt[x]≤cnt[x]<nn-cnt[x] \leq cnt[x] <nn−cnt[x]≤cnt[x]<n 。
2、x=0\mathit x=\text 0x=0 且 cnt[x]=ncnt[x]= \mathit ncnt[x]=n 。

国王看到这个游戏觉得很好,于是下令谁赢得这场游戏谁就是新的丞相,已知 Dog 先生和 Cat 先生都发挥最佳,最终是谁成为了新丞相?

输入描述:

 
第一行包含一个整数 T(1≤T≤106)T(1 \leq T \leq 10^6)T(1≤T≤106),表示测试用例的组数。
对于每组测试用例:
第一行输入一个正整数 n(1≤n≤106)n(1 \leq n \leq 10^6)n(1≤n≤106) 。
第二行输入 nnn 个整数表示序列 a(0≤ai≤109)a(0 \leq a_i \leq 10^9)a(0≤ai​≤109) 。
保证 ∑i=1Tn≤106\sum_{i=1}^{T}{n \leq 10^6}∑i=1T​n≤106 。

输出描述:

 
对于每组测试用例:
输出一个字符串,若Cat先生成为新丞相输出 "Cat" ,否则输出 "Dog" (不带引号)。
void sol(){int n;cin>>n;vector<ll> a(n+1);rep(i,1,n) cin>>a[i];if(n==1) {if(a[1]==0) cout<<"Dog"<<endl;else cout<<(a[1]%2==1?"Dog":"Cat")<<endl;}else if(n==2) {if(abs(a[1]-a[2])!=1||max(a[1],a[2])==1) cout<<"Dog"<<endl;else cout<<"Cat"<<endl;}else {int cnt=count(all(a),0)-1;ll sum=-n+((n+1)/2-1);//减去 1 的数量for(int x:a) sum+=x;if(cnt*2>=n) cout<<"Dog"<<endl;else cout<<(sum%2==1?"Dog":"Cat")<<endl;}
}
F小蓝的构造

题目描述

一年一度的圣诞节要到了,如果你也想圣诞老人送你礼物的话,请试着解决圣诞老人留下的这个问题。

对于一个 010101 串 t\mathit tt ,定义函数 f(t,x)=∑r−l=x[t[l]=′0′&&t[r]=′1′]f(t,x)=\sum_{r-l=x}{[t[l]='0'\&\&t[r]='1']}f(t,x)=∑r−l=x​[t[l]=′0′&&t[r]=′1′] ,现在圣诞老人希望你给他一个长度为 n\mathit nn 的字符串 t\mathit tt ,而且,圣诞老人会规定 f(t,1)f(t,1)f(t,1) ~ f(t,n−1)f(t,n-1)f(t,n−1) 的值,你能否构造出一个合法的字符串 t\mathit tt 交给圣诞老人?如果有多个答案 输出任意一个即可,否则输出 "-1" (不带引号)。

输入描述:

 

第一行输入一个正整数 n(2≤n≤40)n(2 \leq n \leq 40)n(2≤n≤40) 。

第二行输入一个长度为 n−1n-1n−1 的序列 a(0≤ai≤⌊n2⌋)a(0 \leq a_i \leq \lfloor \dfrac {n}{2} \rfloor )a(0≤ai​≤⌊2n​⌋) 表示 f(t,1)f(t,1)f(t,1) ~ f(t,n−1)f(t,n-1)f(t,n−1) 。

输出描述:

如果有解,则输出一个长度为 n\mathit nn 的字符串表示答案,如果有多个答案 输出任意一个即可。否则输出 "-1" (不带引号)。
void sol(){int n;cin>>n;vector<int> f(n);rep(i,1,n-1) cin>>f[i];string s;auto check=[&](int fl)->bool {s=string(n,'0');rep(i,0,(n-1)/2+1) if(fl>>i & 1) s[i]='1';per(len,n-1,1) {int cnt=0;for(int i=0,j=len;j<n;i++,j++) if(s[i]=='0'&&s[j]=='1') cnt++;       if(cnt!=f[len]) {if(len>=(n-1)/2+1&&cnt==f[len]-1&&s[0]=='0') s[len]='1';else return false;}}return true;};for(int i=0;i<(1<<((n-1)/2+1));i++) if(check(i)) return cout<<s<<endl,void();cout<<-1<<endl;
}

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

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

相关文章

提高ThinkPHP对url的安全性

要提高ThinkPHP对url的安全性&#xff0c;可以考虑以下几点&#xff1a; 1. 使用URL重写&#xff1a;在ThinkPHP框架中&#xff0c;可以通过配置文件或者.htaccess文件启用URL重写功能&#xff0c;将URL中的参数隐藏起来&#xff0c;更难被攻击者猜测和利用。 2. 进行输入验证…

为即将到来的量子攻击做好准备的 4 个步骤

当谈到网络和技术领域时&#xff0c;一场风暴正在酝酿——这场风暴有可能摧毁我们数字安全的根本结构。这场风暴被称为 Q-Day&#xff0c;是即将到来的量子计算时代的简写&#xff0c;届时量子计算机的功能将使最复杂的加密算法变得过时。 这场量子革命正以惊人的速度到来&am…

如何使用Node.js快速创建本地HTTP服务器并实现公网访问服务端

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

正则表达式基础

文章目录 发现宝藏前言1. 正则表达式的定义2. 常见的正则表达式字符3. 经典示例3.1 匹配电子邮件地址3.2 匹配URL3.3 匹配日期3.4 匹配IP地址3.5 匹配HTML标签3.6 匹配电话号码3.7 匹配用户名 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0…

三、C语言中的分支与循环—while循环 (5)

本章分支结构的学习内容如下&#xff1a; 三、C语言中的分支与循环—if语句 (1) 三、C语言中的分支与循环—关系操作符 (2) 三、C语言中的分支与循环—条件操作符 与逻辑操作符(3) 三、C语言中的分支与循环—switch语句&#xff08;4&#xff09;分支结构 完 本章循环结…

虚拟机类加载机制

类的生命周期 类的生命周期指的是在Java程序中&#xff0c;一个类从编写到被加载、连接、初始化、使用、卸载的整个过程。类的生命周期可以分为以下几个阶段&#xff1a; 加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化&#xff0c;使用&#xff0…

2023年郑州轻工业大学软件学院数据结构实验五-查找与排序(详解+源码C语言版+运行结果)

实验要求 一、实验目的 1&#xff0e;掌握常用的查找和排序算法思想&#xff1b; 2&#xff0e;能够用所学过的查找和排序算法解决生活中的实际应用问题。 二、课程目标 支撑课程目标&#xff08;4&#xff09;&#xff1a;能够在软件开发过程中&#xff0c;针对特定需求综…

Nginx 代理静态资源,解决跨域问题

&#x1f602; 背景&#xff1a;移动端 H5 项目&#xff0c;依赖了一个外部的 JS 文件。访问时&#xff0c;出现跨域&#xff0c;导致请求被 block。 当前域名&#xff1a;https://tmcopss.test.com要访问的 JS 文件&#xff1a;https://tm.test.com/public/scripts/y-jssdk.j…

漏洞复现-海康威视网络对讲广播系统远程命令执行漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

基于Java (spring-boot)的在线培训考试系统

一、项目介绍 在线培训系统是一款基于SpringBootVue开发的考试系统。一款多角色在线培训考试系统&#xff0c;系统集成了用户管理、角色管理、部门管理、题库管理、试题管理、试题导入导出、考试管理、在线考试、错题训练等功能&#xff0c;考试流程完善。 多角色&#xff1a;多…

SQL基础知识(一)

SQL 是一种非常常见的用于管理关系型数据库的语言。下面是一些最常见的 SQL 语句&#xff1a; SELECT: 用于从数据库中选择数据。 例子: SELECT column1, column2 FROM table_name;这将选择 table_name 中的 column1 和 column2。 如果你想选择所有列&#xff0c;可以使用 …

基于蝴蝶算法优化的Elman神经网络数据预测 - 附代码

基于蝴蝶算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于蝴蝶算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于蝴蝶优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针…

【DOCKER】详细介绍以及如何创建管理DOCKER

介绍 Docker 什么是 Docker&#xff1f;简要介绍 Docker 的定义和基本概念。Docker 的优势和应用场景。为什么 Docker 在软件开发和部署中如此受欢迎&#xff1f; Docker 的核心概念 Docker 镜像&#xff1a;什么是 Docker 镜像&#xff1f;如何创建和管理 Docker 镜像&#xf…

100天精通Python(实用脚本篇)——第111天:批量将PDF转Word文档(附上脚本代码)

文章目录 专栏导读1. 将PDF转Word文档需求2. 模块安装3. 模块介绍4. 注意事项5. 完整代码实现6. 运行结果书籍推荐 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到就业》&#xff1a;本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教…

前端Vue日常工作中--Vue路由相关

前端Vue日常工作中–Vue路由相关 文章目录 前端Vue日常工作中--Vue路由相关1.路由模式2.router和$route3.路由跳转4.路由守卫5.路由传参6.问题&#xff1a;Vue路由解决页面刷新参数丢失的问题 1.路由模式 Vue 路由模式主要有两种&#xff1a;哈希模式&#xff08;Hash Mode&am…

GRU算法

前置知识&#xff1a;RNN&#xff0c;LSTM LSTM需要训练的参数很多&#xff0c;极消耗计算资源。GRU是一种LSTM的改进算法&#xff0c;参数更少&#xff0c;更容易训练。 它将忘记门和输入门合并成为一个单一的更新门&#xff0c;同时合并了数据单元状态和隐藏状态&#xff0…

CSS 缩减顶部动画

<template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container" mou…

c++ 变量详细解释

C 变量&#xff1a;详细解释 1. 变量声明和初始化 声明&#xff1a;告诉编译器变量的类型和名称。int number;初始化&#xff1a;为变量指定一个初始值。int number 10; // 声明并初始化2. 变量类型 基本类型&#xff1a;包括整数&#xff08;int, short, long&#xff09…

MATLAB指令

01--根据数学公式进行绘制 1.绘制连续函数 ①一元函数 t0:0.1:10; y3*t2; plot(t,y) ②一元二次函数 t0:0.1:10; yt.*t; plot(t,y) 注意此处应为点乘 ③一元3次 t0:0.1:10; yt.*t.*t; plot(t,y) ④y1/t t0:0.1:10; y1./t; plot(t,y) ⑤yexp(t) t0:0.1:10; yexp(2*t); p…

计算机基础面试题 |03.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…