UVALive - 3971 Assemble
来源:互联网 发布:炉石淘宝友谊赛安全吗 编辑:程序博客网 时间:2024/05/02 17:18
题目大意:有N个组件,每个组件都有相应的type,name,price,quality,给你B钱,要求你每种type都要选择一样,在价格不超过B的情况下,使quality的最小值达到最大
解题思路:最小值最大化的情况,就一一枚举,用二分法进行枚举,枚举出来的结果一定是其中一种type的最小
#include<cstdio>#include<cstring>#include<vector>#include<map>#include<string>#define maxn 1010using namespace std;struct Computer{int price;int quality;};vector<Computer> C[maxn];map<string,int> M;int N, B, num;int change(string s) {if(!M.count(s))M[s] = num++;return M[s];}bool judge(int q) {int sum = B, size, MIN;for(int i = 0; i < num; i++) {size = C[i].size();MIN = B + 1;for(int j = 0; j < size; j++) if(C[i][j].quality >= q)MIN = min(MIN,C[i][j].price);sum -= MIN;if(sum < 0)return false;}return true;}int main() {int test;scanf("%d",&test);while(test--) {scanf("%d%d",&N, &B);int MAX_quality = -1, p, q;char t1[30], t2[30];num = 0; M.clear();for(int i = 0; i < N; i++)C[i].clear();for(int i = 0; i < N; i++){scanf("%s%s%d%d",t1, t2, &p, &q);MAX_quality = max(MAX_quality, q);C[change(t1)].push_back((Computer){p,q});}int L = 0, R = MAX_quality, mid;while(L < R) {mid = (L + R + 1) / 2;if(judge(mid)) L = mid;elseR = mid - 1;}printf("%d\n",L);}return 0;}
0 0
- UVALive - 3971 Assemble
- UVALive 3971 Assemble
- UVALive - 3971 Assemble
- UVALive - 3971 Assemble
- UVALive - 3971 Assemble
- UVALive 3971 Assemble
- UVALIVE 3971 Assemble 二分+贪心
- UVALive 3971 Assemble(模拟 + 二分)
- UVA 12124 UVAlive 3971 Assemble(二分 + 贪心)
- uvalive 3971 - Assemble(二分搜索 + 贪心)
- UVALive 3971 Assemble 电脑配件 二分+贪心
- UVA 12124 UVAlive 3971 Assemble(二分 + 贪心)
- uvalive 3971 - Assemble(二分搜索 + 贪心)
- UVALive 3971-Assemble- 最小值最大化(二分)
- UVALive 3971 Assemble(二分 + 贪心)
- 例题1.12 组装电脑 Assemble UVALive
- LA 3971 Assemble / 二分
- UVA 3971 Assemble -
- iOS数据缓存
- C++接受键盘输入字符串
- live555之打包和发送
- 【leetcode SQL】Combine Two Tables
- iOS开发多线程断点下载
- UVALive - 3971 Assemble
- Setting up DHCPv6 to Dynamically Issue IPv6 Addresses in a Network
- Win7下硬盘安装Ubuntu12.04双系统
- 二、类的继承、public、protected、private、parent、重写override、最终类和最终方法
- 从源码分析ArrayList和LinkList的区别
- python - sort排序函数
- QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法
- nagios 监控环境搭建
- unity3D游戏开发之边锋(杭州)聘:游戏策划/设计/U3D/测评/文案等