基础 —— 贪心
基础 —— 贪心
c4Lnn
这个作者很懒,什么都没留下…
展开
-
2021牛客寒假算法基础集训营4 F. 魏迟燕的自走棋
链接https://ac.nowcoder.com/acm/contest/9984/F题意思路代码#include <bits/stdc++.h>#define SZ(x) (int)(x).size()#define ALL(x) (x).begin(),(x).end()#define PB push_back#define EB emplace_back#define MP make_pair#define FI first#define SE secondus原创 2021-02-21 19:58:19 · 133 阅读 · 0 评论 -
2021牛客寒假算法基础集训营3 B. 内卷
链接https://ac.nowcoder.com/acm/contest/9983/B题意每个人有 ABCDE 五个等级的预期分数,学校要求得到等级 A 的人不超过 kkk 个给每个人安排一个预期分数,求他们的预期分数最大值和最小值之差最小为多少思路将 5n5n5n 个分数从小到大排序保证尺取区间内有 nnn 个不同的同学以及取等第 A 的学生不大于 kkk 个即可代码#include <bits/stdc++.h>#define SZ(x) (int)(x).size()原创 2021-02-10 01:54:33 · 85 阅读 · 0 评论 -
The 2019 ICPC Asia Shanghai Regional Contest H. Tree Partition
链接https://ac.nowcoder.com/acm/contest/4370/H题意将一个 nnn 个节点的点权树切为 kkk 个树,使每棵树的点权和的最大值最小思路二分答案记 fif_ifi 为节点 iii 与子树权值和从叶子节点向上考虑,如果 fif_ifi 大于答案,则将子节点按照 fff 从大到小切,直到 fif_ifi 小于等于答案如果切了小于 kkk 次,则该答案成立代码#include <bits/stdc++.h>#define SZ(x) (原创 2021-02-09 00:31:57 · 157 阅读 · 0 评论 -
Codeforces Round #560 (Div. 3) F2. Microtransactions (hard version)
链接https://codeforces.com/contest/1165/problem/F2题意需要购买 nnn 个物品,每个物品需要 kik_iki 个每个物品原价为 222 元,打折则为 111 元现在有 mmm 个打折信息,每个信息代表某个物品在某日打折每天能获得 111 元,求买完所有需要的物品的天数思路贪心策略:若该物品为最后一次打折日,则购买二分天数代码#include <bits/stdc++.h>#define SZ(x) (int)(x).size原创 2021-02-06 10:29:43 · 106 阅读 · 0 评论 -
Codeforces Round #629 (Div. 3) F. Make k Equal
链接https://codeforces.com/contest/1328/problem/F题意操作一:使最小的数加一操作二:使最大的数减一求最小操作数使序列中有 kkk 个相同的数思路将所有数排序后,枚举每个不同的数操作只有三种 Case:只操作比当前小的数只操作比当前大的数操作一部分比当前小的数,操作一部分比当前大的数易发现不管是操作小的数还是操作大的数,我们都需要将一边的所有数都先操作为与当前数相差为 111 的数才能增加当前数个数,用前缀和预处理代码#include原创 2020-11-26 10:10:50 · 72 阅读 · 0 评论 -
Codeforces Round #661 (Div. 3) E2. Weights Division (hard version)
链接https://codeforces.com/contest/1399/problem/E2题意树形图上,每次选一条边使其边权 www 变为⌊w2⌋\lfloor\frac{w}{2}\rfloor⌊2w⌋每条边的花费为 111 或 222求让∑v∈leavesw(root,v)≤s\sum\limits_{v\in leaves}{w(root,v)}\le sv∈leaves∑w(root,v)≤s的最小花费思路DFS 求出每条边经过多少路径并不断对其操作记录每次对答案的贡献用两原创 2020-08-07 21:57:13 · 115 阅读 · 0 评论 -
Codeforces Round #660 (Div. 2) D. Captain Flint and Treasure
链接https://codeforces.com/contest/1388/problem/D题意数组 a,ba,ba,b 长度为 nnn,选择一个 iii,进行如下操作ans+=aians+=a_ians+=aiabi+=ai(bi≠−1)a_{b_i}+=a_i(b_i\ne-1)abi+=ai(bi=−1)求一个 1∼n1\sim n1∼n 的排列使按此排列操作得到的 ansansans 最大思路iii 对 bib_ibi 有贡献,即 iii 可以到达 bib_ib原创 2020-07-31 14:45:23 · 126 阅读 · 0 评论 -
EOJ Monthly 2020.7 A. 打字机
链接https://acm.ecnu.edu.cn/contest/292/problem/A/题意操作 1:将任意一个 “X” 替换为 “aX”操作 2:将任意一个 “X” 替换为 “aXbX”操作 3:删除任意一个 “X”初始仅有一个 “X”仅包含 “a”,“b” 的字符串 SSS,如果 SSS 中的某个 “a” 既可以通过操作 1 得到,又可以通过操作 2 得到,输出 Sad Fang,不能打出字符串 SSS,输出 Dead Fang,否则输出 Happy Fang思路1)每个前缀原创 2020-07-31 11:50:42 · 121 阅读 · 0 评论 -
Codeforces Round #612 (Div. 2) C. Garland
链接https://codeforces.com/contest/1287/problem/C题意一个长度为 nnn 的不存在相同数的无序序列,已知其未被填完求在填完后相邻两数奇偶性不同的对的个数的最小值思路一贪心将整个串分为 000 段和非 000 段若一个 000 段两端都是偶数或都是奇数,都填偶数或都填奇数,否则贡献为 222若一个 000 段两端奇偶性不同,贡献为 111若一个 000 段只有一端,填与它拥有那一段奇偶性相同的数,否则贡献为 111将拥有两端的 000 段长度从原创 2020-07-30 00:01:37 · 124 阅读 · 1 评论 -
牛客小白月赛 23 G. 树上求和
链接https://ac.nowcoder.com/acm/contest/4784/G题意树的每条边上都有一个正整数,这个正整数被称作这条边的颜色,规定一条树链的权值为这条树链上所有边的颜色的代数和而整棵树的权值为所有不同的树链的权值的代数和已知所有边的颜色集合恰好为 111 到 n−1n-1n−1 这 n−1n-1n−1 个不同的正整数,请你为每条边安排一种颜色,使得这棵树的权值尽量小,求出这个最小的权值思路设一条边上深度较大的那个点为 xxx,点 xxx 的子树大小为 sz[x]sz[x原创 2020-07-29 21:43:39 · 74 阅读 · 0 评论 -
NC 13249. 黑白树
链接https://ac.nowcoder.com/acm/problem/13249题意有一颗树,开始时每个节点都是白色,每个节点 iii 可以将 iii 到根的链上(包括 iii 与根)所有与 iii 距离小于 k[i]k[i]k[i] 的点变黑,问最少操作几次能把整棵树变黑思路我们考虑每次操作的起始节点 xxx 与能够染色的最远的那个节点 yyy 之间的这些节点如何操作易得最优操作是找到 fa[x]fa[x]fa[x] 与 yyy 之间的节点能染色到最远的那个节点,这个节点就是下次操作的起原创 2020-07-28 15:27:32 · 159 阅读 · 0 评论