题意:给你n个厂,每个厂有m个产品,产品有B(带宽),P(价格),现在要你求最大的 B/P

明显是枚举,当P大于一定值,B/P为零,可以用这个剪枝

#include <iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define N 110
#define INF 0xffffff
int devb[N][N],devp[N][N];
int b[N*100],tb; int main(int argc, char** argv) {
int n,mi[N],i,j,t;
int blen,minprice,sum,minb,maxb,curb;
double dmax,tvalue;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
blen=0;
for(i=0;i<n;i++){
scanf("%d",&mi[i]);
for(j=0;j<mi[i];j++){
scanf("%d%d",&devb[i][j],&devp[i][j]);
b[blen++]=devb[i][j];
if(minb>=devb[i][j])
minb=devb[i][j];
if(maxb<=devb[i][j])
maxb=devb[i][j];
}
}
dmax=0;
for(tb=minb;tb<=maxb;tb++){
sum=0;
curb=INF;
for(i=0;i<n;i++){
minprice=INF;
for(j=0;j<mi[i];j++){
if(devb[i][j]>=tb&&devp[i][j]<minprice){
minprice=devp[i][j];
if(curb>devb[i][j])
curb=devb[i][j];
}
}
if(minprice==INF)
break;
sum+=minprice;
}
if(i==n){
tvalue=(double)curb/sum;
if(tvalue>dmax)
dmax=tvalue;
tb=curb+1;
}else
break;
}
printf("%.3f\n",dmax);
}
return 0;
}

poj 1018 Communication System_贪心的更多相关文章

  1. POJ 1018 Communication System 贪心+枚举

    看题传送门:http://poj.org/problem?id=1018 题目大意: 某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m个厂家提供生产,而每个厂家生产的同种设备都 ...

  2. POJ 1018 Communication System(树形DP)

    Description We have received an order from Pizoor Communications Inc. for a special communication sy ...

  3. poj 1018 Communication System 枚举 VS 贪心

    Communication System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21631   Accepted:  ...

  4. POJ 1018 Communication System(贪心)

    Description We have received an order from Pizoor Communications Inc. for a special communication sy ...

  5. POJ 1018 Communication System(DP)

    http://poj.org/problem?id=1018 题意: 某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m1.m2.m3.....mn个厂家提供生产,而每个厂家生产 ...

  6. poj 1018 Communication System

    点击打开链接 Communication System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21007   Acc ...

  7. POJ 1018 Communication System (动态规划)

    We have received an order from Pizoor Communications Inc. for a special communication system. The sy ...

  8. poj 1018 Communication System (枚举)

    Communication System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22380   Accepted:  ...

  9. POJ 1018 Communication System 题解

    本题一看似乎是递归回溯剪枝的方法.我一提交,结果超时. 然后又好像是使用DP,还可能我剪枝不够. 想了非常久,无奈忍不住偷看了下提示.发现方法真多.有贪心,DP,有高级剪枝的.还有三分法的.八仙过海各 ...

随机推荐

  1. 转:SVN Eclipse插件Subclipse安装和配置

    一.安装Subclipse subclipse项目地址:http://subclipse.tigris.org/. 安装Subclipse的最好方法是使用Eclipse Update Manager. ...

  2. mybatis写demo时遇到的问题

    写demo的时候,用mybatis的配置文件链接数据库,始终链接不上,太急人了.仔细查阅,发现在mysql中新增的表没有事务支持.还有就是mysql搜索引擎支持的不对.我换了一下 innodb的引擎, ...

  3. UESTC_秋实大哥与家 2015 UESTC Training for Data Structures<Problem E>

    E - 秋实大哥与家 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  4. python多线程简单例子

    python多线程简单例子 作者:vpoet mail:vpoet_sir@163.com import thread def childthread(threadid): print "I ...

  5. Python常用模块 (2) (loging、configparser、json、pickle、subprocess)

    logging 简单应用 将日志打印到屏幕 import logging logging.debug('debug message') logging.info('info message') log ...

  6. Unity 人物跟谁手指的移动(第一种方式)

    长夜漫漫无心睡眠,敲敲代码,越敲越来劲! 我发现好多小朋友都在玩熊出没之xxxx这个游戏,居然打了一下午都没玩通第2关,我把测试也叫来陪我一起玩! 结果他也打不通,我再去叫策划,他也没打过,我去叫主管 ...

  7. Echarts动态数据显示

    自己慢慢摸索出来的,留着以后可能会用到 一.先引入jquery,再引入echarts.js 二.配置容器 三.配置路径和数据选项等 <script type="text/javascr ...

  8. JS局部打印两种方法

    所有浏览器都可以 <html> <head title=""> <title>测试打印</title> <style medi ...

  9. Android测试框架2(非原创)

    package com.example.sqlitedatabase.test; import android.content.ContentValues;import android.databas ...

  10. Android常用组件Broadcast介绍

    一.Broadcast简介 Broadcast是Android的四大组件之一.可分为: 1.普通广播 发送一个广播,所有监听该广播的广播接收者都可以监听到改广播. 2.异步广播 当处理完之后的Inte ...