![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
—————贪心—————
文章平均质量分 65
w4149
无
展开
-
BZOJ 4152 The Captain (Dijkstra 堆优化)
4152: [AMPPZ2014]The CaptainTime Limit: 20 Sec Memory Limit: 256 MBDescription 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。Input 第一行包含一个正整数n(2<=n<=200000),表示点数。 接下来n行,每行包含两个原创 2017-07-04 21:04:04 · 262 阅读 · 0 评论 -
BZOJ 3143 游走 (高斯消元 贪心)
3143: [Hnoi2013]游走Time Limit: 10 Sec Memory Limit: 128 MB Description一个无向连通图,顶点从1编号到N,边从1编号到M。 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数。当小Z 到达N号顶点时游走结束,总分为所有获得的分数原创 2017-09-29 11:08:15 · 235 阅读 · 0 评论 -
BZOJ 1029 建筑抢修 (贪心)
1029: [JSOI2007]建筑抢修Time Limit: 4 Sec Memory Limit: 162 MB Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者。但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建筑设施将会完全 毁坏。现在的情况是:T部落基地里只有一个修原创 2017-09-29 20:29:37 · 248 阅读 · 0 评论 -
BZOJ 2115 Xor 线性基介绍(高斯消元 xor线性基)
2115: [Wc2011] XorTime Limit: 10 Sec Memory Limit: 259 MB DescriptionInput第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。Output仅包含一个整数,表示最大的XOR和原创 2017-09-29 21:59:21 · 305 阅读 · 0 评论 -
fill (贪心)
fill10.5思路: 题意是给你一些树上路径,问最少需要多少个树上的点,把所有路径覆盖掉 40分,序列上的问题是个经典问题,区间的最小点覆盖,按右端点排序后贪心即可。 考虑推到树上后怎么做,我们也是贪心,按照路径两个端点的lca的深度从大到小排序,然后贪心的选(即如果这个路径包含了被选择的点,跳过这条路径,否则选择这条路径的lca)。 证明:如果我们lca深度最大的那条路径上选择的点不是其原创 2017-10-05 16:53:17 · 292 阅读 · 0 评论 -
BZOJ 1117 救火站Gas (贪心)
1117: [POI2009]救火站GasTime Limit: 10 Sec Memory Limit: 162 MB Description给你一棵树,现在要建立一些消防站,有以下要求: 1. 消防站要建立在节点上,每个节点可能建立不只一个消防站。 2. 每个节点应该被一个消防站管理,这个消防站不一定建立在该节点上。 3. 每个消防站可以管理至多s个节点。 4. 消防站只能管理距离(两点间最原创 2017-10-10 20:45:48 · 405 阅读 · 0 评论 -
升序操作 (二分 贪心)
也可以不用判环,暴力check,按照顺序暴力跑(看代码吧)#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define LL long long#define N 400010using namespace std;int n, cnt;int a[N], b[N];inline in原创 2017-11-07 17:29:19 · 425 阅读 · 0 评论 -
将军令 (贪心)
将军令10.24思路: 其实就是BZOJ 1117 救火站Gas 的简单版,其实就是O(n)的,哪里来的k!!!#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#define LL long long#define N原创 2017-10-24 21:18:17 · 446 阅读 · 0 评论 -
Rank 后缀排序求原串(贪心)
Rank11.3对于后缀排名最小的那个位置, 不妨令它为’a’. 本着让使用的字母尽可能少的原则, 对于两个排名相邻的位置i, j, 设rank[i] < rank[j], 那么如果rank[i+1] < rank[j+1]那么i和j位置上的字符就能够相同, 否则不能. 那么从排名为1的往后推就可以了, 至于字典序最小并没有什么用.#include <iostream>#include <cstd原创 2017-11-03 14:46:26 · 283 阅读 · 0 评论 -
codeforces 700B Connecting Universities (贪心详解)
codeforces 700B Connecting Universities结论思路: 这个题一眼看上去很难,但是正着做不行,我们换个角度:考虑每条边的贡献。 因为是一棵树,所以一条边把树分成两个集合,假如左边有x个学校,右边有y个学校。 贪心地想,让每条边在学校的路径上最多,所以贡献为min(x,y) 具体实现:一次dfs即可,复杂度O(N) 听起来很有道理,可我不会证呀~~ 然后就原创 2017-11-04 17:26:29 · 690 阅读 · 0 评论 -
Trie树上dfs跑 与 或 异或
Trie树上dfs跑与 或 异或【题目描述】 任务是写一个位运算数据库:需要能插入整数,并快速查找数据库中的一个整数与给定的整数x按位与/按位或/按位异或能得到的最大值。【输入格式】 第一行一个整数n,表示操作数。 接下来n行,每行两个正整数D,X。 若D=1,表示向数据库插入一个整数X。 若D=2,表示询问数据库中选择一个数与X按位与能得到的最大值。 若D=3,表示询问数据库中选择一个原创 2017-09-28 20:56:32 · 295 阅读 · 0 评论 -
NYG的背包 (贪心)
题解#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define LL long longusing namespace std;const int N = 1e5+4, INF = 0x3f3f3f3f;struct Node { LL aa, bb, cc; frien原创 2017-09-19 16:30:01 · 549 阅读 · 0 评论 -
so就 (二分答案 dp 贪心)
so就【背景描述】 一排 N 个数, 第 i 个数是 Ai , 你要找出 K 个不相邻的数, 使得他们的和最大。 请求出这个最大和。【输入格式】 第一行两个整数 N 和 K。 接下来一行 N 个整数, 第 i 个整数表示 Ai 。【输出格式】 一行一个整数表示最大和, 请注意答案可能会超过 int 范围【样例输入】 3 2 4 5 3【样例输出】 7【数据范围】 对于 20% 的数原创 2017-09-11 15:20:12 · 295 阅读 · 0 评论 -
练习赛ming最优安排(贪心)
ming【问题描述】 给你 N个任务 ,对于第i个任务 ,我们需要ti的 时间去完成它,deadline是di。如果我们设fi为第i个任务的完成时刻 ,那你需要做的便是确定每个任务,那你需要做的便是确定每个任务开始 时间 ,使得 max(max(0,fi-di))最小化 。(同一时间只能做个任务) 【输入格式】 第一行 一个整数 N代表任务的个数 。 接下来 N行每两个整数 ,分别代表 ti,原创 2017-07-03 17:08:21 · 388 阅读 · 0 评论 -
BZOJ 1052 覆盖问题 (二分 贪心)
1052: [HAOI2007]覆盖问题Description 某人在山上种了N棵小树苗。冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将小树遮起来。我们不妨将山建立一个平面直角坐标系,设第i棵小树的坐标为(Xi,Yi),3个L*L的正方形的边要求平行与坐标轴,一个点如果在正方形的边界上,也算作被覆原创 2017-07-05 09:51:35 · 395 阅读 · 0 评论 -
机房练习赛kun (贪心 模拟)
机房练习赛kun (贪心 模拟)【问题描述】 栈是一种强大的数据结构,它的一种特殊功能是对数组进行排序。例如,借助一个栈,依次将数组 1,3,2 按顺序入栈或出栈,可对其从大到小排序: 1 入栈;3 入栈;3 出栈;2 入栈;2 出栈;1 出栈。 在上面这个例子中,出栈序列是 3,2,1,因此实现了对数组的排序。 遗憾的是,有些时候,仅仅借助一个栈,不能实现对数组的完全排序。例如给定数组 2原创 2017-07-07 17:08:32 · 521 阅读 · 0 评论 -
BZOJ 1086 王室联邦
1086: [SCOI2005]王室联邦Time Limit: 10 Sec Memory Limit: 162 MBSec Special Judge Description “余”人国的国王想重新编制他的国家。他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成 员来管理。他的国家有n个城市,编号为1..n。一些城市之间有道路相连,任意两个不同的城市之间有且仅有一条 直接或间原创 2017-07-20 19:58:26 · 277 阅读 · 0 评论 -
BZOJ 3790 神奇项链 (Manacher 贪心)
3790: 神奇项链Time Limit: 10 Sec Memory Limit: 64 MB Description母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有一个特殊的性质:假如一原创 2017-07-27 21:38:12 · 234 阅读 · 0 评论 -
BZOJ 2563 阿狸和桃子的游戏 (贪心)
题目大意:给定一张无向图,每个点有点权,每条边有边权,两个人轮流选择点,若一条边的两端点被选择则这条边被选择,两人都想自己的得分-对手的得分最大,求最终先手得分-后手得分思路: (摘自PoPoQQQ大佬) 考虑先手选择每个点对答案的影响 一个点如果不选,本身对答案的贡献是-w 一个点如果选,本身对答案的贡献是w 一条边如果两个端点都不选,对答案的贡献是-c 如果两个端点中只选择一个,对答原创 2017-08-25 20:25:01 · 237 阅读 · 0 评论 -
work (二分 贪心)
思路: #include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#define LL long longusing namespace std;#define N 100010int p[N],c[N];int n, m, pos;int main(){ freopen("work.i原创 2017-08-30 19:35:35 · 221 阅读 · 0 评论 -
BZOJ 4198 荷马史诗 (k叉哈夫曼树)
4198: [Noi2015]荷马史诗Time Limit: 10 Sec Memory Limit: 512 MB Description追逐影子的人,自己就是影子。 ——荷马Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,Allison 想通过一种编码方式原创 2017-09-25 15:45:22 · 242 阅读 · 0 评论 -
kill (二分 贪心)
kill思路: 二分ans后,直接贪心暴力check。 每个人去打他能打得到的最远的怪兽。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define N 100010using namespace std;int n, m, S;LL go原创 2017-11-04 17:29:47 · 302 阅读 · 0 评论