---贪心
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
【NOIP2012TG】 开车旅行 详解+代码
Description 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 i 和城市 j 之间的距离 d[i,j]恰好是这两个城市海拔高度之差的绝对值,即 d[i,j] = |Hi-Hj|。 旅行过程中,小 A 和小 B 轮流开车,第一天小 A 开原创 2016-03-18 11:28:16 · 1712 阅读 · 0 评论 -
[JZOJ6023]【GDOI2019模拟2019.2.16】烤仓鼠【贪心】【Trie】
DescriptionSolution考虑如何求出那个最小值显然我们可以求出全部数中二进制最高的不同位,答案的那一位肯定是1,那一位相同的数相邻可以随便放。这样可以将全部数分成0的集合和1的集合,把一个集合中的数扔进Trie,再用另外一个集合的数去跑,就可以求出答案了。接下来我们考虑贪心构造方案此时我们相当于有两个完全图,然后这两个完全图之间有一些边,我们要找一条字典序最小的哈密尔...原创 2019-02-18 21:48:05 · 361 阅读 · 0 评论 -
【杂题】[BZOJ3272] ZGG吃东西【线段树】【贪心】
Description给定长度为n的序列Am组询问,每次询问l,r,kl,r,kl,r,k,表示在区间[l,r][l,r][l,r]内选出至多k个不重叠的子段的最大和n,m≤100000,k≤20n,m\leq 100000,k\leq 20n,m≤100000,k≤20Solution五倍经验链接:【BZOJ2288】【POJ Challenge】生日礼物【BZOJ3267】KC采...原创 2018-11-04 11:51:59 · 275 阅读 · 0 评论 -
[JZOJ5944]【NOIP2018模拟11.01】信标
Description对于 100% 的数据, 1 ≤ n ≤ 1000000, 1 ≤ u, v ≤ n, 保证数据合法.Solution显然,当n>1时答案>0因此我们不妨枚举一个点作为根,它是必须要放的,那么深度不同的节点就被区分了。对于一个节点,假设它有k个儿子,那么至少要在k-1个儿子子树中有信标证明:显而易见,若有两个子树没有信标,那么靠其他的子树中的信标以及...原创 2018-11-01 16:06:09 · 354 阅读 · 0 评论 -
【杂题】[51Nod 1367] 完美森林【贪心】
Description给定一棵标号从0开始的n个节点的树,边有长度。你可以删掉一些边使得这棵树分裂成若干棵树,形成一个森林。问最少分裂成多少棵树,使得每棵树的直径都不超过Ln≤500000,L≤2000000n\leq 500000,L\leq 2000000n≤500000,L≤2000000Solution这题我已开始还想复杂了,往DP方面想其实并不需要。随便给这棵树定一个根,...原创 2018-10-24 15:03:23 · 222 阅读 · 0 评论 -
【DP】【贪心】[51Nod1378] 夹克老爷的愤怒
Description给出N个点的一棵树,边的长度为1 你可以选择在某些上放一个家丁,一个家丁可以控制与此处距离不超过K的所有点。 求最小放置家丁数 N,K≤105N,K≤105N,K\leq 10^5Solution如果是一条链的话,我们很容易想到从底向上贪心,每次当最深的点到当前点为K了就放一个 就是使放的点尽量向上回到原来的问题 同样的,设F[i]F[i]F[i]表...原创 2018-05-25 22:15:05 · 230 阅读 · 0 评论 -
【贪心】[51Nod1982] 阶乘!
Description给出一个n个数的序列A 你需要将∏i=0nAi!∏i=0nAi!\prod\limits_{i=0}^{n}A_i! 表示为 t×∏i=0k(Bi!)eit×∏i=0k(Bi!)eit\times\prod\limits_{i=0}^{k}(B_i!)^{e_i} 的形式其中t的值我们不关心 需要做的是使序列B1,e1,B2,e2...B1,e1,B2,e2...原创 2018-05-19 16:48:47 · 308 阅读 · 0 评论 -
[51Nod 1443] 路径和树
Description给定一幅无向带权连通图G = (V, E) (这里V是点集,E是边集)。从点u开始的最短路径树是这样一幅图G1 = (V, E1),其中E1是E的子集,并且在G1中,u到所有其它点的最短路径与他在G中是一样的。 现在给定一幅无向带权连通图G和一个点u。你的任务是找出从u开始的最短路径树,并且这个树中所有边的权值之和要最小。 n,m<=300000Solu...原创 2018-04-05 15:46:23 · 253 阅读 · 0 评论 -
[AtCoder Grand Contest 019] F: Yes or No (agc019F)
原题链接 https://agc019.contest.atcoder.jp/tasks/agc019_fDescription有N+M个问题,N个问题的答案是Yes,M个问题的答案是No现在将这N+M个问题随机排列 你需要按顺序回答,每回答一个问题就会告诉你这道题的正确答案求最优策略下答对问题的期望数量 答案对998244353取模 n,m&lt;=5e5So...原创 2018-02-22 14:05:27 · 436 阅读 · 0 评论 -
[AtCoder Grand Contest 018] D: Tree and Hamilton Path (agc018D)
原题链接 https://agc018.contest.atcoder.jp/tasks/agc018_dDescription给出一棵N个点带边权的树现在有一个N个点的完全图,一条边x,y的长度是这两点的在树上最短路长度求这个完全图的最长汉密尔顿路径(即从任意点开始将每个点访问且仅访问一次的路径)N&lt;=100000 边权&lt;=1e8Solution...原创 2018-02-23 11:40:47 · 240 阅读 · 0 评论 -
[AtCoder Regular Contest 080] F: Prime Flip (arc080F)
原题链接 https://arc080.contest.atcoder.jp/tasks/arc080_dDescription给出无限多的卡牌,从1开始顺序标号现在有N个卡牌是正面朝上的,给出它们的标号,其他的都是反面朝上你可以进行如下的操作 选择长度为奇质数的一段连续卡牌,将它们翻面求最少需要多少次操作使得所有卡牌反面朝上N<=100Solutio...原创 2018-02-27 12:34:17 · 273 阅读 · 0 评论 -
[AtCoder Grand Contest 009] D: Uninity (agc009D)
原题链接 https://agc009.contest.atcoder.jp/tasks/agc009_dDescription给你一棵n个节点的树 你需要找到一种点分治方案,使得点分树的深度最小,输出这个最小深度(根的深度为0) n<=100000Solution我们将每个点标号,表示这个点在点分树中的深度有性质:两个标号相同的点之间的路径上一定有一个标号...原创 2018-02-26 21:43:34 · 381 阅读 · 0 评论 -
[JZOJ5523] +/-
Description 世界的最终法则是一条式子。 这条式子很简单,形如”A[1] op[1] A[2] op[2] … op[n-1] A[n]”,其中A[i]为正整数,op[i]为+或-。 现在为了使世界达到一个前所未有的发展高峰,需要在式子里加入若干对括号,使得式子最后运算的得出的结果最大化,加入一对括号时,左括号只能加在数字前,右括号只能加在数字后,且左括号必须在右括号原创 2018-01-15 16:58:09 · 400 阅读 · 0 评论 -
[JZOJ5515] 送你一朵圣诞树
Description给出一棵树(不超过10个点可以作为根),每个点有一个权值a 要求按照某一个顺序选完所有点,一个点必须在父亲选完以后才能选,i号点在第j个被选对答案的贡献为a[i]*j 求最大的答案Solution考虑贪心假如当前先选一个点是最优的,那么一定在选完它的父亲以后立即选它,那么可以将它与父亲缩在一个并查集里,并且答案加上父亲的联通块大小乘上儿子(可以是个联通原创 2018-01-14 22:31:31 · 836 阅读 · 0 评论 -
[JZOJ5456]【NOIP2017提高A组冲刺11.6】奇怪的队列
Description nodgd的粉丝太多了,每天都会有很多人排队要签名。 今天有n个人排队,每个人的身高都是一个整数,且互不相同。很不巧,nodgd今天去忙别的事情去了,就只好让这些粉丝们明天再来。同时nodgd提出了一个要求,每个人都要记住自己前面与多少个比自己高的人,以便于明天恢复到今天的顺序。 但是,粉丝们或多或少都是有些失望的,失望使她们晕头转向、神魂颠倒,已经分不清楚哪原创 2017-11-06 15:40:04 · 360 阅读 · 0 评论 -
[JZOJ5394]【NOIP2017提高A组模拟10.5】Ping
Description给出一棵树,并给出一些点对,要求你删掉最少的点,使得这些点对间不连通, (自己连自己删掉也不连通)求出删点数以及任意一种删除方案。Solution先考虑如果这是一条链点对可以看成区间 就是每一个区间中都至少选择一个点考虑贪心 区间按右端点排序,左到右扫,碰到了一个右端点,如果对应的左端点之间已经有选的了就不管,否则一定选这个点。因为排序后尽量选右边的点,可以让尽量多的区间原创 2017-10-06 16:36:14 · 301 阅读 · 0 评论 -
[JZOJ5187]【NOIP2017提高组模拟6.30】tty's maze
Descrption给出一个N*M的矩阵,每个格子有正整数权值,每一列的格子权值都是一样的,上下左右走格子,第一次走到这个格子可以获得之,总共可以走K个格子(走过的也算)。第一行可以瞬移到最后一行求最大获得权值 N,M<=1e7,权值<=1e7,K<=nmSolution第一行可以一步走到最后一行,这意味着,从左向右走,无论我们从哪一个位置进入这一列,都可以不走重复路的获得完这一列的权值,因为一进原创 2017-07-01 15:38:55 · 369 阅读 · 0 评论 -
[JZOJ4622] 亚瑟王之宫
DescriptionSolution一开始看这题感觉骑士跳的最短路径很难处理,后来发现其实直接跑FloydFloyd就可以了。然后我们暴力枚举选哪两个点,假设所有的骑士都往第一个点走。然后我们现在要选一些点移到第二个点去。那我们显然选 到第二个点的距离−-到第一个点的距离最小的N2N\over 2个移过去就好。证明显然Code#include<cstdio>#include<cstdlib>#原创 2016-07-13 15:27:32 · 419 阅读 · 0 评论 -
[JZOJ6096] 森林【倍增】【贪心】
Description我们定义对一棵树做一次变换的含义为:当以 1 号节点为根时,交换两个互相不为祖先的点的子树;一棵树的权值为对它进行至多一次变换能得到的最大直径长度;初始时你只有一个节点 1,你需要执行 n-1 个操作,第 i 次操作会给出一个整数 x,表示新加入第 i+1 号点,并与第 x 号点连一条边。每次操作后输出当前的树的权值。强制在线n<=200000Solu...原创 2019-03-29 20:29:23 · 260 阅读 · 0 评论