随笔分类 - codeforces
codeforces题解合集
The 2024 CCPC National Invitational Contest (Changchun) , The 17th Jilin Provincial Collegiate Programming Contest E题题解
摘要:
E. Connected Components 题目描述🥰 题目思路😀 根据题目的描述的不等式,我们两个点 i 和 j 之间有边,必须同时满足条件:ai−aj≤i−j≤bi−bj ,对不等式进行经典变式,可以得到边的两个条件 ai - i <= aj - j bi -i >= bj - j 而这
阅读全文
E. Connected Components 题目描述🥰 题目思路😀 根据题目的描述的不等式,我们两个点 i 和 j 之间有边,必须同时满足条件:ai−aj≤i−j≤bi−bj ,对不等式进行经典变式,可以得到边的两个条件 ai - i <= aj - j bi -i >= bj - j 而这
阅读全文
Codeforces Round 1002 (Div. 2) C. Customer Service
摘要:
C. Customer Service 题目链接👈 题目描述🥰 题目思路😀 这个题目我们可以反过来思考问题。 因为ai>=1,所以 在最后时候,队伍数为0的队伍肯定是最后清空的,所以队伍数为多少都可以。 而队伍数为1的肯定是倒数第二个清空的,而且最后来了一个人的。 而队伍人数为2的也肯定是倒数
阅读全文
C. Customer Service 题目链接👈 题目描述🥰 题目思路😀 这个题目我们可以反过来思考问题。 因为ai>=1,所以 在最后时候,队伍数为0的队伍肯定是最后清空的,所以队伍数为多少都可以。 而队伍数为1的肯定是倒数第二个清空的,而且最后来了一个人的。 而队伍人数为2的也肯定是倒数
阅读全文
Codeforces Round 422 (Div. 2) C. Hacker, pack your bags!
摘要:
C. Hacker, pack your bags! 题目链接👈 题目描述🥰 题目思路😀 我们首先需要处理的是如何找出持续时间和为x的两个代金券的问题 而解决这个问题最好的数据结构就是哈希表,我们可以用哈希表存入持续时间是k的所有代金券,当我们需要知道持续时间为x-k的代金券是否存在的话,那就
阅读全文
C. Hacker, pack your bags! 题目链接👈 题目描述🥰 题目思路😀 我们首先需要处理的是如何找出持续时间和为x的两个代金券的问题 而解决这个问题最好的数据结构就是哈希表,我们可以用哈希表存入持续时间是k的所有代金券,当我们需要知道持续时间为x-k的代金券是否存在的话,那就
阅读全文
2024 ICPC ShaanXi Provincial Contest C. Seats&G. Disappearing Number
摘要:
C. Seats 题目链接👈 题目描述🥰 题目思路😀 这个题目乍一看是二分图,实际上是一个基环森林 我们可以注意的: 有2n个点,2n条边,所以如果存在环的话,就只可能存在一个环。 因为一个点的出度只有1(不算自环的那个边),所以整个图相当于1/0个环+1/多个链 所以根据上面的观察,我们只需
阅读全文
C. Seats 题目链接👈 题目描述🥰 题目思路😀 这个题目乍一看是二分图,实际上是一个基环森林 我们可以注意的: 有2n个点,2n条边,所以如果存在环的话,就只可能存在一个环。 因为一个点的出度只有1(不算自环的那个边),所以整个图相当于1/0个环+1/多个链 所以根据上面的观察,我们只需
阅读全文
Codeforces Round 1017 (Div. 4) E&F题&H题
摘要:
Codeforces Round 1017 (Div. 4) E. Boneca Ambalabu 题目链接👈 题目描述🥰 题目思路😀 一个简单的思路就是拆位,最后答案就是每一位的按位异或的贡献之和。 我们可以先预处理一下每一位上的0和1的个数,然后枚举每一个元素ai,对于ai的每一数位进行枚
阅读全文
Codeforces Round 1017 (Div. 4) E. Boneca Ambalabu 题目链接👈 题目描述🥰 题目思路😀 一个简单的思路就是拆位,最后答案就是每一位的按位异或的贡献之和。 我们可以先预处理一下每一位上的0和1的个数,然后枚举每一个元素ai,对于ai的每一数位进行枚
阅读全文
C++的命令行编译
摘要:
C++的命令行编译 为了防止在打比赛时提供的vscode无法使用c++插件的缘故,所以特别学了一下如何命令行编译(😇) 编译程序 首先我们需要编译程序 g++的编译选项一般有下面几种 指定 C++ 标准版本 C++11: -std=c++11 C++14: -std=c++14 C++17: -s
阅读全文
C++的命令行编译 为了防止在打比赛时提供的vscode无法使用c++插件的缘故,所以特别学了一下如何命令行编译(😇) 编译程序 首先我们需要编译程序 g++的编译选项一般有下面几种 指定 C++ 标准版本 C++11: -std=c++11 C++14: -std=c++14 C++17: -s
阅读全文
The 2024 CCPC Shandong Invitational Contest and Provincial Collegiate Programming Contest VP记录
摘要:
I. Left Shifting 题目链接👈 题目描述🥰 题目思路😀 简单模拟即可 AC代码🧠 void solve() { string s; cin>>s; int n=s.size(); if(s[0]==s[n-1]){ cout<<0<<endl; return; } for(in
阅读全文
I. Left Shifting 题目链接👈 题目描述🥰 题目思路😀 简单模拟即可 AC代码🧠 void solve() { string s; cin>>s; int n=s.size(); if(s[0]==s[n-1]){ cout<<0<<endl; return; } for(in
阅读全文
Codeforces Round 1011 (Div. 2) D题
摘要:
D. Serval and Kaitenzushi Buffet 题目链接👈 题目描述🥰 题目思路😀 这个题目的贪心思路真的是很妙了🤯想了很久也没有想到这个贪心的思路😭 我们可以计算到每一个寿司的最晚拿取时间,然后对于时间进行枚举,如果时间 i 是前 i 个寿司里面某个寿司的最晚拿取时间,
阅读全文
D. Serval and Kaitenzushi Buffet 题目链接👈 题目描述🥰 题目思路😀 这个题目的贪心思路真的是很妙了🤯想了很久也没有想到这个贪心的思路😭 我们可以计算到每一个寿司的最晚拿取时间,然后对于时间进行枚举,如果时间 i 是前 i 个寿司里面某个寿司的最晚拿取时间,
阅读全文
Codeforces Round 960 (Div. 2) B C D题
摘要:
B. Array Craft 题目链接👈 题目描述🥰 题目思路😀 我们可以发现两个条件 1.最大前缀后面的值之和不能大于0, 2. 最大后缀前面的值之和不能大于0 而最大前缀和最大后缀中间的值可以不需要管,我们可以把它们全赋值为1,然后再向两边扩展,同时需要满足前面的两个条件。 AC代码🧠
阅读全文
B. Array Craft 题目链接👈 题目描述🥰 题目思路😀 我们可以发现两个条件 1.最大前缀后面的值之和不能大于0, 2. 最大后缀前面的值之和不能大于0 而最大前缀和最大后缀中间的值可以不需要管,我们可以把它们全赋值为1,然后再向两边扩展,同时需要满足前面的两个条件。 AC代码🧠
阅读全文
Codeforces Round 1013 (Div. 3) F. Igor and Mountain
摘要:
F. Igor and Mountain 题目链接👈 题目描述🥰 题目思路😀 这道题最关键的是对于题目意思的理解,理解了题意问题就解决了一半🤠 首先这个题目的意思就是从最低点开始攀爬,每一层都有把手,我们需要借助每层的把手攀爬到顶部,但是我们有几条限制条件,1.我们不能爬着爬着又爬到下一层,
阅读全文
F. Igor and Mountain 题目链接👈 题目描述🥰 题目思路😀 这道题最关键的是对于题目意思的理解,理解了题意问题就解决了一半🤠 首先这个题目的意思就是从最低点开始攀爬,每一层都有把手,我们需要借助每层的把手攀爬到顶部,但是我们有几条限制条件,1.我们不能爬着爬着又爬到下一层,
阅读全文
Educational Codeforces Round 142 (Rated for Div. 2) -C. Min Max Sort
摘要:
C. Min Max Sort 题目链接👈 题目描述🥰 题目思路😀 一个很明显也是不是那么明显的二分思维题。 这个题目我们明显可以逆向思考一下,最后我们是需要排好序的排列,如果数组已经排序,那么答案为0。否则,存在一个最后的操作,使排列变成1 2 3....n的形式。这意味着元素1和n被选为最
阅读全文
C. Min Max Sort 题目链接👈 题目描述🥰 题目思路😀 一个很明显也是不是那么明显的二分思维题。 这个题目我们明显可以逆向思考一下,最后我们是需要排好序的排列,如果数组已经排序,那么答案为0。否则,存在一个最后的操作,使排列变成1 2 3....n的形式。这意味着元素1和n被选为最
阅读全文
Codeforces Round 1008 (Div. 2) C. Breach of Faith
摘要:
C. Breach of Faith 题目链接👈 题目描述🥰 题目思路😀 一个很玄妙的构造题,赛时也是一直wa2,不知道怎么去构造😇,越guess越错 题目的思路来自一个大佬🙇♀️ 首先我们需要考虑到我们构造出来的数是不重复的,所以我们可以把数组排序,用最后的n-1个数减去前面的n-1个
阅读全文
C. Breach of Faith 题目链接👈 题目描述🥰 题目思路😀 一个很玄妙的构造题,赛时也是一直wa2,不知道怎么去构造😇,越guess越错 题目的思路来自一个大佬🙇♀️ 首先我们需要考虑到我们构造出来的数是不重复的,所以我们可以把数组排序,用最后的n-1个数减去前面的n-1个
阅读全文
Codeforces Round 1004 (Div. 2) C. Devyatkino
摘要:
C. Devyatkino 题目链接👈 题目描述🥰 题目思路😀 这个题目其实是不难的,但是正解的解法感觉很新奇🤔 首先我们可以观察到我们的答案肯定是小于等于9的,所以我们在0到9次操作进行枚举,如果某次操作时某位已经到达7了,那么就可以直接返回操作数了。 Question:怎么确定是否有可能
阅读全文
C. Devyatkino 题目链接👈 题目描述🥰 题目思路😀 这个题目其实是不难的,但是正解的解法感觉很新奇🤔 首先我们可以观察到我们的答案肯定是小于等于9的,所以我们在0到9次操作进行枚举,如果某次操作时某位已经到达7了,那么就可以直接返回操作数了。 Question:怎么确定是否有可能
阅读全文
Codeforces Round 981 (Div. 3) D. Kousuke's Assignment
摘要:
D. Kousuke's Assignment 题目链接👈 题目描述🥰 题目思路😀 首先我们可以理解题目的意思,通过对样例的解析,我们可以发现题目需要求的是最多的非重叠的美丽区间的数量(题目里面的最大看错了还误导了好久🤣) 题目本质上就是求出最大的非交叉线段数量,所有线段的和都等于零。 而实
阅读全文
D. Kousuke's Assignment 题目链接👈 题目描述🥰 题目思路😀 首先我们可以理解题目的意思,通过对样例的解析,我们可以发现题目需要求的是最多的非重叠的美丽区间的数量(题目里面的最大看错了还误导了好久🤣) 题目本质上就是求出最大的非交叉线段数量,所有线段的和都等于零。 而实
阅读全文
Codeforces Round 1006 (Div. 3) E. Do You Love Your Hero and His Two-Hit Multi-Target Attacks?
摘要:
E. Do You Love Your Hero and His Two-Hit Multi-Target Attacks? 题目链接👈 题目描述🥰 题目思路😀 这个题目首先我们可以关注到当p(i,j)=d(i,j),这种情况只会存在两个坐标的x坐标相同或是y相同,所以当x个员工站成一条线,我
阅读全文
E. Do You Love Your Hero and His Two-Hit Multi-Target Attacks? 题目链接👈 题目描述🥰 题目思路😀 这个题目首先我们可以关注到当p(i,j)=d(i,j),这种情况只会存在两个坐标的x坐标相同或是y相同,所以当x个员工站成一条线,我
阅读全文
Codeforces Round 995 (Div. 3) E. Best Price
摘要:
E. Best Price 题目链接👈 题目描述🥰 题目思路😀 这个题目的贪心思路是这个题目我没有想到的一个点,思考了很久😇 首先 a数组 和 b数组 的联合中的每一个整数都可能是最大答案 Question:为什么通过枚举 a 和 b 数组中的值已经能够找到全局最优解? 我们可以假设存在一个
阅读全文
E. Best Price 题目链接👈 题目描述🥰 题目思路😀 这个题目的贪心思路是这个题目我没有想到的一个点,思考了很久😇 首先 a数组 和 b数组 的联合中的每一个整数都可能是最大答案 Question:为什么通过枚举 a 和 b 数组中的值已经能够找到全局最优解? 我们可以假设存在一个
阅读全文
Codeforces Round 1007 (Div. 2) D1. Infinite Sequence (Easy Version)
摘要:
Codeforces Round 1007 (Div. 2) 题目链接👈 题目描述🥰 题目思路😀 这个题的思维太巧妙了,这里就拿出题人的题解来看(因为这个题解写的太透彻了😭) 我就主要讲一下这个思路的代码的实现 首先我们需要处理前缀按位异或和 vector<int>pre(n+1); for
阅读全文
Codeforces Round 1007 (Div. 2) 题目链接👈 题目描述🥰 题目思路😀 这个题的思维太巧妙了,这里就拿出题人的题解来看(因为这个题解写的太透彻了😭) 我就主要讲一下这个思路的代码的实现 首先我们需要处理前缀按位异或和 vector<int>pre(n+1); for
阅读全文
Educational Codeforces Round 175 (Rated for Div. 2) D. Tree Jumps
摘要:D. Tree Jumps 题目链接👈 题目描述🥰 题目思路😀 由于这个题目思路比较简单,所以就简单讲下,详细可以看代码理解 今天的题实际上就是一个典型的bfs序问题 根据题目上的定义,我们把1(即是根节点)的层数为1,每一层的节点除了不能接在父母的节点上面,都可以接在上一层的每一个节点的序列
阅读全文
Codeforces Round 1005 (Div. 2) -D. Eating
摘要:
D. Eating 题目链接👈 题目描述🥰 题目思路😀 对于这个题目,暴力是不可行的,数据量过大会超时😇,同时这道题的思路也是非常的巧妙,以致于我补题补了两个小时(bushi)😰 首先注意,如果我们无法吃下一个史莱姆,那么这个史莱姆的最高有效位必须至少与当前的 x值一样大。这意味着,如果一
阅读全文
D. Eating 题目链接👈 题目描述🥰 题目思路😀 对于这个题目,暴力是不可行的,数据量过大会超时😇,同时这道题的思路也是非常的巧妙,以致于我补题补了两个小时(bushi)😰 首先注意,如果我们无法吃下一个史莱姆,那么这个史莱姆的最高有效位必须至少与当前的 x值一样大。这意味着,如果一
阅读全文
Educational Codeforces Round 174 (Rated for Div. 2)
摘要:
Educational Codeforces Round 174 (Rated for Div. 2) C题解析 题目链接 题目描述🥰 题目思路😀 首先这个题目,我们可以通过观察美丽序列的定义,我们可以发现一个很明显的性质:数组的开头一定是最小值,数组的末尾一定是最大值 我们首先会想到一个思路,
阅读全文
Educational Codeforces Round 174 (Rated for Div. 2) C题解析 题目链接 题目描述🥰 题目思路😀 首先这个题目,我们可以通过观察美丽序列的定义,我们可以发现一个很明显的性质:数组的开头一定是最小值,数组的末尾一定是最大值 我们首先会想到一个思路,
阅读全文
浙公网安备 33010602011771号