2017.8.14 总结
来源:互联网 发布:武延军 中科院软件所 编辑:程序博客网 时间:2024/06/05 08:46
今天早上的题么….还算简单….就是最后一题……要用到斜率优化DP..或者模拟退火…然而这两者我都不会(雾)…只好拿(pian)了15分走人qwq
T1
题意:给你1个村庄中的
n 个建筑,每个建筑都有一对坐标(x,y) 。目前,n 个建筑都没有网络(大雾)。现在有两种方法让这些村庄连上网:
(1) :给中国移动交宽带费,从中国移动直接向该村庄连一条网络,花费为A 。
(2) :向另外一幢有网的建筑,安装共享网线,花费为B× 两幢建筑的曼哈顿距离。
现在,问你要将所有建筑都连上网所需要花费的最少的钱(n≤1000) 。
画外音:这题其实是个送分题(逃)。
思路&&题解:这题一看就知道(23333),因为数据范围非常小,所以我们可以直接用MST来做。首先,将中国移动设为
n+1 号点,向1∼n 的n 个点都连出一条长度为A 的边。之后两重for 循环求出建筑i,j 间的曼哈顿距离为disi,j 。若B⋅disi,j<A ,则在建筑i,j 间加入一条B⋅disi,j 的边,最后只要跑一下最小生成树就行啦!
T2
简化版题意:给你一条长度为
n ,左端点为1 的线段,上面有n 个点,第i 个点有一个值a[i] ,表示由该点延伸出的线段可以覆盖max(0,i−a[i])∼min(n,i+a[i]) 的地方,求最少用多少条线段可以覆盖原来1∼n 的线段。(n≤500000,a[i]≤n)
画外音:这题…有两种做法(逃)。
思路&&题意:这题可以用贪心
or 线段树的方法去写,我写的方法是贪心。(至于线段树,怎么写就自己想吧qwq)。
贪心解法:将n 个点所给出的a[i] 都化成n 条线段,之后将它们按左端点排序。设now 为现在可以覆盖到的最右边的端点(初始值为0 ),之后只用遍历一次,每次只用左端点小于等于now+1 的线段选出一条右端点离now 最远的线段,将now 更新就行了,重复做直到now=n ,最后,while 的次数便是我们要的答案。(P.S. 每次while 的时候只用从上次遍历的最后一条线段开始遍历就行了,不用从头开始)。
T3
题意:农夫约
(FarmerJo) 有许多奶牛,并且有(n+1) 幢建筑,所有奶牛都被放在这(n+1) 幢建筑里,农夫约要做一些防火措施,保障自己和奶牛的安全。这(n+1) 幢建筑排成了一排,编号为0∼n ,对于0≤i<n ,建筑i 有w[i] 头奶牛居住,与建筑(i+1) 距离d[i] 。建筑n 已装有消防栓,现在农夫约决定再给k 幢建筑安装消防栓,以减少安全隐患。
当火灾来临时,所有奶牛都会从所在建筑开始,向大编号方向逃生,直到碰上第一个消防栓为止(如果本来这幢建筑就安装有消防栓,那就不用跑了)。农夫约定了一个隐患值val :所有奶牛逃生距离之和。
农夫约希望隐患值尽可能小,需要你给他设计一种方案。
5% 的数据k=0 。
另10% 的数据k=1 。
另55% 的数据k=2 。
另20% 的数据k=3 。
另5% 的数据k=5 。
另5% 的数据k=20 。
100% 的数据n≤1000000 。
思路:这题….我刚看到是懵逼的,后来发现这跟
题解:出题人讲题时说这题用的是随机化算法——模拟退火来写的,但没想到
O(nk) 的斜率优化DP也能过,于是这题就有了两种解法,一种是斜率优化DP,一种是模拟退火。(具体怎么做自己想吧..我也还没弄懂QAQ)
=========我是萌萌的分割线QWQ=========
下午..讲了所有网络流的东西,从基础定义到上下界网络流什么的..我从刚开始还听得懂,到后来,越来越懵逼..最终..好像掉线了一段时间(雾),不过重连了(大雾)。(虽然重连了但还是听不懂啊喂qwq)。看来我还得好好学习下各种各样的网络流了。Fighting!!!
- 2017.8.14 总结
- 总结14
- 2017.8.14 分手是祝愿 失败总结
- 2017.8.14 文本生成器 失败总结
- 2017.8.10------总结+感悟
- 2017.8.10~11总结
- 2017.8.11 总结
- 2017.8.12 总结
- 2017.8.12 总结
- 2017.8.12总结
- 2017.8.13 总结
- 2017.8.15 总结
- 2017.8.16 总结
- 2017.8.17 总结
- 2017.8.18 总结
- 自定义总结2017.8.28
- 2012.7.14总结
- 2012.7.14总结
- 最长上升子序列(LIS)长度的O(nlogn)算法 (动态规划)
- <C语言>如何使用C语言代码打印“心形”图案?
- hdu 5776 sum (抽屉原理)
- 牛奶可乐经济学
- 选择排序
- 2017.8.14 总结
- mac下卸载Qt5
- GBDT学习总结
- 非线性约束优化数值库Nlopt在vs2013、2015中配置
- 用 Python 编写 Hadoop MR
- ConfigurableApplicationContext
- mysql插入数据
- meta,link标签的两个属性介绍
- 百度前端技术学院_斌斌学院_task03