摘要: 题目:https://www.luogu.org/problemnew/show/3157 题解: 1.对于静态的逆序对可以用树状数组做 2.我们为了方便可以把删除当成增加,可以化动为静 3.找到三维:时间,位置,大小 然后CDQ分治 阅读全文
posted @ 2017-12-23 16:34 MSPqwq 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目: 给一棵点带权树,求树上路径是三的倍数的路径与总路径个数之比,输出最简分数 题解: 树分治 建一个cnt数组储存长度%3的路径有多少 计算的时候return cnt[0]*cnt[0]+cnt[1]*cnt[2]*2 其他的同树分治板子了 阅读全文
posted @ 2017-12-19 20:29 MSPqwq 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 求树上最长路径使得经过的拥挤节点个数不超过K 阅读全文
posted @ 2017-12-19 19:55 MSPqwq 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 求树上距离小于等于K的点对对数 阅读全文
posted @ 2017-12-18 18:54 MSPqwq 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目: 给出若干个点 求三个点构成的周长最小的三角形的周长(我们认为共线的三点也算三角形) 题解: 可以参考平面最近点对的做法 只不过合并的时候改成枚举三个点更新周长最小值,其他的和最近点对大同小异 阅读全文
posted @ 2017-12-17 09:33 MSPqwq 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 暂鸽 阅读全文
posted @ 2017-12-16 09:40 MSPqwq 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 求逆序对个数 阅读全文
posted @ 2017-12-15 16:21 MSPqwq 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目: 给出一个整数集合,求出非空子集中元素和绝对值最小是多少(元素个数尽量少) 题解: 分成两半 爆搜每一半,用map维护前一半的值 每搜出后一半的一个值就去map里找和他和绝对值最小的更新答案 阅读全文
posted @ 2017-12-15 15:46 MSPqwq 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 参考这个博客 阅读全文
posted @ 2017-12-14 19:49 MSPqwq 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 参考了这个博客哇 阅读全文
posted @ 2017-12-14 16:34 MSPqwq 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目: 给n个长度为l[i](浮点数)的绳子,要分成k份相同长度的 问最多多长 题解: 二分长度,控制循环次数来控制精度,输出也要控制精度<wa了好多次> 阅读全文
posted @ 2017-12-14 11:11 MSPqwq 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目: 题解: 大概是黄学长的博客 阅读全文
posted @ 2017-12-14 07:21 MSPqwq 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目: 给你n个点,保证这些点都在凸包上(顶点或者边上),问这个凸包是不是一个稳定的凸包, 稳定被定义为: 存在一个点使得原来的点都在包含该点和原来的点的凸包上 题解: 题目中的要求等价于问每条边上的点超没超过三个 如果存在不够三个的就不是稳定的 Graham算法保证只求凸包的顶点,所以我们可以枚举 阅读全文
posted @ 2017-12-13 15:36 MSPqwq 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目: 给n个点,输出距离最远的一对点的距离的平方 题解: 旋转卡壳模板! 首先可以肯定的是最远的点一定是凸包的一对顶点!(这个正确性是很显然的) 所以我们枚举每个顶点所在的边,将它平移,平移到经过的最远一个点就是含有这个点的最远距离 所以N2是可以解决的! 但是这个和枚举点是没区别的. 但是如果我 阅读全文
posted @ 2017-12-13 14:11 MSPqwq 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目: 给几个点,用绳子圈出最大的面积养牛,输出最大面积/50 题解: Graham凸包算法的模板题 下面给出做法 1.选出x坐标最小(相同情况y最小)的点作为极点(显然他一定在凸包上) 2.其他点进行极角排序<极角指从坐标轴的某一方向逆时针旋转到向量的角度>, 极角一样按距离从近到远(可以用叉积实 阅读全文
posted @ 2017-12-13 08:36 MSPqwq 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 参考了这个博客 阅读全文
posted @ 2017-12-09 15:19 MSPqwq 阅读(190) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #define eps 1e-8 using namespace std; bool dcmp(double x,double y) { if (fabs(x-y)>eps) return 1; return 0; } struct point { double x,y; point () {... 阅读全文
posted @ 2017-12-09 13:29 MSPqwq 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目: 给一个管子,有很多转弯处,问从管口的射线射进去最长能射到多远 题解: 根据黑书,可以证明的是这条光线一定经过了一个上顶点和下顶点 所以我们枚举每对上下顶点就可以了 阅读全文
posted @ 2017-12-09 09:25 MSPqwq 阅读(140) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #define N 105 #define eps 1e-8 using namespace std; double abs (double x) { return x>0?x:-x; } bool dcmp(double x,double y) { if (abs(x-y) eps) return 0; return... 阅读全文
posted @ 2017-12-08 15:52 MSPqwq 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个矩形的区域(左上角为(x1,y1) 右下角为(x2,y2)),给出n对(u,v)表示(u,y1) 和 (v,y2)构成线段将矩形切割 这样构成了n+1个多边形,再给出m个点,问每个多边形内有多少个点. 读入为n,m,x1,y1,x2,y2 n个数对(u,v),m个数对(x,y) (n, 阅读全文
posted @ 2017-12-07 18:20 MSPqwq 阅读(169) 评论(0) 推荐(0) 编辑