TOJ 3029. Assemble

题目大意你需要攒一台电脑,需要从每种配件中选取1个,每种配件有若干个,每个配件有一个价格p和性能q。要求在不超出预算sum的情况下求最好的性能。一台电脑的性能是各个配件的性能最小值。0 ≤p≤ 1 000 000,0 ≤ quality ≤ 1 000 000 000;
分析最开始想的是DP,但是想了很久仍然没有思路,老大提示可能是二分性能。于是,可以考虑二分性能,从1 000 000 000开始,对于分出来的每一个mid值,扫描每种配件,找出q大于等于mid且p最小的一个。看此时的价格是否在sum之内,在则更新结果。
总结比赛时,在二分的过程中细节没有仔细考虑就稀里糊涂直接敲代码了,WA一次。
另外,二分和分治,什么关系,什么区别?好好学习一下。

Code

posted @ 2008-08-14 19:56  DosXP  阅读(308)  评论(0编辑  收藏  举报