- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 bzoj1036-树链剖分模板
剖分后的树有如下性质: 性质1:如果(v,u)为轻边,则siz[u] * 2 性质2:从根到某一点的路径上轻链、重链的个数都不大于logn。 总之两个dfs dfs1(int x,int f) //f是x的父亲 枚举和x相邻的点的时候注意不等于f 才可以递归 要维护的东西: dep[x] x节点深度 siz[x] 以x节点为根
2016-03-18 23:39:11 1315
原创 bzoj1070: [SCOI2007]修车-费用流
Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。 Input 第一行有两个m,n,表示技术人员数与顾客数。 接下来n行,每行m个整数。第i+
2016-03-16 19:12:24 1574
原创 1192: [HNOI2006]鬼谷子的钱袋
用二进制表示是最少的 把m变成二进制,那么用m的二进制的位数那么多钱袋就可以了 比如m=11010 那么多个钱袋放1,10,100,1000.10000,最多可以达到11111 所以这道题就是求m的二进制位数 #include #include #include #include using namespace std; int n,m; int main() { sca
2016-03-03 00:08:51 1414 1
原创 bzoj1208:[HNOI2004]宠物收养所-splay
这个splay维护的不是下标,维护的是数值,所以每必要记下size 还有各种标记 只要能够插入一个数,删除一个数,找一个不在树中的数的前驱和后继就可以了。 需要想的是这道题并不需要用两个splay或者记下多余的没用掉的宠物或者人,只要用一个splay就好了,因为题目中说了任意时刻宠物店中只有人或者只有宠物,这样轮换着用一个splay就好了orz... 好奇怪,这道题在家里写了一天都是WA,在
2016-03-02 19:42:30 989
原创 poj1149 PIGS-Dinic模板
这道题的建图比较有趣,流入猪圈的和流入超级汇点的是常规的建法,然后根据题目性质,除了在猪圈和有相应钥匙的人之间连边,同时也在依次同一个猪圈买猪的人之间依次连边,因为这样可以保证上一个人打开的猪圈剩下的猪可以流向下一个人,对公共的猪圈而言,是剩下的猪流向下一个人。这样就符合题意了。 加当前弧优化的Dinic &i居然是参变量可以让等于它的变量的值跟着改。 #include #
2016-03-02 18:49:02 691
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人