摘要:动态开点线段树+树链剖分 对于每一种宗教信仰都开一颗线段树 空间: QlogN 即每一次修改都只会改变logN 个点 时间 O(QlogN) naive题 边没有开两倍 QAQ 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 inline 阅读全文
posted @ 2017-01-06 16:07 蛤鸡 阅读(134) 评论(0) 推荐(0) 编辑
摘要:大意: 给定一张图 求图上一个点集的最小生成树。 考虑状态压缩 状态 dp[i][j] 为 当前走在 点i 状态为j 每一位表示 是否已在生成树中 于是 spfa 过程可以更新 -> 在每一个节点上均可考虑 移动 或者 与在该点上的其他状态进行合并 根据题目的描述 可以 微调 dp 过程 为什么我的 阅读全文
posted @ 2017-01-06 10:47 蛤鸡 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-01-06 10:09 蛤鸡 阅读(303) 评论(2) 推荐(0) 编辑
摘要:一开始图是森林 考虑树上两个节点间查询路径上k 大值 可维护两个节点到这棵树上根节点的权值线段树 这里可以使用可持久化思想 利用每一个点的父亲来维护这个点上的权值线段树 那么两者路径上的权值线段树 即 Tree[x]+Tree[y]-Tree[lca(x,y)]-Tree[fa[lca(x,y)]] 阅读全文
posted @ 2017-01-06 09:58 蛤鸡 阅读(262) 评论(0) 推荐(0) 编辑
摘要:对于每一条边(x->y) 费用为z: S-> y 流量为1 费用为z 表示必须经过此边 x-> y 流量为inf 费用为z 表示除此以外还可以随意走动 对于每一个点 x x-> T 流量为 x的出度 费用为0 x-> 1 流量为 inf 费用为0 对应题目中的初始点 可以返回 另看到有很多人 都只跑 阅读全文
posted @ 2017-01-06 08:34 蛤鸡 阅读(162) 评论(0) 推荐(0) 编辑