Peach Blossom Spring 题意:有n个城市,m条路,[1,k]的城市有居民, [n-k+1, n]的城市有庇护所, 现在要修路, 使得每一座城市的居民都可以到达一个庇护所, 并且一个庇护所只能容纳一个城市的居民, 现在求所有城市的居民都能到达庇护所的最小花费。 题解:斯坦纳树跑出花费 ...
分类:
编程语言 时间:
2018-07-21 15:04:13
阅读次数:
177
"题目链接" $Description$ 有n座庙、一共n+m个点,可以在任意一些点修建水井,不同位置花费不同;也可以某些点之间连无向边共享水。求使n座庙都有水的最小花费。 $Solution$ 因为每个点都可以通过一定费用使其自己满足,直接像上题那样不会做。。 新建一个点0,其到每个点的边权为使每 ...
分类:
其他好文 时间:
2018-07-19 10:52:28
阅读次数:
173
前言 昨天XY讲课!讲到这题!还是IOI的题!不过据说00年的时候DP还不流行。 题面 http://poj.org/problem?id=1160 分析 § 1 中位数 首先我们考虑,若有x1 < x2 < ... < xn,则当∑abs(x - xi)最小时,x为x1 , x2 , ... , ...
分类:
其他好文 时间:
2018-07-04 13:43:38
阅读次数:
148
题解:状压dp,dp[ s ][ i ]表示当前已经游玩的点(R中的点),且终点是 i 的最小花费。预处理出任意两点之间的最短距离。总的来说,面向数据编程。 。。。。。。。心里有句mmp。调试了一个小时,始终0%,所有数据怒开long long,然后过了,,,,, ...
分类:
其他好文 时间:
2018-06-17 22:31:33
阅读次数:
224
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1003 DP好题; 直接找一个时间段的最短路,并用它来预处理出每个时间段的最小花费; f[i]代表一条路走到时间的花费,所以转移要加上K。 枚举所有路线的TLE代码: #include<iost ...
分类:
其他好文 时间:
2018-06-04 14:13:16
阅读次数:
158
问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数。求把所有石子合并成一堆的最小花费。 输入格式 输入第一行包含一个整数n,表示石子的堆数。 接下来一行,包含n个整数,按顺序给出每堆石子的大小 。 输出格式 输出一个 ...
分类:
编程语言 时间:
2018-05-23 00:05:30
阅读次数:
212
题意:一辆汽车在一张无向图中开告诉你每个城市加油的费用。每次给q个查询(起点,终点,油箱容量)问你最小花费是多少。 思路:一道Dijkstra状态的题目。在这种最短路问题中一维的dis数组记录的信息往往不能很好的解决问题,所以我们要给dis数组增加维数来使每个状态唯一。这其实就是结合了动态规划的思想 ...
分类:
其他好文 时间:
2018-05-13 23:09:18
阅读次数:
182
题目大意: 有n个数,要将他们分成若干段,每一段的cost定义为: cost=r-l+ΣCk (k∈[r,l]) 该段的最终花费是:(cost-L)^2; 给出L,n,C(1~n),总共的最小花费。 分析: dp方程极容易想出来: f[i]=max(f[j]+(sum[i]-sum[j]+i-j-1 ...
分类:
其他好文 时间:
2018-05-13 13:36:14
阅读次数:
153
按比赛时的开题顺序写一下总结、反思、大概题解,以及以后的训练规划。 A题大概题解: 简单讨论了一下。注意到题目要求的是变换到目的串的任意排列的最小花费,想到对两个串都按字典序排序,在B串中找到第一个大于等于A[0]的元素,之后一一对应,如果B[I]>=A[J],ans+=A[J]-B[I];否则跳过 ...
分类:
其他好文 时间:
2018-05-06 23:58:39
阅读次数:
342
题意 给出一个长度为n的整数序列。可以将一段连续的序列进行合并。合并的长度不同代价不同。问付出最少多少代价可以将这个序列变成一个对称的序列。n<=5000 分析 一看题感觉是个dp很好写啊。f[i][j]为令区间[i,j]对称的最小花费。那么转移并不难想 f[i][j]=min(f[i][j],f[ ...
分类:
其他好文 时间:
2018-05-03 19:35:03
阅读次数:
171