贪心
文章平均质量分 57
林苏泽
很多时候终点看着很远,实际也很远,但只要你不向它跑去,他永远都很远,所以只有你向它跑去,才能更接近它,所以加油,向前奔跑吧,即使最后没有到达所想的终点,但我想也不会差。起码我们已经比别人距终点近了好多。
展开
-
CF1420D Rescue Nibel (贪心+思维)
链接题意:有 nnn 条线段 [li,ri][l_i,r_i][li,ri],你需要从中选出 kkk 条令他们的交集不为空,求方案数对 998244353998244353998244353 取模的结果。分析:看完题我们还知道求交集,那么求交集一定是max(li,lj)<=min(ri,rj)max(l_i,l_j)<=min(r_i,r_j)max(li,lj)<=min(ri,rj)这样交集才不为空,所以我们可以先按左节点排序,右节点排序,排序完我们知道左节点一定会原创 2021-11-16 19:28:48 · 308 阅读 · 0 评论 -
Codeforces Round #695 (Div. 2) C. Three Bag (思维+贪心)
链接题意:这道题的意思其实就是,给你三个背包: 每一次任选两个背包,在这两个背包中分别取出a,ba,ba,b这两个数(不放回),同时用a−ba-ba−b来替换aaa,那么经过数次操作以后,这三个背包中就只剩下一个数字了,请问这个数字的最大值。 输入格式是:第一行分别代表了这三个背包的背包容量,之后的三行分别代表的是这三个背包的全部数字。分析:首先两种方式最优:有一个集合的贡献都是负的,其他的都是正的,这样只用负集合来将整的集合整合也就是(-a-b)这样最后整合到一个负数和一个正数然后在化正有两原创 2021-11-09 15:16:21 · 617 阅读 · 0 评论 -
ABC 225 E - 7 (排序+思维)
链接题意:给出你n个点,然后他会与(xi−1,yi),(xi,yi−1)(x_i-1,y_i),(x_i,y_i-1)(xi−1,yi),(xi,yi−1)构成777然后让你连接(0,0)(0,0)(0,0)与这两个个点,其区间内不会有其他点介入,就算合格。我们可以删除一些点,问最多有多少个合格的。分析:题意证不太明白的话手模下样例就好了。(1,1),(1,2),(2,1)(1,1),(1,2),(2,1)(1,1),(1,2),(2,1)可以看到我们对于(1,2)(1,2)(1,2)原创 2021-11-05 20:08:07 · 224 阅读 · 0 评论 -
2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)
链接A 分组待补B 二进制队友写的#include "bits/stdc++.h"using namespace std;typedef long long ll;const int maxn = 1e5 + 5;#define debug(x) cout << #x << ":" << x << endl;#define mst(x, a) memset(x, a, sizeof(x))#define rep(i, a, b) fo原创 2021-10-25 19:43:18 · 2668 阅读 · 7 评论 -
CF484A Bits (贪心+进制)
链接题意:nnn组询问,每次给出一个区间l,rl, rl,r,你需要输出在这个区间内二进制表示中1的个数最多的数如有多个答案,输出最小的那个(n≤104,0≤l,r≤1018)(n \leq10^4, 0\leq l, r \leq10^{18})(n≤104,0≤l,r≤1018)分析:首先我们知道我们要的结果是 这个数二进制中1最多。那么我们从最小的数开始+1,保证满足条件在[l,r][l,r][l,r]范围内。所以我们只需要保证不让其大于r就行了。接下来就是+1的操作,对二原创 2021-09-23 14:02:10 · 179 阅读 · 0 评论 -
CF1472E Correct Placement(排序+思维)
链接题意:Polycarp想要给他的朋友们拍一张照片,他的朋友们都有h(身高)、w(宽度)两个数值,当一个人A的身高比另外一个人B的身高矮,且宽度比他小时,A可以站在B的前面,或者当A身高比B宽度小时,且宽度比B身高小时,A可以躺在B前面(小,意为严格小于)。现在Polycarp想知道每个人是否有对应的人可以站或躺在他的前面,如果有,则输出那个人的编号,若有多个,则输出任意一个,如果没有则输出-1。输入:第一行一个整数t,代表t组数据。接下来一个整数n,代表n个人。随后n行,每行两个整数,代表每原创 2021-09-14 23:56:44 · 192 阅读 · 0 评论 -
ABC C - LCM of GCDs (数学+思维)
题意:有n个卡包,每个卡包里面有2张卡片,每个卡片有相应的点数,每张卡片都可以选择放在红袋子里,或者蓝袋子,一张卡片放在红,那另一张就要放在蓝,题目要求让你求出红袋子所有卡片点数的最大公约数,和蓝袋子里所有卡片点数的最大公约数(gcd),然后用两个最大公约数求出两数的最小公倍数(lcm)。分析:我们要求最小公倍数的最大值。那么我们就需要求出红蓝两个袋子的最大公约数。最大公约数怎么来那。首先肯定这个数一定是最大公约数的倍数,所以我们提取出来(a[1],b[1])的所有因数,然后枚举其a[1],和b[1]原创 2021-09-14 14:46:51 · 233 阅读 · 0 评论 -
CF 1569 C. Jury Meeting (思维+贪心+数学)
链接题意:没给样例解释之前特别难理解:n个人,每个人ai个任务;确定一个排列,按照这个排列进行如下操作:每次按排列的顺序让还有任务没讲的人讲一个任务,然后ai–.如果ai==0,跳过这个人。重复执行直到每个人任务都讲完,问一个人不能连续讲两次的方案数分析:然后我们看到这样的题目需要每次整体-1,那么又不用输出方案数,那么我们排一次序不过分吧,那么我们看最大的哪一个,如果有一个与他结对一起减1,那么不用说,我们直接全排列就好了(一定要有限判断,仅限博主本人,他人博主就不知道了),然后我们看最大数(x原创 2021-09-09 00:35:20 · 239 阅读 · 0 评论 -
CF 1567 D. Expression Evaluation Error (数学+思维)
链接题意:求n个数,这n个数和10进制为s,求他们11进制和的最大值。分析:首先我们我们看题,让我们分解s使得他们11进制和数最大,首先我们先不看他要分解成多少个数。我们直接分析如果11进制和值最大,假设s是123,那么我们要和最大,我们肯定不是这样分:100 20 3或者将20分解成2个10或者3分解成3个1 这样是不会产进制转化产生的损失的,而如果我们将20拆分成19 + 1那么他11进制的和是1*11+9+1=21 而2011进制和是11*2=22所以就有进制转化的损失,而 100和10进制原创 2021-09-06 21:15:06 · 142 阅读 · 0 评论 -
ABC 216 G - 01Sequence (思维+贪心模拟|树状数组)
链接题意:让你构造出长度为n的一个序列,有m个限制,[li,ri][l_i,r_i][li,ri]区间内最少有yiy_iyi个1。要求构造出来的1数量最少。分析:首先我们想让重叠的区间越多越好,这样我们就可以将1都堆到一块。那么我能可以先都堆到区间的右端。那么就需要枚举最左边必须放的位置。然后我们知道最左端的极限值,也要判断最右端的极限值。因为最左端重合的可能有很多,所以我们将其连接上。然后枚举就好了。然后比较其右端点。const int maxn=2e5+7;ll n,m;ll原创 2021-08-30 09:38:20 · 221 阅读 · 0 评论 -
CF 1538 G. Gift Set (贪心+思维)
链接题意:Polycarp有x个红糖和y个蓝糖,现在他想用这些糖果做一些礼品盒(gift set),但规定每个礼品盒里必须有a个红糖、b个蓝糖或b个红糖、a个蓝糖。现在求他最多能做成多少个礼品盒。分析:首先我们会发现这个题有很多种方法:二分(O(log(n))O(log(n))O(log(n))),模拟(O(1)O(1)O(1)),模拟退火等,二分:既然他是最多能做多少,那么我们可以发现,答案满足单调性,那么我们直接二分答案就好了。首先我们找到那个用的糖果更少,假设a的更少。那么我们枚举的答案原创 2021-08-24 10:16:21 · 149 阅读 · 0 评论 -
ARC 125 C - LIS to Original Sequence (贪心+思维)
链接题意:给出你n个数[1~n],然后给出其最长递增子序列,长度为k, 之后是其最长递增子序列。让你构造出长度为n包括 [1 ~ n], 并且最长递增子序列是给出的。并且字典序最小。分析:我们肯定想是构造出来这个最长递增子序列,那么我们认为这样是最优的,其实不然。例如10 32 5 8如果我们按上面的来,答案应该是2 1 5 4 3 10 9 8 7 6但是其实我们还可以这样:这样的答案就是最优的2 1 5 3 10 9 8 7 6 4看不懂两个图就分析给出的这个样例:10 3原创 2021-08-22 23:58:17 · 317 阅读 · 0 评论 -
ABC 214 E - Packing Under Range Regulations(贪心)
链接题意:给出你1到1e9都可以放,然后给出你n个数可放的区间,要求不能放在同一个位置,问可否放置成功?分析:首先我们看到这样的题,首先肯定想到贪心来做,对其左端点进行排序然后往后放,这样想就会产生一个诟病,如果一个区间长的放前面区间小的放后面,前面的都把区间小的地方占了那么区间小的就没地方放了,其实他是可以放的,让区间小的放到小区间上,让区间大的往后放。所以我们现在考虑的问题是,对齐左端点之后先放区间小的,首先看左端点如果没有相等的,这个区间就可以放在这个左端点上。如果左端点相等的话 那么原创 2021-08-15 11:48:48 · 290 阅读 · 0 评论 -
Codeforces Round #567 (Div. 2)B. Split a Number(贪心+模拟)
链接题意:给你一个l(2<=l<=100000)l(2<=l<=100000)l(2<=l<=100000)位正整数nnn,将其划分成没有前导0的非空的两段,使这两段表示的正整数之和最小。数据保证至少有一个合法的划分。分析:我们就要考虑第二个串从哪个地方开头更优,然后我们知道为了和最小,那么我们想要的的是他们凉饿的长度差最小。如果总长度为偶数,那么中间两个是n/2,n/2+1n/2,n/2+1n/2,n/2+1如果总长度为奇数,我们认为中间两个数n/2+1,n原创 2021-08-04 23:41:24 · 146 阅读 · 0 评论 -
Codeforces 1474C.Array Destruction
题目链接题意:给出一个2n个数的序列,一开始你可以任选一个x值,然后在序列中找到两个数,使得这两个数的和等于x。然后删除这两个数,并让x等于这两个数中的最大值。直到整个序列全部被删除为止。问:求一个初始的x值,使序列能被完全删除。如果不能被完全删除,输出NO。思路:因为每次操作进行完后,x都会等于删除的两个数中的最大值。因此为了能够将所有数删除,每次删除的一对数中必然包含着当前序列中的最大值。所以每次我们都需要用到当前序列中最大的数值,因为如果你不用后面将无法再用到这样,就存在没有消掉的数.这样原创 2021-03-16 12:55:51 · 139 阅读 · 0 评论 -
Codeforce D. Even-Odd Game(博弈+思维+贪心)
题目链接题意:Alice和Bob在数组a中的n个整数,选择数字Alice如果选择偶数,那么将这个数字加到Alice的得分中,如果选择了奇数,则不计分Bob如果选择奇数,那么将这个数字加到Bob的的分钟,如果选择了偶数,则不计分两者皆采取最优策略,Alice先走,得分多者获胜,如果是平局则输出Tie。思路最优方案就是一方面让自己最大,另一方面是尽量使对方最小.这就决定了都从最大的来看,先看Alice,他想要偶数,所以如果最大的是偶数,那么Alice就直接拿走,否则就是奇数,Alice维拉不让Bo原创 2021-03-15 12:24:22 · 286 阅读 · 0 评论 -
A. 接力
A. 接力接力共有n名队员(编号1−n)参加,在同一时刻赛道上允许有任意多名选手同时赛跑。比赛开始前,所有交警在起跑线等待起跑。在t=0时刻,编号为1的选手开始赛跑,L1秒后跑完一圈回到起点。当选手i跑完一圈他会示意Mi名选手开始接力。(选手可能被多次示意,只算最早的示意)每个选手只跑一圈。接力的总时间为最后一个选手结束赛跑的时间。求接力的总时间。Input第一行一个单独的整数n,表示有n名选手。接下来n行,每行开始有2个整数Li,Mi,接下来有Mi个整数,表示示意选手的编号。Output一原创 2020-12-01 19:39:03 · 126 阅读 · 0 评论 -
MAX 的读书计划(贪心)
问题 E: MAX 的读书计划时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述MAX 很喜欢读书,为了安排自己的读书计划,他会预先把要读的内容做好标记,A B 表示一个页段,即第 A 到 B 面,当然 A<B,若有两个页段 A-B,B-C,则可以直接记为 A-C,这样,他就可以一次看完,现在告诉你 n 个页段,请你帮他求出最长的一条页段,并输出这条页段的长度和组成它的页段个数。举个例子:有 6 个页段:2-7 1-3 3-12 12-20原创 2020-11-30 16:50:38 · 203 阅读 · 0 评论 -
问题 H: 嚎叫响彻在贪婪的厂房
问题 H: 嚎叫响彻在贪婪的厂房时间限制: 1 Sec 内存限制: 128 MB题目描述RX:把机器人Hobo,带往改造工厂。来到了改造工厂,Hobo感到阵阵迷茫,不知道自己将会何去何从。“当我从这里离开的时候,我还会是Eddie的朋友吗?”RX:珍娜女王,可以开始了。铁斯塔:珍娜女王,等到把Hobo改造完了,你父亲的遗愿就能实现了。机器人的哀嚎传遍了整座工厂,于是,Hobo决定带着他们一起逃离这里。工厂的传送带上依次排列着N个机器人,其中,第i个机器人的质量为Ai。Hobo经过仔细观察,原创 2020-11-21 13:23:00 · 1123 阅读 · 1 评论 -
Extreme Subtraction
D. Extreme Subtractiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a of n positive integers.You can use the following operation as many times as you like: select any inte原创 2020-11-07 00:36:57 · 180 阅读 · 0 评论 -
UPC近期比赛题目
问题 D: 考试时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述S中开展了省选集训,有n位选手的实力参差不齐。众所周知,如果题目太水,那么就会有人AK离场后打游戏,如果题目太难,那么就会有人颓废离场后打游戏。作为出题人的你自然不希望有太多人出去打游戏,不然ob就会很生气。所以你需要设定题目的难度,尽量让最少的人出去打游戏,并且同时题目尽可能难一些。输入第1行...原创 2020-05-05 16:00:32 · 721 阅读 · 0 评论 -
堆排序
堆堆的介绍上面来自orz感谢 我对堆排序的理解:堆的介绍首先 ,堆的前提:完全二叉树,添加时就是 从最下面最左。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我...原创 2020-03-17 16:02:45 · 207 阅读 · 0 评论