摘要: 树状数组,离线处理。 首先把询问按左端点的大小升序排序。 从左往右扫描的过程中,将一个颜色第一次出现的位置变为0,第二次出现的位置变为1. #include #include #include using namespace std; const int maxn = 1000000 + 10; struct Query { int l,r,id; }q[maxn]; st... 阅读全文
posted @ 2016-06-14 20:10 invoid 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 凸包,floyd求最小环。 首先第三个变量是可以由变量1,2得到的,所以可以省去。 然后如果产品在由原材料构成的凸包里,它就是可以被合成的。 所以问题就是要求包含所有产品的最小的凸包。 所以所有取到的边都在确定的一侧,所以先判断出哪些边可以取,跑floyd最小环就可以了。 #include #include #include #include #define eps 1e-10 u... 阅读全文
posted @ 2016-06-14 18:07 invoid 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 线段树维护联通性。 题目下方有分析。 题解里面说的行数等于题目中的行数-1. 经过分析一共(r1,c1)->(r2,c2)一共有四种方式。 假设r1=1,r2=0。 1.直接过去。 2.先到(0,c1)再过去。 3.先到(1,c2)再过去。 4.先到(0,c1)再到(1,c2)再过去。 用一个数组a 阅读全文
posted @ 2016-06-14 15:19 invoid 阅读(1217) 评论(1) 推荐(0) 编辑