
贪心
AliceBuJu
这个作者很懒,什么都没留下…
展开
-
【codevs 1001】舒适的路线
并查集+贪心+最小生成树+枚举 按照边权从大到小枚举一个最大边权maxl,然后从仅次于最大边权的边开始从大到小枚举最小边权minl。这样每次枚举最小边权时,最大边权都是确定的,可以看做是一个常数。直到枚举到起点和终点联通为止。最大边权枚举m次,每次可以更新一次答案(即ansmax和ansmin)。 PS:输出答案时需要用到gcd来输出分数#include<cstdio>#include<ios原创 2017-09-28 09:16:24 · 313 阅读 · 0 评论 -
【洛谷 P2587】[ZJOI2008]泡泡堂
贪心 先将两队从小到大分别排序。 最好的情况: 如果我队最快的能战胜对方最快的,就让这两者作战。 如果我队最慢的能战胜对方最慢的,就让这两者作战。 如果上述都不符合,就让我队最慢的去和对方最快的作战。#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int n,ans=0,ans1=0;原创 2017-09-09 11:22:58 · 364 阅读 · 0 评论 -
【codevs 1730】青蛙过河
#include<cstdio>using namespace std;int a,b;int main(){ scanf("%d%d",&a,&b); printf("%d\n",(1<<a)*(b+1));}原创 2017-11-09 12:27:26 · 311 阅读 · 0 评论 -
【codevs 2744】养鱼喂妹纸
二分答案+贪心 注意二分边界啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊QAQQQQQQQQQQQQQQQQQQQQQ#include<cstdio>#include<iostream>#define ll long long#define MAXN 100005using namespace std;ll a[MAXN]原创 2017-10-14 11:21:21 · 228 阅读 · 0 评论 -
【NOIP】借教室(二分+前缀和)
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn=1000000+5;int n,m;int a[maxn];int l,r,mid;struct change{ int f,t,v;}c[maxn];int原创 2017-10-13 15:06:58 · 407 阅读 · 0 评论 -
【codevs 2382】挂缀
#include<cstdio>#include<iostream>#include<algorithm>#include<queue>#define ll long longusing namespace std;priority_queue<ll>q;ll sum=0,n;struct alice{ ll w,v,s;}hh[200000+5];bool cmp(a原创 2017-10-31 08:05:21 · 311 阅读 · 0 评论 -
【POJ 2709】Painter
贪心。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<queue>using namespace std;bool cmp(int a,int b){ return a>b;}const int Maxn=105;int n,grey,cnt,maxn;int原创 2017-10-10 18:23:36 · 232 阅读 · 0 评论 -
爬楼梯
题目描述 众所周知, wyh 是一名高二党,正把自己投入到学奥赛这一热火 朝天的工作中。 在一个天高云淡、风和日丽的下午,你和神犇 wyh 又缓缓向着 机房走去。 正当你准备上楼梯时, wyh 突发奇想, 提出了一个问 题: 如果他一次能迈一阶台阶乃至多阶,那么他走到四楼一共有 多少种可能的方案。 wyh 比较懒, 因此他还想知道他最少需要抬多 少次腿(无论一次走几阶楼梯都算抬一次腿原创 2017-10-19 09:12:41 · 254 阅读 · 0 评论 -
【NOIP】选择客栈
Loi_cgold的详细解释#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int maxn=200000;int tot[maxn],sum[maxn],h[maxn];int n,k,p;//分别表示客栈的个数,色调的数目和能接受的最低消费的最高值int ans,now;in原创 2017-10-19 06:50:25 · 577 阅读 · 0 评论 -
【codevs 2913】建筑抢修
来自Loi_Q的题解: 正解贪心+堆。 先按截稿时间/花费时间从小到大来排一遍序, 因为截稿时间靠前的 肯定要先选,截稿时间相同的肯定要选时间短的。 然后我们建个堆,堆顶是花费时间最大的元素。 ① 然后从第一个开始,若当前任务所需时间+之前的总时间小于等于 当前截稿时间,则扔进堆里, ans++。 //能够完成,更新 tot 若大于,这时要从它前面所有任务中选一个花费时间最长的(就是堆原创 2017-10-17 16:47:06 · 209 阅读 · 0 评论 -
【codevs 1615】数据备份
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#define ll long longusing namespace std;struct zt{ int ct;//区间的序号 ll l;//区间内选择的长度原创 2017-11-05 21:05:36 · 206 阅读 · 0 评论