【Python3】【贪心】hdu4296 Buildings】的更多相关文章

题意: n个板,每个板有重量和强度w和s,还有PDV值(上面的总重量-该板的强度) 对于某种叠放方式,PDV的最大值为其代表值 求该值的最小值   考虑只有两个板的情况:a和b,很显然下面的比上面的容易损坏,所以下面的PDV大.假设a在上面,其PDV值 = pdvb = wa - sb.假设b在上面,其PDV值 = pdva = wb - sa.然后两个值取最小,若a在上面的PDV小,则 wa - sb < wb - sa,即wa + sa < wb + sb.同理,若b在上面的PDV小,则w…
题目链接:https://cn.vjudge.net/problem/HDU-4296 题意 有很多板子,每一个板子有重量(w)和承重(s)能力 现规定一块板子的PDV值为其上所有板子的重量和减去这个板子的承重能力 整个系统的优劣由每块板子中PDV最大值决定,越小越好 求最好系统的最大PDV值 思路 套路题了,一般问最小化系统最大值,就是从相对位置开始考虑 随便找凉快板子,在第一块板子放下面最优的情况,开始讨论 可得w+s越小的越在上面,排序求值即可 提交过程 AC 套路题 代码 #includ…
题意: 给定n个建筑物,每个建筑物都有两个属性w, s,每个建筑物都有一个PDV = (Σw j)-s i .意思就是它上面的所有的w相加减去它的s,让求怎么放置这个建筑物使得每个建筑物当中PDV最大的最小. 思路: 贪心.关键步骤就是怎么排序的问题 假设考虑两个建筑物,分别为w1, s1, w2, s2; 假设他们上面的w的总和为sum, 1.当标号为1建筑在上面时 最大差值就是sum + w1 - s2 2.当标号为2建筑在上面时 最大差值就是sum + w2 - s1 所以他们的比较大小的…
E - 贪心 Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Have you ever heard the story of Blue.Mary, the great civil engineer? Unlike Mr. Wolowitz, Dr. Blue.M…
BACKUP - Backup Files no tags  You run an IT company that backs up computer data for large offices. Backing up data is not fun, and so you design your system so that the different offices can back up each others' data while you sit at home and play c…
题目大意:n个建筑须要抢修.第i个建筑须要T1时间抢修.必须在T2时间之前抢修完成.求最多能抢修多少建筑 首先我们对T2排序 然后依次修理 可是这样贪心显然是不对的 比方说这组数据: 5 10 10 10 20 2 21 2 21 2 21 贪心仅仅能修理前两个.而实际上最多能够修理4个 于是我们考虑修正贪心算法 比方说这组数据,当我们枚举到3的时候.尽管已经无法修理很多其它了,可是我们能够取消修理建筑1而改修理3.这样尽管不能更新ans 可是能够为后面的建筑节省时间 所以做法就非常明白了 我们…
1749: Soldiers ' Training Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 37  Solved: 18[Submit][Status][Web Board] Description In a strategic computer game "Settlers II" one has to build defense structures to expand and protect the territory. Le…
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code使用入门系列 2.入门及进阶三本书[学习手册第四版.python设计模式.编写高质量代码改善Python程序的91个建议] 1.我是谁 我是一个使用python超10年的小码农,在这10年,我花费了大量的时间,使用了我也记不得多少次 搜索引擎,历经99 81难,与各路神仙过招,才收集汇聚成了这份pyt…
1,贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的的时在某种意义上的局部最优解. 贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解.要会判断一个问题能否用贪心算法来计算.贪心算法和其他算法比较有明显的区别,动态规划每次都是综合所有问题的子问题的解得到当前的最优解(全局最优解),而不是贪心地选择:回溯法是尝试选择一条路,如果选择错了的话可以“反悔”,也就是回过头来重新选择其他的试试. 1.1…
python3中thread模块已被废弃,不能在使用thread模块,为了兼容性,python3将thread命名为_thread.python3中我们可以使用threading进行代替. threading通过对thread模块进行二次封装.Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法:另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作…