题目链接: [APIO2015]八邻旁之桥 对于$k=1$的情况: 对于起点和终点在同侧的直接计入答案:对于不在同侧的,可以发现答案就是所有点坐标与桥坐标的差之和+起点与终点不在同一侧的人数. 将所有点排序,要使答案最优,桥坐标就是这些点坐标的中位数,用平衡树维护一下求中位数即可. 对于$k=2$的情况: 同样先将起点和终点在同侧的直接计入答案.显然两座桥比一座更优,我们将每个人的起点与终点坐标看成一条线段.那么对于每条线段,它的中点离哪座桥近它就走哪座桥更优.我们将每条线段按中点坐标排序,将所…
P3644 [APIO2015]八邻旁之桥 题目描述 一条东西走向的穆西河将巴邻旁市一分为二,分割成了区域\(A\)和区域\(B\). 每一块区域沿着河岸都建了恰好\(1000000001\)栋的建筑,每条岸边的建筑都从\(0\)编号到\(1000000000\).相邻的每对建筑相隔\(1\)个单位距离,河的宽度也是\(1\)个单位长度.区域\(A\)中的\(i\)号建筑物恰好与区域\(B\)中的\(i\)号建筑物隔河相对. 城市中有\(N\)个居民.第\(i\)个居民的房子在区域\(P_i\)…
BZOJ(这题是BZOJ权限题,有权限号的就去看看吧) Luogu(良心洛谷) 题目描述 一条东西走向的穆西河将巴邻旁市一分为二,分割成了区域\(A\)和区域\(B\). 每一块区域沿着河岸都建了恰好\(1000000001\)栋的建筑,每条岸边的建筑都从\(0 编号到 1000000000\).相邻的每对建筑相隔\(1\)个单位距离,河的宽度也是\(1\)个单位长度.区域\(A\)中的\(i\)号建筑物恰好与区域\(B\)中的\(i\)号建筑物隔河相对. 城市中有\(N\)个居民.第\(i\)…
题面在这里 sol 这是一个\(Splay\)的题解 首先,如果一个人的家和办公室在同一侧,我们可以直接预处理; 如果不在同一侧,也可以加上1(当然要过桥啦) 当k==1时 我们设桥的位置为\(pos\),每个人的家的位置为\(x[i]\),办公室的位置为\(y[i]\), 则总代价为\(\sum_{i=1}^n (abs(x_i-pos)+abs(y_i-pos))\) 从这里我们可以看到,其实家和办公室的区别不是很明显. 所以这个问题可以简化为: 在数轴上任取一点a,最小化 \(\sum a…
题目链接 题解 家和公司在同侧 简单,直接预处理掉 若 \(k=1\) 取所有的居民的\(\frac{家坐标+公司坐标}{2}\)的所有坐标的正中间建一座桥,使所有居民到的距离最小. 实现方法:线段树(用来求中位数) 期望得分:\(14 + 8 = 22\)(如果按子问题给分) 若 \(k=2\) 取每个线段的中点,如果靠近左边的桥,就往左边过桥,否则往右边过桥. 这样的话,先把线段按\(l+r\)排序,如果枚举一个分割线,左右两边分别转换成为\(k=1\)的情况了 实现方法:线段树(用来求中位…
传送门 首先如果起点终点都在同一侧可以直接处理,如果需要过桥答案再加1 对于k等于1的情况 桥的坐标为x的话,a和b为起点和终点坐标 $ans=\sum_{1}^{n} abs(a_{i}-x)+abs(b_{i}-x)$ 起点和终点显然可以合并 那么 $ans=\sum_{1}^{n} abs(a_{i}-x)$ x为中位数就是最优解 对于k等于2的情况 首先有个结论:$(a_{i}+b_{i})/2$ 离哪座桥近,就选择哪座桥 可以把坐标按照上面的公式排序,然后枚举中间点,分成左右两部分 每…
题面传送门 题意: 一条河将大地分为 \(A,B\) 两个部分.两部分均可视为一根数轴. 有 \(n\) 名工人,第 \(i\) 名的家在 \(x_i\) 区域的 \(a_i\) 位置,公司在 \(y_i\) 区域的 \(b_i\) 位置. 现在你可以建立 \(k\) 座桥,在 \(x\) 位置建立一座桥可以连接 \(A\) 区域的 \(x\) 位置和 \(B\) 区域的 \(x\) 位置,桥长为 \(1\) 个单位长度. 设 \(d_i\) 为第 \(i\) 名工人从家到公司走过的最短距离,求…
题目描述: bz luogu 题解: 贪心+权值线段树. $K=1$的时候,答案为$\sum |x-l| + |x-r|$,所以所有端点排序后取中位数即可. $K=2$的时候,一定是左边的一些走左边的桥,右边的一些走右边的桥. 问题是按什么顺序排序. 答案是按线段中点排序. 原因是,对于河两岸的一对点和两座桥,选择的一定是离线段中点近的那个. 考虑如何快速计算答案,我们可以用权值线段树维护区间和与中位数.(当然也可以用平衡树) 代码: #include<cstdio> #include<…
[BZOJ4071]八邻旁之桥(线段树) 题面 BZOJ权限题,洛谷链接 题解 既然\(k<=2\) 那么,突破口就在这里 分类讨论 ①\(k=1\) 这...不就是中位数吗.... 直接把所有起点重点排个序, 算下中位数就行啦 ②\(k=2\) 似乎不好搞了 orz ZSY Dalao 我太弱了 我就是一个Vegetable Chicken ZSY看一眼就会做 补充:ZSY大佬提醒我,Bridge我写错了 所以:#define Brige Bridge 首先,我们来看一看,如果有两座桥, 一个…
[BZOJ4071][Apio2015]巴邻旁之桥 Description 一条东西走向的穆西河将巴邻旁市一分为二,分割成了区域 A 和区域 B. 每一块区域沿着河岸都建了恰好 1000000001 栋的建筑,每条岸边的建筑都从 0 编号到 1000000000.相邻的每对建筑相隔 1 个单位距离,河的宽度也是 1 个单位长度.区域 A 中的 i 号建筑物恰好与区域 B 中的 i 号建筑物隔河相对. 城市中有 N 个居民.第 i 个居民的房子在区域 Pi 的 Si 号建筑上,同时他的办公室坐落在…