摘要: 传送阵:http://acm.hdu.edu.cn/showproblem.php?pid=4897 题目大意:一棵树,三个操作:1、将某条链取反,2、将与某条链相邻的边取反,3、查询某条链上为1的边数 树链剖分直接上 某条边是否被修改取决于这条边以及这条边的两个端点 对于第一个操作相当于修改边,第 阅读全文
posted @ 2016-04-04 19:29 117208 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目大意:平面上一堆点,用两条平行于坐标轴的直线将其分为四部分,使得点数最多的一部分最少 第一维枚举,第二维三分,点集用两棵树状数组维护 #include<bits/stdc++.h> #define maxn 100010 using namespace std; inline int read( 阅读全文
posted @ 2016-04-03 14:45 117208 阅读(210) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-04-02 18:45 117208 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-04-01 17:26 117208 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-04-01 17:21 117208 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意:平面上两条线段,一个人从一条线段的一个点到另一条线段的一个点,最小时间是多少 路径肯定是在一条线段上走一段,然后走平面,最后再走另一条线段,那么需要确定的就是在两条线段上走的距离,其他暴力算就行了 一条线段距离的确定直接三分就好了,另一条嘛,再套个三分就好了 #include<iostre 阅读全文
posted @ 2016-04-01 06:19 117208 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个点阵,其中有的地方没有点,操作是去掉某个点,并询问当前点阵中最大的正方形 若没有修改的话,裸dp 加上修改,可以考虑时光倒流,这样答案就是递增的 可以用并查集维护点的连通性,O^2的 #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2016-04-01 06:07 117208 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题目大意:f[k]=f[k-1]*s[(n-1)%n]+f[(k-2)]*s[(k-2)%n];会修改某一位置的s值,但循环不变,求f[k]; 矩阵快速幂裸题,由于有修改,所以需要线段树优化 1 #include<bits/stdc++.h> 2 using namespace std; 3 #de 阅读全文
posted @ 2016-03-31 21:40 117208 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个互不包含的区间且首尾相连,求在某个区间必选的情况下,最少需要多少区间才能覆盖整个的区间 倍增法,每个区间只对应一个和它相关的区间,利用倍增求出以当前区间开头的所需最少区间,最后处理 阅读全文
posted @ 2016-03-29 19:24 117208 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个N*M的矩阵,选出N个数,使得每行没列只选一个数,求第K大的数的最小值是多少? 二分答案,第k大的数<=x,则有N-k+1个数<=k,用二分图判定。 #include<bits/stdc++.h> using namespace std; int n,m,k; int a[255][ 阅读全文
posted @ 2016-03-29 17:50 117208 阅读(169) 评论(0) 推荐(0) 编辑