该文被密码保护。 阅读全文
posted @ 2018-04-21 18:36 qjs12 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 对于区间 u->v ,连接边 u->v,权值为-len,容量为1,之后对每个点 i->i+1,连边 i->i+1,容量为k,权值为0,求区间最左端点到最右端点的费用流,费用相反数即为答案。 阅读全文
posted @ 2018-04-21 18:27 qjs12 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 相邻格不能同时选,通过黑白染色把相邻格染成不同色,构成一个二分图。 由s向所有白点连接一条容量为wij的边,由黑点向t连接容量为wij的边,白点向相邻黑点点容量为INF的边,不能选相邻格即不能让s-t联通,问题转化为求s-t最小割,即最大流。 阅读全文
posted @ 2018-04-21 18:19 qjs12 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 从s向每个单位连一条容量为ri的边,从每个餐桌向汇点连一条容量为ci的边,每个单位与每个餐桌之间连一条容量为1的边,最大流即为答案。 阅读全文
posted @ 2018-04-21 18:09 qjs12 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 对于可以相邻的点 u->v 连接一条边 ui->vj,对于那么完全放完这些点需要的柱子就是最小路径覆盖的模型。 因为要求最多n根柱子最多可以放多少数,一个方法是二分答案跑最大流检验。 但是对于网络流题目更好的方法是从小到大枚举数,每次可以在原来的基础上增广,何时最小路径覆盖数>n就break。 程序 阅读全文
posted @ 2018-04-21 18:05 qjs12 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 将一个点划分成两个,对于边 u->v,连边 ui -> vj ,这是个二分图求最大流,答案=顶点数-最大流。 考前复习模型,不求甚解。 代码都是半个月前的。 阅读全文
posted @ 2018-04-21 17:54 qjs12 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 费用流模板。 交了并且AC后,才发现我直接忽略了题目输入的 s 和 t,所有点都是按起点1,终点n跑的,结果居然...... 阅读全文
posted @ 2018-04-21 10:59 qjs12 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 最大流Dinic模板。 阅读全文
posted @ 2018-04-21 10:33 qjs12 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 主席树模板。 注意内存,每次 insert 会增加 log2n<<1 个节点,初始化线段树有 n<<2 个节点。 总结点数 = ( n<<2 ) + ( n * log2n<<1 )。 C++没有计算 log2() 的函数,但提供了 log10(),根据换底公式 log2n = log10n / l 阅读全文
posted @ 2018-04-21 10:09 qjs12 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 只要我们统计出一个点出发所有虚边连接的点的子树大小 x,那么对于每一个查询,先执行access,之后 x+1 即为答案。 维护方式见网上,我只提供我的板子。 阅读全文
posted @ 2018-04-21 09:59 qjs12 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 板子真难找啊,寒假我照着书上敲,在COGS一直全T,在洛谷上却A了,不知道为什么。 昨天下午复习,发现网上讲的LCT都跟我学的不一样,而且板子的splay全是一个rotate函数那种的,和我左右旋分开的不一样。 绕了一圈再回到COGS发现cstdio也是写的两个rotate而且和我的splay方式几 阅读全文
posted @ 2018-04-21 08:58 qjs12 阅读(134) 评论(0) 推荐(0) 编辑