摘要: /* 二分图染色版本 两个监狱对应二部图的两部分 在给定的怨气值里二分 对于每一个Ci 进行染色判断是否合法 染色的时候 如果这条边的ci > Ci 这两个人就带分开 即染成不同的颜色 如果染色到某两个点颜色相同且怨气值>Ci 这个Ci就不合法 二分直到最后答案 */ #include #include #include #include #define maxn 100010 us... 阅读全文
posted @ 2016-05-31 21:48 一入OI深似海 阅读(278) 评论(0) 推荐(1) 编辑
摘要: #include #include #include #define maxn 2010 using namespace std; int n,m,num,head[maxn],f[maxn],match[maxn],color[maxn]; struct node { int u,v,pre; }e[maxn*maxn]; void Add(int from,int to) { ... 阅读全文
posted @ 2016-05-31 20:49 一入OI深似海 阅读(145) 评论(0) 推荐(0) 编辑
摘要: /* 二分答案 这个题目要求“体力和最小的那个小组的所有人的体力和尽量大” 很明显我们二分最小体力 如果合法 逐渐放大 但是这里我们二分的是最小而不是最大 所以累加的体力>=ans时 跳过当前体力i (可以认为把他归给了上一组) 累加和=0 继续分组 */ #include #include #include #define ll long long #define maxn 30010... 阅读全文
posted @ 2016-05-31 15:56 一入OI深似海 阅读(215) 评论(0) 推荐(0) 编辑
摘要: /* 先来个倍增 */ #include #include #include #define maxn 10010 using namespace std; int T,n,num,head[maxn],st,end,anc,fa[maxn][25],dep[maxn],out[maxn],root; struct node { int u,v,t,pre; }e[maxn*2]; v... 阅读全文
posted @ 2016-05-31 15:52 一入OI深似海 阅读(220) 评论(0) 推荐(0) 编辑