zoj3956(Course Selection System)_Solution】的更多相关文章

zoj3956_Solution H=sum(hi),C=sum(ci),Value=H*H-H*C-C*C 求Value的最大值 Solution: 动态规划: 共两维:H,C           固定一维C,在该维值C相同的情况下另一维应最大H,从而动态规划另一维H,转变为01背包问题. 优化: H*H-H*C-C*C=0 (H,C>0) H/C=(1+sqrt(5))/2=1.6180… 必会选择h/c>(1+sqrt(5))/2 的(h,c)对 证明: 若Value大于0,则H/C&g…
Course Selection System 比赛的时候最后20分钟想到了是01背包,奈何没时间推出怎么背. 题意:n门课程,每门课程都有一个h值和c值,现在给出一个happy的定义,所选的课程的h的和H,c的和C,happy=H^2-C^2-HC.求happy的最大值. 思路:开始以为是贪心,但感觉没有贪心这么简单,在这个问题中每门课程都有选或不选两种情况,很容易就想到01背包,但是状态方程不好求,此方程等价:H(H-C)-C^2.即H越大,值越大.注意到c的和也只有50000,我们可以用c…
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5565 Course Selection System Time Limit: 1 Second      Memory Limit: 65536 KB There are n courses in the course selection system of Marjar University. The i-th course is described by t…
Course Selection System ZOJ - 3956 这个题目居然是一个01背包,我觉得好难想啊,根本就没有想到. 这个题目把题目给的转化为  ans = a*a-a*b-b*b 这个可以看成 当b不变的时候 a 越大越好. 这个就可以用01背包来解决 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <algor…
ZOJ3956 观察数据范围, c的值非常小 只有100 所以c的和也很有限 只有50000 是否可以从这里下手? 对于某一个c的和 我们一定希望h的和最大 才有可能是最终答案. 于是有了类似背包的dp方程. 代码很简单,就不给出方程了. //比赛的时候想得太多,都想到斜率优化上了,完全忽略了c的范围这么小!!!毕竟图样. //一个人的面命运,当然要靠自我奋斗,但是也要考虑到历史的行程. #include<iostream> #include<cstdio> #include<…
题意 有n节课可供选择,每节课都有两个值Hi和Ci,如果学生选择了m节课(x1,x2,....,xm),则它的舒适值被定义为: //这里没有公式((lll¬ω¬)),因为那个图片我保存不下来≧ ﹏ ≦,见原题好啦~ 分析 当时被这个公式搞得很懵逼,场上想了几种贪心发现都能找出反例.结束后听学长们说是个背包...一脸懵逼. 我们在来看这个题···我们发现Ci比Hi小很多··这里算是一个暗示o(* ̄▽ ̄*)o 我们再来看那个公式我们可以发现,当 C一定时,H越大这个舒适值越大.而对于每一节课我们都只…
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3956 题意 给出N组Hi Ci 然后 要选出若干个 使得 这个式子的值最大 然后是可以不选的,这个式子的值就是0 思路 因为 Ci 的范围特别小,我们就可以用Ci 来当做容量 进行01背包 其实在做题的时候有一个问题 就是 ci 并不是连续的 如果 给出一组数据 3 10 1 5 1 2 10 那个ci 的最大就是 12 但是 其实有效值 能够选择的 Ci 其实…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3956 题意:就是给你Hi,Ci的值,问怎么取使得下面那个式子的值最大: 理解:当时做了好久以为是贪心>_<.后来看别人的题解发现是01背包,现在学了01背包以后看就好理解多了. 因为每个值都是取或不取,所以容易想到是01背包.而且Hi的范围是[1,10000],Ci的范围是[1,100],n是[1,500],所以明显可以发现Ci适合做“物品体积”,Hi做“物品价值”,Σ…
1. 静态类 1.1 简介  静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数. 静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化. 当类中没有依赖对象标识的数据或行为时,就可以使用静态类. 1.2 特点 它们仅包含静态成员. 它们不能被实例化. 它们是密封的. 它们不能包含实例构造函数(C# 编程指南). 1.3  其他 静态类是密封的,因此不可被继承. 静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状…
视图之间实现事件监听 两个视图中的组件之间的互动,在开发插件的时候是经常碰到的问题.点击视图1列表的某项时,视图2的文本框显示相应的字符. 第一种主动式: 主动式就是在视图1的代码块中获取对视图2的对象的引用.然后将视图1中的对象主动的传给视图2. 修改View1.java和View2.java Eclipse通过plugin.xml来加载插件和插件中的扩展点(如视图扩展点),所以可以在View1.java中由id标识来取得视图2对象. View1.java public class View1…