数据结构
ccx20060313
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
luoguP1525关押罪犯
解决方案:1.按照冲突从大到小排序2.优先保证最大冲突不发生(对,所以是贪心)3.开一个并查集,维护必须在同一个监狱中和必须不在同一个监狱中的罪犯4.等等,两个并查集5.所以要有2倍的人6.x变成x和x+n7.x-y+n:x和y必须不在一起8.x-y:x和y必须在一起9.开始处理10.假设目前处理到x和y11.原创 2017-11-25 20:34:03 · 212 阅读 · 0 评论 -
luoguP1090合并果子
解决方案:1.一看就知道最方便的是贪心(动归也行)2.每次调最小的两个合并(不要问证明)3.所以用优先队列,懒得手打(P党www)4.小根堆和大根堆都差不多,选一个用吧5.AC 奉上代码#include<iostream>#include<cstdlib>#include<queue>using namespace std;pr...原创 2017-11-28 12:37:12 · 168 阅读 · 0 评论 -
树的重心(默认已会定义及存储)
先给代码#includeconst int N=1000010;const int inf=0x7f7f7f7f;using namespace std;int f[N],size[N],n,head[N],tot;int rt[N],sum,cnt=1;struct Edge{int u,v,next;}G[Ninline void addedge(int u,i原创 2017-11-25 19:49:06 · 204 阅读 · 0 评论
分享