codeforces
文章平均质量分 83
斗奋力努
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 126 (Rated for Div. 2)(ABCD)
Educational Codeforces Round 126 (Rated for Div. 2)(ABCD)A. Array Balancing题意:有两个长度为n的序列a,b,相同位置下可以交换两序列元素swap(a[i],b[i])swap(a[i],b[i])swap(a[i],b[i]),问两个序列的每相邻两位的绝对值之和最小是多少思路:相同下标下,小值给a,大值给b就好了#include<bits/stdc++.h>using namespace std;typ原创 2022-04-10 21:12:38 · 609 阅读 · 1 评论 -
Codeforces Round #781 (Div. 2)(ABCDE)
Codeforces Round #781 (Div. 2)(ABCD)A. GCD vs LCM题意:给定一个n,将n分成4部分,满足a+b+c+d=n&&gcd(a,b)==lcm(c,d)a+b+c+d=n\&\&gcd(a,b)==lcm(c,d)a+b+c+d=n&&gcd(a,b)==lcm(c,d)思路:先判断n是否为4的倍数,是的话分成4等份,a=b=c=da=b=c=da=b=c=d不是的话,保证c=d=1c=d=1c=d=1,原创 2022-04-09 21:29:15 · 691 阅读 · 2 评论 -
G. Matematical Transformation(树链剖分+线段树)
G. Matematical Transformation(树链剖分+线段树)G. Matematical Transformation题意:一颗有n个节点的有根树,根节点是1,初始每个节点的值为0现在进行q次操作操作0: 0 u v 输出节点u到节点v的路径和操作1: 1 u v k 对节点u的子树,每个节点的价值加上v+k∗dv+k*dv+k∗d,d为该节点i到节点u的深度差(d[i]−d[u])(d[i]-d[u])(d[i]−d[u])思路:树链剖分套路题。每次进行操作0,其实就原创 2022-04-08 01:18:22 · 357 阅读 · 0 评论 -
E1/E2. Weights Division (easy version)/(hard version)
E1/E2. Weights Division (easy version)/(hard version)E1. Weights Division (easy version)题意:一颗有n个节点的有根树,根节点是1。问最少操作多少次,可以使得从根节点到所有叶子节点的路径上的边权总和<=S。即每个叶子节点上有一个人,这些人要到根节点去,每个人的花费为到根节点的边权和。操作多少次,使得所有人的边权总和<=S每次操作使任选某一条边,将其边权值/2思路:我们已知树的结构,我们就可以知道原创 2022-04-06 15:11:55 · 295 阅读 · 0 评论 -
Codeforces Round #780 (Div. 3)(ABCDEF1F2)
Codeforces Round #780 (Div. 3)(ABCDEF1)A. Vasya and Coins题意:有a个1元硬币和b个2元硬币,问不能组成的最小价格是多少思路:没有1元硬币肯定就是1,有的话就是a+2*b+1。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+5;int n,a,b;void solve(){ scanf("%d%d原创 2022-04-01 16:48:05 · 533 阅读 · 0 评论 -
Codeforces Round #779 (Div. 2)(ABCD1D2)
Codeforces Round #779 (Div. 2)(ABCD1D2)这一场写的十分迷,感觉都无法证明正确性,看着样例一顿猜。A. Marin and Photoshoot题意:给一个长度为n的01字符串,0代表男性,1代表女性,对于每个长度大于等于2的子字符串,要求保证男性人数不超过女性人数,问至少添加多少人。思路:发现只有形如"00""00""00"和"010""010""010"的形式才需要添加人数,分别改成"0(11)0""0(11)0""0(11)0"和"01(1)0""01原创 2022-03-28 20:53:08 · 247 阅读 · 0 评论 -
CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(ABCDE)
CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!)(ABCDE)晚点补F题A. Good Pairs题意:给出长度为n的序列,去找个两个坐标i,ji,ji,j(可以相同),满足对于序列中的所有下标k,满足公式∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣|a[i]-a[k]|+|a[k]-a[j]|=|a[i]-a[j]|∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣思路:发现样例输出的就是每个序列原创 2022-03-25 15:05:32 · 1257 阅读 · 7 评论 -
Educational Codeforces Round 125 (Rated for Div. 2)(ABCDE)
Educational Codeforces Round 125 (Rated for Div. 2)(ABCDE)A. Integer Moves题意:大概是说最初在点(0,0),想要到点(x,y),只能走整数距离(不清楚,根据样例猜),问最少多少步思路:目标点就是原点,步数0目标点与原点的直线距离是整数,步数1否则步数就是2(先走到同x,再同y)#include<bits/stdc++.h>using namespace std;typedef long long ll;原创 2022-03-23 19:16:24 · 803 阅读 · 2 评论 -
Codeforces Round #778 (Div. 1 + Div. 2, based on Technocup 2022 Final Round)(ABCDE)
Codeforces Round #778 (Div. 1 + Div. 2, based on Technocup 2022 Final Round)(ABCDE)A. Maximum Cake Tastiness题意:输出最大+次大的和#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1005;int n,m,q,a[N];void solve(){ scanf(原创 2022-03-22 11:36:46 · 422 阅读 · 1 评论 -
Educational Codeforces Round 124 (Rated for Div. 2)(ABCD)
Educational Codeforces Round 124 (Rated for Div. 2)(ABCD)总结:日常犯病,细节处理不好A. Playoff题意:给定数字n,有2n2^n2n个人进行比赛,按顺序排好,每次两两比赛,如果两者和相加为奇数,则数字较小的晋级;否则数字较大的晋级。思路:根据样例盲猜答案是2n−12^n-12n−1,幸运水过#include<bits/stdc++.h>using namespace std;typedef long long ll;原创 2022-03-11 15:43:30 · 402 阅读 · 0 评论 -
Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)(ABCDE)
Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)(ABCDE)总结:E题初始考虑不全面,组合数字不太行,忘记了多重集全排列的公式,还是找翻得以前的板子。同时今天发现竟然不会求三角形面积,寄。A. Game题意:给定长度为n的序列,初始在位置1,目标位置n,只能移动到元素为1的位置,免费在相邻位置之间跳跃,之外每次跳跃花费为跳跃前后两点的距离差,问最少花费多少,可以到达位置n,保证位置1和位置n原创 2022-03-07 19:27:55 · 305 阅读 · 1 评论 -
Codeforces Round #774 (Div. 2)(ABCDE)
Codeforces Round #774 (Div. 2)(ABCDE)总结:感冒十分难受,等等有时间写#775A. Square Counting题意:给定两个整数n和s,表示有元素集合{1,2,3...,n}∪{n2}\{1,2,3...,n\}∪\{n^2\}{1,2,3...,n}∪{n2},用在集合中挑选n+1个数(可重复)组成s,问其中会有多少个n2n^2n2思路:好像直接拿s/(n*n)就行了#include<bits/stdc++.h>using namespac原创 2022-03-06 15:31:28 · 489 阅读 · 2 评论 -
Codeforces Round #773 (Div. 2)(ABCD)
Codeforces Round #773 (Div. 2)(ABCD)总结:阅读理解+手速A. Hard Way思路:按y值从小到大排序,后两个点的y值相等,答案就是abs(两点x值的差值),否则是0#include<bits/stdc++.h>using namespace std;struct PDD{ double x,y; const double operator<(const PDD&t){ return y<t.y;原创 2022-02-24 13:42:06 · 254 阅读 · 0 评论 -
Educational Codeforces Round 123 (Rated for Div. 2)(ABCDE)
Educational Codeforces Round 123 (Rated for Div. 2)(ABCDE)A. Doors and Keys题意:给定长度为6的字符串,问是否可以通关,其中R,G,BR,G,BR,G,B为门,r,g,br,g,br,g,b为钥匙。要获得对应钥匙才能开相应的门。思路:直接用map<char,int>map<char,int>map<char,int>记录每个字符的位置,然后对应比较就行了。#include<bits/原创 2022-02-23 16:30:16 · 607 阅读 · 1 评论 -
Codeforces Round #772 (Div. 2)(ABCDE)
Codeforces Round #772 (Div. 2)(ABCDE)A. Min Or Sum题意:给一个长度为n的序列,可以多次进行操作,每次选择不同的i,j,使得满足a[i]∣a[j]=x∣ya[i]|a[j]=x|ya[i]∣a[j]=x∣y,x、y任意,问最后序列的最小总和。思路:因为可以一直或操作,a[i]∣a[j]=x∣ya[i]|a[j]=x|ya[i]∣a[j]=x∣y也可以看成为变化后a[i]+a[j]a[i]+a[j]a[i]+a[j]的值。所以我们只要看所有数在二进制下的原创 2022-02-21 18:33:16 · 331 阅读 · 0 评论 -
D. Make Them Equal 构造
D. Make Them Equal 构造构造题真的就是想到好写,不过基本想不到,本题想到了就稍微记录一下(题意和思路都在代码块内)D. Make Them Equal//https://codeforces.com/contest/1417/problem/D//长度为n的序列,在操作次数不超过3*n的情况下,使得所有元素值相等,可以则输出方案,否则输出-1//同时每次操作后不能有元素为非负数//单次操作:选择一个三元组{i,j,x} a[i]=a[i]-x*i a[j]=a[j]+x*i原创 2022-02-19 23:41:02 · 356 阅读 · 0 评论 -
Codeforces Round #771 (Div. 2)(ABCDE)
Codeforces Round #771 (Div. 2)(ABCDE)A. Reverse题意:给一个长度为n的排序,可以翻转一次,使得字典序最小思路:从前到后遍历,位置i!=a[i]i!=a[i]i!=a[i],则翻转区间左端点i,右端点为值i所在位置#include<bits/stdc++.h>using namespace std;const int N=505;int n,a[N];void solve(){ scanf("%d",&n);原创 2022-02-16 16:48:04 · 669 阅读 · 0 评论 -
Codeforces Round #768 (Div. 2) (ABCDEF)
Codeforces Round #768 (Div. 2) (ABCDE)本场个人总结:本场感觉思维题为主,不过还是读错了题意,耽误了一些时间。A. Min Max Swap题意:给定两个长度为n的序列a和序列b,在两序列下标相同的位置可以进行交换。问两个序列中最大数的乘积最小是多少。思路:乘积最小,直接将下标的两个值,小的给a序列,大的给b序列,此时两个序列中最大数的乘积最小。#include<bits/stdc++.h>using namespace std;const i原创 2022-01-28 03:56:01 · 1027 阅读 · 5 评论 -
Codeforces Round #767 (Div. 2)(A B C D E F1 F2)
Codeforces Round #767 (Div. 2)(A B C D E F1)A. Download More RAM题意:问最多可以有多大RAM,当前RAM大于等于a[i]时,可以使RAM增加b[i]思路:暴力+贪心,就将n个RAM参照a[i]从小到大排序就行了。#include<bits/stdc++.h>using namespace std;typedef pair<int,int>PII;const int N=1005;int n,k;PII原创 2022-01-23 16:14:27 · 298 阅读 · 0 评论 -
Codeforces Round #760 (Div. 3) (ABCDEF)
Codeforces Round #760 (Div. 3)题目A. Polycarp and Sums of Subsequences题意:t组样例,每组样例输入从小到大输入7个数构成b数组,问b数组中是否存在三个数,通过给出的方法可以得到b数组。思路:t的范围5000,同时每组样例才7个数,我们直接暴力枚举每次选的那三个元素就行,最后去跟b数组比较看是否相同。#include<bits/stdc++.h>using namespace std;int a[10],b[10];原创 2021-12-15 17:32:09 · 1646 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2) ABCDE
Educational Codeforces Round 118 (Rated for Div. 2) ABCDEA. Long Comparison题意t组数据,每组数据给x1、p1、x2、p2代表两个数A,B。A是x1后面加p1个0,B是x2后面加p2个0。比较A,B的大小。思路先比较长度,再长度相同的时候再一位位的比较大小。#include<bits/stdc++.h>using namespace std;int p1,p2,len1,len2;string x1,x原创 2021-12-03 20:48:11 · 226 阅读 · 0 评论 -
Codeforces Round #704 (Div. 2) D. Genius‘s Gambit(构造+思维)
Codeforces Round #704 (Div. 2) D. Genius’s Gambit(构造+思维)D. Genius’s Gambit题意/*构造两个串x、y,每个串由a个0和b个1构成,不包含前导零同时x-y包含不超过k个1*/思路/*很常见的一种构造01串,我们知道不能包含前导零,所以x、y串第一个字符一定是1随后特判掉三种特殊情况: ① 不包含0的情况:全为1,所以k必须为0 ② 不包原创 2021-12-02 13:45:56 · 170 阅读 · 0 评论 -
Educational Codeforces Round 117 (Rated for Div. 2) E. Messages
Educational Codeforces Round 117 (Rated for Div. 2) E. Messages(思维+暴力)这个题目意思十分的绕,理解题意就十分好写了E. Messages//https://codeforces.com/contest/1612/problem/E//有n个人,第i个人想要看到消息mi,如果看到就做出贡献1,没有就贡献0//同时第i个人最多可以看ki条信息//问:最多投放多少条信息,使得(贡献/信息总数)最大,并输出具体是哪些信息//原因ki原创 2021-11-24 19:46:06 · 311 阅读 · 0 评论