
分治
文章平均质量分 58
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
平面最近点对 洛谷1257 分治 c++
题目描述给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的。输入格式:第一行:n;2≤n≤10000接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。输出格式:仅一行,一个实数,表示最短距离,精确到小数点后面4位。说明本题爆搜即可Solution嗯,这么良心的说明已经少见了一直想刷的分治题。首先将点图排序、分成左右两半,分别原创 2017-02-13 21:34:45 · 2828 阅读 · 1 评论 -
瑞士轮 洛谷1309 排序
题目背景在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。本题中介绍的瑞士轮赛制,因最早使用于1895年在瑞士举办的国际象棋比赛而得名。它可以看作是淘汰赛与循环赛的折衷,既保证了比赛的稳定性,又能使赛程不至于过长。题目描述2*N 名编号为 1~2N 的选手原创 2017-06-17 09:27:56 · 514 阅读 · 0 评论 -
bzoj4449 [Neerc2015]Distance on Triangulation
Description给定一个正 n 边形及其三角剖分, 共 2n − 3 条边 (n 条多边形的边和 n − 3 条对角线), 每条边的长度为 1. 共 q 次询问, 每次询问给定两个点, 求它们的最短距离.对于前 5% 的数据, n ≤ 10; 对于前 15% 的数据, n ≤ 1000; 对于前 25% 的数据, n ≤ 5000; 对于前 35% 的数据, n ≤ 10...原创 2018-04-01 12:21:44 · 548 阅读 · 0 评论 -
bzoj4059 [Cerc2012]Non-boring sequences 分治
Description我们害怕把这道题题面搞得太无聊了,所以我们决定让这题超短。一个序列被称为是不无聊的,仅当它的每个连续子序列存在一个独一无二的数字,即每个子序列里至少存在一个数字只出现一次。给定一个整数序列,请你判断它是不是不无聊的。1 <= n <= 200000。接下来一行n个不超过10^9的非负整数,表示这个序列。Solution一个非常显然的想法...原创 2018-04-21 11:56:21 · 337 阅读 · 0 评论 -
jzoj4033 [GCJ2009B] Min Perimeter 分治
Description给你一个整数坐标的点集,询问点集中最小的三角形周长是多少。退化的三角形也是允许的(面积为0)。0< n<=100000Solution和平面最近点对类似,分治过后枚举跨过中心的三个点。加上一些优化就A了Code#include <stdio.h>#include <string.h>#incl...原创 2018-07-12 20:59:36 · 172 阅读 · 0 评论 -
51nod1348 乘积之和 分治+NTT+中国剩余定理
Description给出由N个正整数组成的数组A,有Q次查询,每个查询包含一个整数K,从数组A中任选K个(K <= N)把他们乘在一起得到一个乘积。求所有不同的方案得到的乘积之和,由于结果巨大,输出Mod 100003的结果即可。例如:1 2 3,从中任选1个共3种方法,{1} {2} {3},和为6。从中任选2个共3种方法,{1 2} {1 3} {2 3},和为2 + 3 + 6 ...原创 2019-01-03 20:55:11 · 324 阅读 · 0 评论 -
jzoj6042 [NOI2019五校联考2019.3.5]Second 后缀数组+分治+rmq
DescriptionSolution没想到。。真没想到,以为是退火或者消元的后缀数组的板子都不记得了两个lcp实际上就是区间height的最小值,我们每次取出最小值的位置考虑有一个很重要的结论是对于某一段,最优答案与分配的k值之和是成正比的,也就是各k值之间是成固定比例的。关于这一点我并不会证明,希望能有大爷告诉我啥的。。也就是说我们并不需要知道具体某一段分配了多少,只需要给左...原创 2019-03-06 21:52:46 · 263 阅读 · 0 评论 -
cf888G Xor-MST 异或最小生成树
Description给定n个带权点,定义两点之间边权为点权异或和,求MSTn≤105,&ThickSpace;ai≤230n\le 10^5,\; a_i\le2^{30}n≤105,ai≤230Solution不妨从高到低贪心,我们把最高位按01分开两半分治,跨越两半的就在trie上贪心,这样做是O(nlog2n)O(n\log^2n)O(nlog2n)的一开始分治结...原创 2019-03-07 10:21:08 · 729 阅读 · 0 评论