摘要: 假设当前区间为[l,r] 中间点为mid 那么最近点对 要么在[1,l]中,要么在[l+1,r]中,要么两边各有一个 我们递归处理出左区间的 最近点对距离d1 右区间d2 取d=min(d1,d2) 然后有两个剪枝来处理情况3 1.按x为关键字排个序,枚举[l,r]的点,假如一个点的x与中间点的x差 阅读全文
posted @ 2018-10-30 22:41 Patrickpwq 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 暴力做法:(30pts) 把每条无向边拆成两条有向边.把每条边看成一个点,对于两条从一个点出去的边 建两条有向边 边权为较大值 这样是m^2的 优化: 可以用类似差分的思想来 然后出边之间做差分 对出边的边权排序 然后相邻边之间连边(小边向大边连权值为两边权值之差的边,大边向小边连权值为0的边) 这 阅读全文
posted @ 2018-10-30 20:55 Patrickpwq 阅读(145) 评论(0) 推荐(0) 编辑
摘要: %%%%%%%%%%%lst神仙 这是他的做法 吊了标算 对于这种有多少区间满足要求的 我们套路的用分治做 每次都统计左端点在左半边 右端点在右半边的个数 设f(i) 表示当前点到中间分割点的最大值,g(i)表示当前点到中间分割点的或和 我们发现 g(i)≥f(i) 所以只需找到g[i]=f[i]的 阅读全文
posted @ 2018-10-30 16:48 Patrickpwq 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 假设当前节点now的子树大小为size now的方案数是他的所有儿子内部如何分配的方案数相乘得到的 这个可以递归计算 不过对于那么多儿子之间 他们分配走的标号可能是不同的 比如now将把2,3,4,5分配给他的子树,那有可能是2,3;4,5 也有可能是2,4; 3,5这样分 所以还得套个组合数 C( 阅读全文
posted @ 2018-10-30 15:39 Patrickpwq 阅读(158) 评论(0) 推荐(0) 编辑