
贪心
文章平均质量分 83
CCloth
这个作者很懒,什么都没留下…
展开
-
[贪心][dp]Graph Cost Codeforces1731E
每次操作的代价永远比连边条数多1,所以要想代价最少,那么操作次数应该最少。一开始的时候也不会求这个值,后来参考了题解,其实这样的点对数就是1~n/x中互质的数字对数。而1~n中互质的数字对数可以用dp来求得,设dp[i]为1~i中互质的数字对数,那么显然dp[i] = dp[i-1]+phi[i],phi[i]时i的欧拉函数。于是就能求出权值为k时连k-1条边的操作次数了,也就是dp[k]/(k-1)。每次操作可以连k条边,边权和代价都为k+1,同时若u和v进行连边,必须满足边权 = gcd(u, v)。原创 2022-12-30 12:19:51 · 1060 阅读 · 1 评论 -
[二分][贪心]Tree Infection Codeforces1665C
可以想到应该先处理出来树上所有组兄弟节点,然后优先选择点数多的组进行感染,设组数为t,前t秒一定将所有t组先进行感染,否则显然不优,有了这个思路后就可以二分求出最短时间了,在check中可以求二分出的时间x内最多感染的节点个数,如果这个值大于等于n,那么return true。有一颗有根树,根节点为1,现在每秒可以按顺序做如下两个操作,第一个操作:对于每一组兄弟节点,如果其中某个节点被感染,那么可以将感染传播给其某一个兄弟节点。第二个操作:选择树上任意一个健康的点感染它。问将整棵树感染的最短时间。原创 2022-10-18 22:56:58 · 242 阅读 · 0 评论 -
[贪心][区间dp]Zero-One Codeforces1733D1&&D2
之后参考了别人的题解,发现区间dp最内层的循环是可以被贪心优化掉的,也就是区间[l, r]的断点只会是l+1或r-2,从而[l, r]只会被分割为[l, l+1] [l+2, r]或者是[l, r-2] [r-1][r]这两种情况,这样就不需要O(n)的遍历区间断点了。D1额外有一个条件,那就是y原创 2022-09-21 22:56:13 · 391 阅读 · 0 评论 -
[贪心][预处理+二分][好题]Find the Number 2022ICPC第一场网络选拔赛D
赛时想的是另一种贪心的思路,首先枚举后缀零个数,假设后缀零有i个,然后考虑l和r的二进制表示,从第30位到第0位枚举。由于满足题意的数字并不是特别多,大概是5e5左右个,当时想到了打表,但显然是没法把这些数字全部放进代码里的,所以当时这条路就没走下去,但赛后发现完全可以把这些数字暴力求出来,然后放入15个vector中,暴搜的复杂度很低,大概也是5e5级别的,当求出符合题意的全部数字后这道题就很简单了,对于每个询问直接找出第一个大于等于l的数字,然后看它是否小于等于r,不得不说这种思路确实很强。原创 2022-09-18 16:30:32 · 1216 阅读 · 0 评论 -
[贪心]Min-Max Array Transformation Codeforces1721C
另外对于a为1 2 3,b为4 5 6的情况,会访问到已经访问了的值,而我们每次访问只能访问未访问的值,所以还需要一个jump数组,表示从i需要增加jump[i]才是i之后第一个未访问的值,这样整体就是O(nlogn)的了,具体细节见代码。给出一个数组a和数组b,可以通过给每个ai增加一个非负数来得到数组b,问每个ai最少和最多能增加多少。...原创 2022-08-31 21:26:43 · 509 阅读 · 0 评论 -
[贪心][二分]Sort Zero Codeforces1712C
贪心地想,选择最靠前的非0数字最优,这是因为假如选择的是中间的非0数字,那么为了序列整体不减,前面的非0数字也一定要变成0,这样至少也要操作两次,但是直接选择最靠前的非0数字一定不会比这种方案差,毕竟它可以之后再选择中间的非0数字,甚至还会更优,因为这样是至少操作一次。所以贪心策略就是操作机会都用在最靠前的非0数字上,最后检查一下序列是否不减,最终复杂度为O(nlogn)。给出一个数组,你可以进行若干次操作,每次操作可以选择数组中某个数字x,令所有的x变成0,如果想得到一个不减序列的最少操作次数是多少。..原创 2022-08-14 23:58:15 · 347 阅读 · 0 评论 -
[贪心]Black Magic 2022杭电多校第7场 1004
对于最少的方块,可以显然左黑右白和左白右黑两两合并,让全黑直接夹在其中,只要存在一对左黑右白和左白右黑,那么全黑的方块就是没有贡献的,所以需要n1+n2+n3-min(n2, n3)块方块,如果n2和n3均为0且n4不为0那么最后还需要+1块方块。有4种方块,分别是两侧全白,左侧白右侧黑,左侧黑右侧白,两侧全黑,分别给出这四种方块的数量,要求将这些方块拍成一排,如果相邻两接触面均黑那可以合并成一个方块,分别输出最少方块数和最多方块数。......原创 2022-08-11 22:39:15 · 296 阅读 · 0 评论 -
[st表][贪心]Loop 2022杭电多校第6场 1012
给出长度为n的数组以及k次操作机会,每次操作可以选择一个区间[l, r]使区间内的点循环左移1位,问最终字典序最大的序列是什么。原创 2022-08-04 21:37:15 · 222 阅读 · 0 评论 -
[贪心]Climb Stairs 2022杭电多校第4场 1007
不过枚举跳几层时需要知道能否从该层杀回去,这个信息处理起来比较巧妙,用到了dp的思想,设low_at[i]为从第i层杀回去所需要的最少攻击力,首先这个值一定要大于等于hp[i],不然第一个怪都打不死,打败了第i层的怪物后只需要再打败第i层以下的怪就可以了,这需要的攻击力就是low_at[i-1],并且打完第i层怪后攻击力还会上升hp[i]点,所以只需要max(hp[i],low_at[i-1]-hp[i])的攻击力就可以从第i层杀回去。......原创 2022-08-01 10:23:40 · 380 阅读 · 0 评论 -
[贪心]Package Delivery 2022杭电多校第3场 1009
给出n个快递的到达时间和最晚取件时间,每次最多拿k个快递,问最少几次取完。原创 2022-07-27 20:36:29 · 375 阅读 · 0 评论 -
[贪心][二分]Occupy the Cities 2021CCPC桂林站G
这道题目有两种做法,分别是二分和贪心做法,比赛的时候没想到二分,就一直在想贪心的做法,后来没想到真的用贪心O(n)解决了。先考虑O(nlogn)的二分解法,由于攻占时间具有单调性,所以在最外层可以二分时间,对于确定的时间mid只需要判断是否能在mid时间内将全部城市攻占,有n座城市排成一横排,其中某些城市开始时被攻占,每座被攻占的城市可以在一个时间单位内攻占下其左侧或右侧未被攻占的城市,不过只能选择一侧,不可以同时攻占两侧城市,给出n座城市初始状态,求所有城市都被攻占的最少时间。...原创 2022-07-15 21:19:42 · 667 阅读 · 2 评论 -
[二分][贪心]Schedule Management CF1701C
There are nn workers and mm tasks. The workers are numbered from 11 to nn. Each task ii has a value aiai — the index of worker who is proficient in this task.Every task should have a worker assigned to it. If a worker is proficient in the task, they comple原创 2022-07-12 15:25:39 · 382 阅读 · 0 评论 -
[贪心]Permutation Restoration CF1701D
Monocarp had a permutation aa of nn integers 11, 22, ..., nn (a permutation is an array where each element from 11 to nn occurs exactly once).Then Monocarp calculated an array of integers bb of size nn, where bi=⌊iai⌋bi=⌊iai⌋. For example, if the permutati原创 2022-07-12 15:08:42 · 207 阅读 · 0 评论 -
[思维][贪心]Lena and Matrix CF1689D
Lena is a beautiful girl who likes logical puzzles.As a gift for her birthday, Lena got a matrix puzzle!The matrix consists of nn rows and mm columns, and each cell is either black or white. The coordinates (i,j)(i,j) denote the cell which belongs to the i原创 2022-07-10 22:53:14 · 298 阅读 · 0 评论 -
[贪心]Mystic Permutation CF1689B
Monocarp is a little boy who lives in Byteland and he loves programming.Recently, he found a permutation of length nn. He has to come up with a mystic permutation. It has to be a new permutation such that it differs from the old one in each position.More f原创 2022-07-10 22:02:59 · 486 阅读 · 3 评论 -
[思维][贪心]Fake Plastic Trees CF1694D
We are given a rooted tree consisting of n vertices numbered from 1 to n. The root of the tree is the vertex 1 and the parent of the vertex v is pv.There is a number written on each vertex, initially all numbers are equal to 0. Let's denote the number writ原创 2022-07-07 17:18:54 · 334 阅读 · 0 评论 -
[贪心][栈]Water Balance CF1299C
There arenwater tanks in a row,i-th of them contains ailiters of water. The tanks are numbered from1tonnfrom left to right.You can perform the following operation: choose some subsegment [l,r](1≤l≤r≤n), and redistribute water in tanks l,l+1,…,r...原创 2022-03-30 11:38:10 · 156 阅读 · 0 评论 -
[线性dp][贪心]凑零钱 PTA L3-001
韩梅梅喜欢满宇宙到处逛街。现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债。韩梅梅手边有10^4枚来自各个星球的硬币,需要请你帮她盘算一下,是否可能精确凑出要付的款额。输入格式:输入第一行给出两个正整数:N(≤10^4)是硬币的总个数,M(≤10^2)是韩梅梅要付的款额。第二行给出N枚硬币的正整数面值。数字间以空格分隔。输出格式:在一行中输出硬币的面值V1≤V2≤⋯≤Vk,满足条件V1+V2+...+Vk=M...原创 2022-03-20 09:22:30 · 310 阅读 · 0 评论 -
[好题][LIS][贪心]快乐风男 牛客小白月赛20G
题目描述Hasaki!lfq 特别喜欢玩快乐风男,并且他喜欢无缝E的感觉。现在 lfq 面前有n个兵,呈线性排列编号为 1−n,每个小兵携带 ai 个金币。为了体现快乐的极致, lfq 知道了每个小兵携带的金币,快乐的他E往无前(也就是说他不会回头),但是快乐的他每次E的小兵的金币都严格递增,为了 lfq 能E到更多的小兵,请你给出他E兵的编号。如果有多个快乐方案,给出字典序最小的方案输入描述:第一行一个整数 n(1<=n<=1e5),表示小兵的个数。接下来一行 n 个整数原创 2022-03-17 19:03:04 · 2501 阅读 · 0 评论 -
[贪心]救救曹植 qduoj22Spring8
Description曹植是三国时期著名文学家,被谢灵运称之为”天下才有一石,曹子建独占八斗“。但可惜的是,他和他的哥哥曹丕关系不好。这天在曹丕的疯狂push之下,曹植七步成诗,写出了”本是同根生,相煎何太急“之句。曹丕心想:这七步成诗是我的idea,你通讯作者不挂我就算了,还敢内涵我迫害兄弟。我刚当皇帝,受得了这委屈?今天一定要让你知道知道厉害!于是曹丕让人呈上标号为1 ~ n的n个杯子。每个杯子里装有ai个豆子。然后对曹植说:“现在你要用最少的次数把杯子里的豆子取光。取豆方式是,每次选一个编原创 2022-03-11 18:37:43 · 102 阅读 · 0 评论 -
[货仓选址]SOLDIERS POJ1723
N soldiers of the land Gridland are randomly scattered around the country.A position in Gridland is given by a pair (x,y) of integer coordinates. Soldiers can move - in one move, one soldier can go one unit up, down, left or right (hence, he can change ei原创 2022-01-25 22:34:21 · 279 阅读 · 0 评论 -
[LIS][贪心]L2-014 列车调度
火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N(2≤N≤105),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。输出格式:...原创 2021-10-14 20:57:33 · 122 阅读 · 0 评论