上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页
摘要: #include #include #include #define MAXNODE 50000#define SIGMA_SIZE 100using namespace std;int ch[MAXNODE][SIGMA_SIZE];int f[MAXNODE]; // fail函数int ... 阅读全文
posted @ 2014-04-28 16:53 贝尔摩德 阅读(140) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std;#define MAXNODE 100100#define SIGMA_SIZE 135int ch[MAXNODE][SIGMA_SIZE];int f[MAXNODE]; // fail函数int... 阅读全文
posted @ 2014-04-28 16:09 贝尔摩德 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题意:1 a:询问是不是有连续长度为a的空房间,有的话住进最左边2 a b:将[a,a+b-1]的房间清空#include #define maxn 51000int sum[4*maxn],lsum[4*maxn],rsum[4*maxn];int vis[4*maxn];int max(int ... 阅读全文
posted @ 2014-04-26 14:53 贝尔摩德 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题解copy别人的。。Candy【题目大意】有N颗糖果和M个小孩,老师现在要把这N颗糖分给这M个小孩。每个小孩i对每颗糖j都有一个偏爱度Aij,如果他喜欢这颗糖,Aij = k,否则Aij = 1。小孩i觉得高兴当且仅当ΣCij×Aij >= Bi,j=1,2,…,N,若他分得了糖j,Cij = 1... 阅读全文
posted @ 2014-04-22 14:28 贝尔摩德 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 构图比较裸,只是上下界费用流不好做= =源点向每个行节点连接下界为1上界为INF费用为0的边,每个列节点向汇点连接下界为1上界为INF费用为0的边,行节点向列节点连接下界为0上界为1费用为该点值的边,求一最小费用可行流就好。#include#include#include#include#inclu... 阅读全文
posted @ 2014-04-17 17:29 贝尔摩德 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 可以想到是个二分图,x节点是喜欢狗的,y节点是喜欢猫的,在有冲突的节点间连边(x节点间不会有冲突,y节点间不会有冲突,所以是二分图),即若x[i ]喜欢的是y[j ]讨厌的,或x[i ]讨厌的是y[j ]喜欢的,那么g[i ][j ] = g[ j][ i ] = 1,则该二分图的最大点独立集除以2... 阅读全文
posted @ 2014-04-17 17:19 贝尔摩德 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 首先,这种相邻格子的问题都会联系到二分图:横纵坐标和为偶数的在左边,横纵坐标和为奇数的在右边。构图如下:原点和左边的点相连接,容量是其权值。右边的点和汇点连接,容量是其权值(如果某点为必选的,则权值为INF)。如果左边的点x和右边的点y相邻,连接x,y容量为2 * (x & y)。每个割都代表一种方... 阅读全文
posted @ 2014-04-17 09:12 贝尔摩德 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 先复制一遍数组,在用一个数组sum[ i ]表示前 i 个数字的和,对于以第k个数开头的情况,只需找出sum[ k ]到sum[ k+n ]的最小值min,如果min - sum[ k-1 ]大于0则满足。#include #define maxn 2001000int a[maxn],sum[ma... 阅读全文
posted @ 2014-04-16 16:56 贝尔摩德 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 先黑边优先做一次生成树得到白边的最小值min,再以白边优先做一次生成树得到白边的最大值max,只要min到max之间有Fibonacci数则可以,因为从min到max总可以去掉一条黑边换成一条白边。#include #include #define maxn 110000struct edge{ ... 阅读全文
posted @ 2014-04-16 16:51 贝尔摩德 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 注意到当一个数开方到1后就不再变了,每个数开方次数不会太多,所以进行更新时如果该区间的数字都是1了就直接return#include #include #include #define maxn 100100__int64 sum[4*maxn];void build(int l,int r,int... 阅读全文
posted @ 2014-04-16 16:44 贝尔摩德 阅读(135) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页