北大ACM(POJ1018-Communication System)
Question:http://poj.org/problem?id=1018
问题点:枚举。
Memory: 564K Time: 329MS
Language: C++ Result: Accepted #include <iostream>
#include <iomanip>
using namespace std; struct BP
{
int i;//第i种设备
int B;//设备带宽
int P;//设备价格
};
int cmp1(const void* a,const void* b)//排序按 i,P 升序排列
{
BP* ca = (BP*)a;
BP* cb = (BP*)b;
return (ca->i==cb->i?(ca->P - cb->P):(ca->i - cb->i));
}
int cmp2(const void* a,const void* b)//排序按 B 升序排列
{
BP* ca = (BP*)a;
BP* cb = (BP*)b;
return ca->B - cb->B;
}
int main()
{
int eg,num;
cin>>eg;
BP bp[];//排序按 i,P 升序排列
BP orderB[];//排序按 B 升序排列
double maxBP;//结果
int same,maxB,temp,i,j,k,cnt,idx;
while(eg--)
{
cin>>num;
memset(bp,,sizeof(bp));
k = cnt = maxB = ;
maxBP = ;
for(i=;i<num;i++)
{
cin>>same;//一种设备的数量
cnt += same;//所有设备的数量
temp = ;//记录一种设备的最大带宽
for(j=;j<same;j++,k++)
{
bp[k].i = i;
cin>>bp[k].B>>bp[k].P;
temp = (temp> && temp>bp[k].B)?temp:bp[k].B;
}
maxB = (maxB> && maxB<temp)?maxB:temp;//取所有设备最大带宽的的最小值,即B的取值上限
}
memcpy(orderB,bp,sizeof(bp));
qsort(bp,cnt,sizeof(BP),cmp1);//排序按 i,P 升序排列,用于取各类设备中大于B的最小P
qsort(orderB,cnt,sizeof(BP),cmp2);//排序按 B 升序排列 ,用于枚举B
for(i=;i<cnt && orderB[i].B<=maxB;i++)
{
k = orderB[i].B;//枚举B
temp = orderB[i].P;//当前情况 最小P
for(j=,idx=;j<cnt && idx < num;j++)
{
if(bp[j].i == orderB[i].i || bp[j].B < k || idx > bp[j].i) continue;
temp += bp[j].P;
idx = bp[j].i+;//如果第j类设备已取,idx指向下一类设备,(不能使用 idx++)
}
maxBP = (maxBP > && maxBP > double(k)/temp?maxBP:double(k)/temp);//取最大B/P值
}
cout<<fixed<<setprecision()<<maxBP<<endl;//输出必须小数点后3位,如1要输出1.000
}
//system("pause");
return ;
}
北大ACM(POJ1018-Communication System)的更多相关文章
- POJ1018 Communication System
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26738 Accepted: 9546 Description We ...
- POJ 1018 Communication System(树形DP)
Description We have received an order from Pizoor Communications Inc. for a special communication sy ...
- 北大ACM - POJ试题分类(转自EXP)
北大ACM - POJ试题分类 -- By EXP 2017-12-03 转载请注明出处: by EXP http://exp-blog.com/2018/06/28/pid-38/ 相关推荐文: 旧 ...
- Communication System(dp)
Communication System Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25006 Accepted: 8925 ...
- poj 1018 Communication System
点击打开链接 Communication System Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21007 Acc ...
- poj 1018 Communication System 枚举 VS 贪心
Communication System Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21631 Accepted: ...
- POJ 1018 Communication System(贪心)
Description We have received an order from Pizoor Communications Inc. for a special communication sy ...
- F - Communication System
We have received an order from Pizoor Communications Inc. for a special communication system. The sy ...
- POJ 1018 Communication System (动态规划)
We have received an order from Pizoor Communications Inc. for a special communication system. The sy ...
- 北大 ACM 分类 汇总
1.搜索 //回溯 2.DP(动态规划) 3.贪心 北大ACM题分类2009-01-27 1 4.图论 //Dijkstra.最小生成树.网络流 5.数论 //解模线性方程 6.计算几何 //凸壳.同 ...
随机推荐
- MongoDB Helper的简单封装
db.properties #mongodb数据库配置文件 #数据库server所在的ip地址 ip=127.0.0.1 #mongodb服务port号 port=27017 #要连接的库 dbNa ...
- java7新特性之Try-with-resources (TWR)
java7新特性之Try-with-resources (TWR) This change is easy to explain, but it has proved to have hidden s ...
- SSL和SSH的差别
有人说,SSH通常是用来提供安全的登录用的.SSL仅仅是一个在协议层中增加的一层用来提供安全. SSH工作在TCP之上,能够在启动一个SSH应用后.在其通道里执行其他协议的应用.如邮件. ...
- 脱离开发软件启动Tomcat访问项目
作为开发人员平时用的最多的就是通过开发软件启动Tomcat服务,从而访问项目.这样便于开发的bug调试 此处讲的是脱离开发软件启动Tomcat访问项目 链接参考: http://jingyan.bai ...
- 【Poj 1832】连环锁
连环锁 Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1260 Accepted: 403 Description 许多 ...
- SPOOL 命令使用实例【oracle导出纯文本格式文件】
SPOOL 命令使用实例[oracle导出纯文本格式文件] SET echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句: SET ...
- Size Classes with Xcode 6:为所有的尺寸准备一个Storyboard
我最喜欢的Xcode6的特性是新的size classes 概念,有了它,我们解决了“我如何能够快速的为那么多不同尺寸屏幕以及方向的设备写app”.他们也让在一个storyboard中创建一个通用的a ...
- luogu3941入阵曲
https://www.zybuluo.com/ysner/note/1301562 题面 统计在给出的\(n*m\)矩阵中,有多少个不同的子矩形中的数字之和是\(k\)的倍数? 解析 切不掉这道题是 ...
- bzoj3612 [Heoi2014]平衡——整数划分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3612 看了好久才弄清楚题意... 原来整数划分就是这样的啊:https://blog.csd ...
- FreeMarker:目录
ylbtech-FreeMarker:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://yl ...