摘要: 1 #include <bits/stdc++.h> 2 #define N 1500 3 #define inf 999999999 4 using namespace std; 5 int a[N],bs[N],nx=0,ny=0,k; 6 int linky[N],lx[N],ly[N],sl 阅读全文
posted @ 2017-01-08 18:19 蛤鸡 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 标题就很233的题目 数据结构滑稽题 在线算法:: 可并堆维护 太难写了 表示不爱 离线算法::带权并查集将操作离散到连续的区间上(超银河英雄传说 并查集基础训练题) 线段树处理之 比较simple 1 #include <bits/stdc++.h> 2 #define N 300010 3 us 阅读全文
posted @ 2017-01-08 18:11 蛤鸡 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 动态开点线段树+树链剖分 对于每一种宗教信仰都开一颗线段树 空间: QlogN 即每一次修改都只会改变logN 个点 时间 O(QlogN) naive题 边没有开两倍 QAQ 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 inline 阅读全文
posted @ 2017-01-06 16:07 蛤鸡 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定一张图 求图上一个点集的最小生成树。 考虑状态压缩 状态 dp[i][j] 为 当前走在 点i 状态为j 每一位表示 是否已在生成树中 于是 spfa 过程可以更新 -> 在每一个节点上均可考虑 移动 或者 与在该点上的其他状态进行合并 根据题目的描述 可以 微调 dp 过程 为什么我的 阅读全文
posted @ 2017-01-06 10:47 蛤鸡 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 一开始图是森林 考虑树上两个节点间查询路径上k 大值 可维护两个节点到这棵树上根节点的权值线段树 这里可以使用可持久化思想 利用每一个点的父亲来维护这个点上的权值线段树 那么两者路径上的权值线段树 即 Tree[x]+Tree[y]-Tree[lca(x,y)]-Tree[fa[lca(x,y)]] 阅读全文
posted @ 2017-01-06 09:58 蛤鸡 阅读(294) 评论(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 蛤鸡 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-01-05 18:38 蛤鸡 阅读(141) 评论(0) 推荐(0) 编辑