摘要: 显然选择的区域有一维要是1,其他维要最大 相当于问最少切多少个面才能覆盖所有点 a*b*c<=5000 那么一定有一个小于等于17 枚举这一维切不切,跑二分图即可 TLE代码千万别复制 # include <bits/stdc++.h> # define IL inline # define RG 阅读全文
posted @ 2018-01-04 22:36 Cyhlnj 阅读(278) 评论(0) 推荐(0)
摘要: 按斜率排序后画个图,用单调栈维护这个半平面交 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) memset(a, b, sizeof(a)) using namespace s 阅读全文
posted @ 2018-01-04 21:58 Cyhlnj 阅读(171) 评论(0) 推荐(0)
摘要: 二分+网络流判定 首先处理出每个人和门间的距离 二分时间,连边时把每个门拆成mid个,一个人能在mid时间内到达,他也可以在这等一会儿,那么这mid个门之间连边 如果可以在x的时间内到达,那么x~mid之间他都可以出去,所以门向门加一连边 奉上未AC代码千万别复制 # include <bits/s 阅读全文
posted @ 2018-01-04 20:49 Cyhlnj 阅读(201) 评论(0) 推荐(0)
摘要: 前50分就开两个数组,一个sum[i][j][k],表示1,1到i,j大于k的和,num[i][j][k]表示个数,二分一下就好 后50分用主席树,主席树上二分 # include <bits/stdc++.h> # define RG register # define IL inline # d 阅读全文
posted @ 2018-01-04 18:41 Cyhlnj 阅读(196) 评论(0) 推荐(0)
摘要: 这道题显然平衡树,splay,treap什么的随便切 然而我不想打,决定水过这道题 把空间开3倍,树状数组维护它前面的树的个数,开个id数组记录位置 找一个数排名直接二分加求前缀和,log^2的搞一搞 把一个数放在顶/低 直接丢在当前顶/低的前后就可以了不然开3倍数组干嘛 c常数小堪比log的平衡树 阅读全文
posted @ 2018-01-04 16:43 Cyhlnj 阅读(237) 评论(0) 推荐(0)
摘要: 和那道可重区间集一样 不过这道题可能有垂直于x轴的线段,这就很烦了,直接连会有负环,判掉又会WA 可以想办法把r端点和l端点分开,又要保证答案不变 那么直接把区间l,r都乘以2,l=r时r++,否则l++,这样r就与l分开,并且对其它没有影响(相当于在x轴上多加了点) 这道题在LOJ上可以切 如果看 阅读全文
posted @ 2018-01-04 11:59 Cyhlnj 阅读(393) 评论(0) 推荐(0)
摘要: 一个点同一时间只有一辆车,这个条件并没有用 因为你可以一辆车一辆车走 于是这个题就和深海机器人问题一样了,只需要把一个位置拆成两个点就好了 输出方案就DFS一下,记一个数组,每次搜过它就++,如果等于这条边流过的流量就不能走 然后就没了记得检查数组大小,不然WA两遍还不知道数组开小了 # inclu 阅读全文
posted @ 2018-01-04 09:06 Cyhlnj 阅读(221) 评论(0) 推荐(0)