思维
文章平均质量分 84
斗奋力努
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 794 阅读 · 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 · 870 阅读 · 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 · 501 阅读 · 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 · 441 阅读 · 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 · 639 阅读 · 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 · 355 阅读 · 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 · 1453 阅读 · 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 · 950 阅读 · 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 · 527 阅读 · 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 · 503 阅读 · 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 · 358 阅读 · 1 评论 -
Codeforces Round #774 (Div. 2)(ABCDE)
Codeforces Round #774 (Div. 2)(ABCDE) 总结:感冒十分难受,等等有时间写#775 A. 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 · 587 阅读 · 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 · 332 阅读 · 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 · 712 阅读 · 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 · 465 阅读 · 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 · 1254 阅读 · 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 · 405 阅读 · 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 · 1803 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2) ABCDE
Educational Codeforces Round 118 (Rated for Div. 2) ABCDE A. 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 · 356 阅读 · 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 · 227 阅读 · 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 · 489 阅读 · 0 评论 -
基础计算几何
前言:匡斌这套基础计算几何挺仁慈的 ,感觉没有卡一些奇奇怪怪的东西,大家应该可以随便切,这里会提供所有题目的代码,以及提供部分的题思路。 目的主要是骗阅读量。 题目 文章目录TOYS[Toy Storage](https://vjudge.net/problem/POJ-2318)Segments[Intersecting Lines](https://vjudge.net/problem/POJ-2318)[The Doors](https://vjudge.net/problem/POJ-2318)[P原创 2021-09-10 20:26:05 · 1378 阅读 · 4 评论 -
POJ - 2826 An Easy Problem?!
计算几何好题,神学过题 POJ - 2826 An Easy Problem?! 题意:t组数据。每组数据给你两根棍子,天上会下雨,问两根棍子组成的图形最多可以装多少水 思路:其实要求两根棍子组成的图形,开口向上的可装水三角形的面积 步骤1: ①:特判掉存在有棍子与x轴平行的情况 ②:特判掉两根棍子没有交点的情况 ③:特判掉两根棍子平行的情况 步骤2:求出两根棍子的交点inter,并找出两根棍子中y值大于交点y值的所有端点cnt,存在dot数组里面 只有y值大于交点y值的才可能做出贡献(0<=cnt&原创 2021-09-03 21:05:50 · 299 阅读 · 3 评论
分享