【CF闯关练习】—— 800分段

🌏博客主页:PH_modest的博客主页
🚩当前专栏:cf闯关练习
💌其他专栏:
🔴每日一题
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.关卡1(00:11)

👉传送门👈
在这里插入图片描述

题目大意:


单果有一个整数 n n n

他想把这个数表示为三个不同的正整数 x x x y y y z z z 的和。此外,Monocarp 希望 x x x y y y z z z 中没有一个能被 3 3 3 整除。

你的任务是帮助 Monocarp 找到由不同的正整数 x x x y y y z z z 组成的有效三元组,或者报告说这样的三元组不存在。


1.Tutorial

a固定是1,b从2开始递增,c从n-b开始递减,然后维护b和c,判断他们是否是3的倍数,如果不满足条件就b++,c–,直到b>=c就结束

2.Solution

//https://codeforces.com/problemset/problem/1886/A
//00:11
//a固定是1,b从2开始递增,c从n-b开始递减,然后维护b和c,判断他们是否是3的倍数,如果不满足条件就b++,c--,直到b>=c就结束
#include<iostream>
#include<algorithm>
#include<string>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;void solve()
{int n;cin>>n;int a,b,c;a=1;n-=1;b=2;c=n-b;while(b<c){if(b%3==0||c%3==0){b+=1;c-=1;continue;}else{cout<<"Yes"<<"\n"<<a<<" "<<b<<" "<<c<<"\n";return;}}if(b>=c){cout<<"NO"<<"\n";}else{cout<<"Yes"<<"\n"<<a<<" "<<b<<" "<<c<<"\n";}
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

二.关卡2(00:14(-1))

👉传送门👈
在这里插入图片描述

题目大意:


Monocarp 组织了一次举重比赛。有 n n n 个运动员参加比赛, i i i 个运动员有 s i s_i si 个力量和 e i e_i ei 个耐力。第 1 1 1 名运动员是莫诺卡普的朋友波利卡普,莫诺卡普非常希望波利卡普能够获胜。

比赛将按以下方式进行。评委将选择一个正**(大于零)整数 w w w ,表示比赛中使用的杠铃的重量。每位运动员的目标是尽可能多地举起杠铃。举起杠铃次数最多的运动员将被宣布为获胜者(如果有多个这样的运动员–则没有获胜者)**。

如果杠铃的重量 w w w 严格**大于 i i i (第3名)运动员的力量 s i s_i si ,那么 i i i (第3名)运动员将一次也举不起杠铃。否则, i i i th运动员就能举起杠铃,而且他举起杠铃的次数将等于他的耐力 e i e_i ei

例如,假设有 4 4 4 个运动员,参数分别为 s 1 = 7 , e 1 = 4 s_1 = 7, e_1 = 4 s1=7,e1=4 s 2 = 9 , e 2 = 3 s_2 = 9, e_2 = 3 s2=9,e2=3 s 3 = 4 , e 3 = 6 s_3 = 4, e_3 = 6 s3=4,e3=6 s 4 = 2 , e 4 = 2 s_4 = 2, e_4 = 2 s4=2,e4=2 。如果杠铃的重量是 5 5 5 ,那么:

  • 第一名运动员能够举起杠铃 4 4 4 次;
  • 第二名运动员能够举起杠铃 3 3 3 次;
  • 第三名运动员将无法举起杠铃;
  • 第四名运动员将无法举起杠铃。

莫诺卡普想选择 w w w ,让波利卡普( 1 1 1 (st)运动员)赢得比赛。请帮助他选择 w w w 的值,或者报告说这是不可能的。


1.Tutorial

从第二个人开始遍历,先看耐力值,如果大于等于第一个人再看力量,如果力量也大于等于那么就说明没有w满足条件

2.Solution

//https://codeforces.com/problemset/problem/1879/A
//00:14(-1)
//没输入完不能直接结束
//从第二个人开始遍历,先看耐力值,如果大于等于第一个人再看力量,如果力量也大于等于那么就说明没有w满足条件
#include<iostream>
#include<algorithm>
#include<string>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;void solve()
{int n;cin>>n;int s=0,e=0;cin>>s>>e;int ans=s;for(int i=0;i<n-1;i++){int a,b;cin>>a>>b;if(b<e){continue;}else{if(a>=s){ans=-1;}}}cout<<ans<<"\n";
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

3.Conclusion

写的时候WA了一发,检查的时候发现当程序中有数据不满足时我就直接结束程序了,导致后面还有数据没输入,这就是边输入边检查最容易犯的一个错误


三.关卡3(00:19(-3))

👉传送门👈
在这里插入图片描述

题目大意:


塞尔维亚信息学奥林匹克竞赛结束后,阿莱克萨非常伤心,因为他没有获得奖牌(他不知道奖牌的数量),所以瓦西里耶来给他出了一道简单的题,让他的心情好起来。

瓦西里耶给了阿列克萨一个正整数 n n n ( n ≥ 3 n \ge 3 n3 ),让他构造一个大小为 n n n 的正整数严格递增数组,使得

  • 3 ⋅ a i + 2 3\cdot a_{i+2} 3ai+2 不能被 a i + a i + 1 a_i+a_{i+1} ai+ai+1 整除。( 1 ≤ i ≤ n − 2 1\le i \le n-2 1in2 ).

请注意,大小为 n的严格递增数组 a是一个每 i( 1≤i≤n−1) 都有 a i a_i ai< a i + 1 a_{i+1} ai+1的数组。

由于 Aleksa 认为自己现在是个糟糕的程序员,所以他请你帮他找到这样一个数组。


1.Tutorial

通过选择第一个 n,奇正整数 1,3,5,…,2n-1,我们发现 3*ai+2也是奇数,而数字 ai+ai+1是偶数,奇数永远不能被偶数整除,所以构造是正确的。

2.Solution

//https://codeforces.com/problemset/problem/1878/B
//00:19,-3
//通过选择第一个 n,奇正整数 1,3,5,…,2n-1,我们发现 3*ai+2也是奇数,而数字 ai+ai+1是偶数,奇数永远不能被偶数整除,所以构造是正确的。
//
#include<iostream>
#include<algorithm>
#include<string>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;int s[200020];void solve()
{int n;cin>>n;s[0]=1,s[1]=3,s[2]=5;for(int i=3;i<n;i++){s[i]=s[i-1]+2;}for(int i=0;i<n;i++){cout<<s[i]<<" ";}cout<<"\n";
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

3.Conclusion

这道题我写的稀烂,数字没构造好导致WA了三发(数字太大直接越界了),写这类题目应该优先考虑特殊情况


四.关卡4(00:06)

👉传送门👈
在这里插入图片描述

题目大意:

1.Tutorial

所有队伍的效率和为0

2.Solution

//https://codeforces.com/problemset/problem/1877/A
//00:06
//所有队伍的效率和为0
#include<iostream>
#include<algorithm>
#include<string>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;void solve()
{int n;cin>>n;int sum=0;for(int i=0;i<n-1;i++){int a;cin>>a;sum+=a;}cout<<0-sum<<"\n";
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

3.Conclusion


五.关卡5(00:09)

👉传送门👈
在这里插入图片描述

题目大意:


给你一张长 s s s 格的纸条。每个单元格要么是黑色,要么是白色。在一次操作中,你可以取任意 k k k 个连续的单元格,并将它们全部变为白色。

请计算去除所有黑色单元格所需的最少操作次数。


1.Tutorial

直接找B,找到之后将指针往后移动k个单位

2.Solution

//https://codeforces.com/problemset/problem/1873/D
//00:09
//直接找B,找到之后将指针往后移动k个单位
#include<iostream>
#include<algorithm>
#include<string>
#include<deque>
#include<map>
#include<set>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;void solve()
{int n,k;cin>>n>>k;string s;cin>>s;int ans=0;for(int i=0;i<n;i++){if(s[i]=='B'){ans++;i+=k;i--;}}cout<<ans<<"\n";
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

最后:

每日一题系列旨在养成刷题的习惯,所以对代码的解释并不会特别详细,但足够引导大家写出来,选的题目都不会特别难,但也不是特别简单,比较考验大家的基础和应用能力,我希望能够将这个系列一直写下去,也希望大家能够和我一起坚持每天写代码。

之后每个星期都会不定期更新codeforces和atcoder上的题目,想要学习算法的友友们千万别错过了,有什么疑问欢迎大家在评论区留言或者私信博主!

在这里送大家一句话:广积粮,缓称王!

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

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

相关文章

推荐一个vscode看着比较舒服的主题:Dark High Contrast

主题名称&#xff1a;Dark High Contrast &#xff08;意思就是&#xff0c;黑色的&#xff0c;高反差的&#xff09; 步骤&#xff1a;设置→Themes→Color Theme→Dark High Contrast 效果如下&#xff1a; 感觉这个颜色的看起来比较舒服。

腾讯云发布升级版金融音视频解决方案,提供全新架构、安全和特性

远程银行、视频尽调、全媒体客服、路演直播……近年来&#xff0c;音视频技术支撑下的非接触式金融服务&#xff0c;成为了金融机构数字化转型和探索服务创新的重要方向。 12月21日&#xff0c;腾讯云正式发布升级版金融级音视频解决方案。新方案在架构、安全和特性上进行全面…

【数字图像处理】实验二 图像变换

图像变换 一、实验内容&#xff1a; 1&#xff0e; 熟悉和掌握利用Matlab工具进行数字图像的读、写、显示等数字图像处理基本步骤。 2&#xff0e; 熟练掌握各种图像变换的基本原理及方法。 3&#xff0e; 能够从深刻理解图像变换&#xff0c;并能够思考拓展到一定的应用领域。…

Ubuntu 常用命令之 less 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 less命令是一个在Unix和Unix-like系统中用于查看文件内容的命令行工具。与more命令相比&#xff0c;less命令提供了更多的功能和灵活性&#xff0c;例如向前和向后滚动查看文件&#xff0c;搜索文本&#xff0c;查看长行等。 les…

ChatGPT一周年:开源语言大模型的冲击

自2022年末发布后&#xff0c;ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习&#xff0c;模型可以回答人类问题&#xff0c;并在广泛的任务范围内遵循指令。在获得这一成功之后&#xff0c;人们对LLM的兴趣不断增加&#xff0c;新的LL…

阿里云ECS配置IPv6后,如果无法访问该服务器上的网站,可检查如下配置

1、域名解析到这个IPv6地址,同一个子域名可以同时解析到IPv4和IPv6两个地址&#xff0c;这样就可以给网站配置ip4和ipv6双栈&#xff1b; 2、在安全组规则开通端口可访问&#xff0c;设定端口后注意授权对象要特殊设置“源:::/0” 3、到服务器nginx配置处&#xff0c;增加端口…

Qt之QWidget 自定义倒计时器

简述 Qt提供的带进度显示的只有一个QProgresBar,这个控件要么是加载进度从0~100%,要么是持续的两边滚动;而我想要是倒计时的效果,所以QProgresBar并不满足要求,而Qt重写控件相对于MFC来说简直是轻而易举,所以就整了两种不同的倒计时控件; 效果 代码 QPushButton的绘制部…

2023 英特尔On技术创新大会直播 | AI魅力的生活化

目录 前言正文 前言 依稀记得去年的直播大会&#xff0c;主要展现了其灵活、加速和半集成化的独特优势&#xff0c;广泛应用于人工智能、5G通信、边缘计算以及视觉图像处理等领域&#xff0c;不断提供领先的性能、能效和可编程性的创新。 如今又带来一些不一样的特色&#xf…

通过U盘:将电脑进行重装电脑

目录 一.老毛桃制作winPE镜像 1.制作准备 2.具体制作 下载老毛桃工具 插入U盘 选择制作模式 正式配置U盘 安装提醒 安装成功 具体操作 二.使用ultrasio制作U盘 1.具体思路 2.图片操作 三.硬盘安装系统 具体操作 示例图 ​编辑 一.老毛桃制作winPE镜像 1.制作准…

【Pytorch】学习记录分享6——PyTorch经典网络 ResNet与手写体识别

【Pytorch】学习记录分享5——PyTorch经典网络 ResNet 1. ResNet &#xff08;残差网络&#xff09;基础知识2. 感受野3. 手写体数字识别3. 0 数据集&#xff08;训练与测试集&#xff09;3. 1 数据加载3. 2 函数实现&#xff1a;3. 3 训练及其测试&#xff1a; 1. ResNet &…

Bash 脚本学习

文章目录 1、脚本编程基础2. 变量2.1 参数变量的引用2.2 环境变量 3 条件判断语句3.1 if 语句3.1.1 语法3.1.2 案例 3.2 case 语句3.2.1 语法3.2.2 案例 3.3 判断参数说明 4 循环语句4.1 for 循环4.1.1 语法4.1.2 案例 4.2 while循环4.2.1 语法4.2.2 案例4. 3 循环总结 5. 函数…

Prompt-to-Prompt:基于 cross-attention 控制的图像编辑技术

Hertz A, Mokady R, Tenenbaum J, et al. Prompt-to-prompt image editing with cross attention control[J]. arXiv preprint arXiv:2208.01626, 2022. Prompt-to-Prompt 是 Google 提出的一种全新的图像编辑方法&#xff0c;不同于任何传统方法需要用户指定编辑区域&#xff…

微信小程序开发系列-01创建一个最小的小程序项目

本文讲述了通过微信开发者工具&#xff0c;创建一个新的小程序项目&#xff0c;完全从零开始&#xff0c;不依赖开发者工具的模板。目的是为了更好的理解小程序工程项目的构成。 文章目录 创建一个空项目app.json全局配置pagessitemapLocation app.js 创建一个空项目 打开微信…

新型智慧视频监控系统:基于TSINGSEE青犀边缘计算AI视频识别技术的应用

边缘计算AI智能识别技术在视频监控领域的应用有很多。这项技术结合了边缘计算和人工智能技术&#xff0c;通过在摄像头或网关设备上运行AI算法&#xff0c;可以在现场实时处理和分析视频数据&#xff0c;从而实现智能识别和分析。目前来说&#xff0c;边缘计算AI视频智能技术可…

aws-waf-cdn 基于规则组的永黑解决方案

1. 新建waf 规则组 2. 为规则组添加规则 根据需求创建不同的规则 3. waf中附加规则组 &#xff08;此时规则组所有规则都会附加到waf中&#xff0c;但是不会永黑&#xff09; 此刻&#xff0c;可以选择测试下规则是否生效&#xff0c;测试前确认保护资源绑定无误 4. 创建堆…

02 - Kbuild子系统(整理中)

1. Kbuild简介 Kernel build&#xff0c;用来编译 Linux 内核基于 GNU make 设计&#xff0c;对 Makefile 进行扩充 菜单式配置&#xff1a;Kconfig预定义目标和变量&#xff1a;xx_defconfig、menuconfig、obj-y跨平台工具、递归式 Makefile Linux 模块化设计、高度可以裁剪 …

java开发面试:常见业务场景之单点登录SSO(JWT)、权限认证、上传数据的安全性的控制、项目中遇到的问题、日志采集(ELK)、快速定位系统的瓶颈

单点登录&#xff08;SSO&#xff09; 单点登录&#xff0c;Single Sign On&#xff08;简称SSO&#xff09;,只需要登录一次&#xff0c;就可以访问所有信任的应用系统。 如果是单个tomcat服务&#xff0c;session可以共享&#xff0c;如果是多个tomcat&#xff0c;那么服务s…

tcp 的限制 (TCP_WRAPPERS)

#江南的江 #每日鸡汤&#xff1a;青春是打开了就合不上的书&#xff0c;人生是踏上了就回不了头的路&#xff0c;爱情是扔出了就收不回的赌注。 #初心和目标&#xff1a;拿到高级网络工程师 TCP_WRAPPERs Tcp_wrappers 对于七层模型中是位于第四层的安全工具&#xff0c;他…

微信小程序 动态设置状态栏样式

onLoad(options) {//修改状态栏标题wx.setNavigationBarTitle({title: 页面标题, //页面标题success: () > {}, //接口调用成功的回调函数fail: () > {}, //接口调用失败的回调函数complete: () > {} //接口调用结束的回调函数&#xff08;调用成功、失败…

[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]

文章目录 前言小结 原文地址&#xff1a;https://blog.csdn.net/qq_45752541/article/details/132854115 前言 mesh 和点是最常见的3D场景表示&#xff0c;因为它们是显式的&#xff0c;非常适合于快速的基于GPU/CUDA的栅格化。相比之下&#xff0c;最近的神经辐射场&#xf…