IOI2000 邮局 加强版 题解】的更多相关文章

貌似$BZOJ$上并没有这个题... 是嫌这个题水了么... 还是要氪金权限号??? 这里附上洛谷的题面:洛谷P4767 [IOI2000]邮局 题目描述 高速公路旁边有一些村庄.高速公路表示为整数轴,每个村庄的位置用单个整数坐标标识.没有两个在同样地方的村庄.两个位置之间的距离是其整数坐标差的绝对值. 邮局将建在一些,但不一定是所有的村庄中.为了建立邮局,应选择他们建造的位置,使每个村庄与其最近的邮局之间的距离总和最小. 你要编写一个程序,已知村庄的位置和邮局的数量,计算每个村庄和最近的邮局之…
1473. [Ioi2000]Post加强版 n log^2 n做法 题面 有n个城市从负方向向正方向按照1至n标号,\(d[i]\)表示城市i离原点的距离并且\(d[1] = 0\),对于\(i \ne j\)有\(d[i] \ne d[j]\).城市\(i\)里的居民人数为\(w[i]\),如果每个居民的信件需要投放到\(dis\)以外的邮局去,那么政府为了该城市的居民投放信件将总花费\(w[i] * dis\)的资金.另外,在城市\(i\)建立邮局的费用为\(c[i]\). 找出一种方案,…
1507. [IOI2000]邮局 ★☆   输入文件:postoffice.in   输出文件:postoffice.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 有一条笔直的高速公路,路旁分布着一些村庄.公路可以用一条数轴表示,则村庄的位置就是其坐标.没有两个村庄的坐标相同.两个村庄之间的距离就是它们坐标之差的绝对值. 一些——但不一定是所有的村庄将修建邮局.邮局和该邮局所在的村庄处于同一位置.应当仔细选择邮局的位置,使得所有村庄到最近邮局的距离总和最短.…
这题是一道区间DP 思维难度主要集中在如何预处理距离上 由生活经验得,邮局放在中间显然最优 所以我们可以递推求出\( w[i][j] \)表示i,j之间放一个邮局得距离 然后设出状态转移方程 设\( dp[i][j] \)表示从1开始到i放j个邮局的最短距离 然后转移为:\( dp[i][j]=min(dp[k][j-1]+w[k+1][j],dp[i][j]),i \le k \le j \) 显然是个\( O(n^{3}) \)的DP 能够得40分 #include <cstdio> #i…
题目描述 一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同.两个村庄的距离定义为坐标之差的绝对值.我们需要在某些村庄建立邮局.使每个村庄使用与它距离最近的邮局,建立邮局的原则是:所有村庄到各自使用的邮局的距离总和最小.数据规模:1<=村庄数<=1600, 1<=邮局数<=200, 1<=村庄坐标<=maxlongint 输入 行第一行:n m {表示有n个村庄,建立m个邮局} 第二行:a1 a2 a3 .…
There is a straight highway with villages alongside the highway. The highway is represented as an integer axis, and the position of each village is identified with a single integer coordinate. There are no two villages in the same position. The dista…
## 非常神仙的 wqs 二分优化dp,又学了一招. 首先我们需要先想到一个人类智慧版的前缀和优化. # part 1:violence 然鹅在前缀和优化之前我们先考虑暴力做法:我们可以枚举 i . j 令其表示前 i 个村庄设立 j 个邮局的最小贡献.然后枚举 k 表示前 k 个村庄已经设立邮局,现在处理 k+1~i 的村庄.接着再枚举当前邮局设立在哪里,然后 O(n) 累加每个村庄的贡献.这样的复杂度是 O(n^5) 的,也许达不到这个上限,但是 O(n^4) 的时间总是要的.于是这样...…
https://www.luogu.org/problemnew/show/P4767 四边形不等式好题! 可以设f[i][j]表示前i个村庄,建了j个邮局的最小代价. 转移:f[i][j]=min{f[k][j-1]+dis[k+1][i]} 也就是枚举断点,断点后整个区间建造一个邮局并强制整个区间都选择它. 这个邮局在哪里最优呢?由人类智慧知,在中位数处最优. 注意到这样的转移下,时间复杂度是O(m*n^2)的,不行 这是一个前缀问题,但是同时它也是一个区间问题,回忆四边形不等式的形式,尝试…
传送门 Description 高速公路旁边有一些村庄.高速公路表示为整数轴,每个村庄的位置用单个整数坐标标识.没有两个在同样地方的村庄.两个位置之间的距离是其整数坐标差的绝对值. 邮局将建在一些,但不一定是所有的村庄中.为了建立邮局,应选择他们建造的位置,使每个村庄与其最近的邮局之间的距离总和最小. 你要编写一个程序,已知村庄的位置和邮局的数量,计算每个村庄和最近的邮局之间所有距离的最小可能的总和. Solution 大概是把dp的常见优化的经典练习题都打了一波. 这是四边形不等式优化的题目.…
题目描述: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 输入格式: 第一行四个整数N.M.K.type,代表点数.边数.询问数以及询问是否加密. 接下来M行,代表图中的每条边. 接下来K行,每行两个整数L.R代表一组询问.对于type=0的测试点,读入的L和R即为询问的L.R:对于type=1的测试点,每组询问的L.R应为L xor lastans和R xor lastans. 输出格式: K行每行一个整数代表该组询问的联通块个数. 题解: 连通问题首先考虑L…