题目大意:一个鞋匠,有n只鞋要修,修某只鞋的时间ti已知,某只鞋晚修一天要交的罚款fi也已知。现在让找个修鞋顺序使得罚款最少。

题目分析:本来想水一下这道题,没想到真的AC啦。后来又查的题解,找的解释。一个比较能说服我的解释是这样的:这个鞋匠不管怎样都要赔本,他每修一只鞋能降低的最大损失是fi/ti,只需要按fi/ti从大到小的顺序来修即可。

代码如下:

# include<iostream>
# include<cstdio>
# include<cstring>
# include<algorithm>
using namespace std;
struct Job
{int id,ti,si;Job(){}Job(int _id,int _ti,int _si):id(_id),ti(_ti),si(_si){}bool operator < (const Job &a) const {double f1=1.0*si/ti;double f2=1.0*a.si/a.ti;if(f1==f2)return id<a.id;return f1>f2;}
};
Job JB[1005];
int main()
{int T,n,a,b;scanf("%d",&T);while(T--){scanf("%d",&n);for(int i=1;i<=n;++i){scanf("%d%d",&a,&b);JB[i]=Job(i,a,b);}sort(JB+1,JB+n+1);for(int i=1;i<=n;++i)printf("%d%c",JB[i].id,(i==n)?'\n':' ');if(T)printf("\n");}return 0;
}

  

转载于:https://www.cnblogs.com/20143605--pcx/p/4766544.html

UVA-10026 Shoemaker's Problem (贪心)相关推荐

  1. uva 10026 Shoemaker's Problem(排序)

    题目连接:10026 Shoemaker's Problem 题目大意:有一个鞋匠接了n双要修的鞋子, 修每双鞋需要d天,每推迟一天修将亏损val元,问按什么样的顺序修鞋可以保证损失最少,如果有多种情 ...

  2. UVa 10026 - Shoemaker's Problem

    题目大意:鞋匠有n个任务,第i个任务要花费ti天,同时第i个任务每耽误一天要有fi的罚金.求完成所有任务的最小罚金. 虽然知道是贪心,可是并不确定如何作贪心选择,只好"取经"了.. ...

  3. UVA10026 Shoemaker's Problem【贪心】

    Shoemaker has N jobs (orders from customers) which he must make. Shoemaker can work on only one job ...

  4. Uva 101 the block problem 木块问题(算法竞赛经典入门)STL vector

    Uva 101 the block problem 木块问题 题目大意: 输入n,得到编号为0~n-1的木块,分别摆放在顺序排列编号为0~n-1的位置.现对这些木块进行操作,操作分为四种. 1.mov ...

  5. UVA - 524 Prime Ring Problem

    题目链接: UVA - 524 Prime Ring Problem Description(素数环) A ring is composed of n (even number) circles as ...

  6. UVa11389 The Bus Driver Problem(贪心)

    问题:市中有n个司机,有n个早班路线和晚班路线.每个司机分配一个早班和晚班路线,如果一个司机的总行程路线超过d,超过的部分按每小时r元计算.问最小的加班费多少. 思路:贪心算法. 先以两个情况为例.早 ...

  7. 【UVA】11991 Easy Problem from Rujia Liu? (整数v第k次出现在什么位置)

    https://vjudge.net/problem/UVA-11991 题目大意:就是给你一个序列,然后给出k和v,看整数v第k次出现在该序列的什么位置,没有的话就输出0 结构体(略复杂): #in ...

  8. uva 10401 Injured Queen Problem(dp)

    题目链接:10401 - Injured Queen Problem 题目大意:给出一个字符串,要求在n * n(n为字符串的长度)的棋盘上摆放n个受伤的皇后,受伤的皇后只能攻击到同一列和它周围8个格 ...

  9. UVA 11292 The Dragon of 贪心

    题意是 一个龙有n个头 头都有直径 有m个骑士 骑士有身高 如果身高超过直径 骑士就能砍下龙头 一个骑士只能砍一个头 国王雇佣骑士 价格是骑士的身高 求国王最少要多少钱才能杀掉龙 如果杀不掉 就输出  ...

最新文章

  1. [20170206]为什么少1个段.txt
  2. UNIX 之父和 Linux 之父:创造新系统真的只是个意外 | 赠书
  3. leetcode10 为什么p[j-1] == '*'的时候,不能用递推公式dp[i][j] = dp[i][j-1] || dp[i][j-2] || dp[i-1][j]
  4. 推荐系统笔记(其它应用算法)
  5. 法国标致雪铁龙汽车公司采用通快碟片激光器进行焊接
  6. eslint的安装与使用
  7. Windows2008+MyEclipse10+Android开发环境搭配
  8. (day 50 - 动态规划+概率论 ) 剑指 Offer 60. n个骰子的点数
  9. 苹果手机浏览器字体渐变色无效?
  10. Swift All-In-One安装指南
  11. 终于有人把数据安全讲明白了
  12. 强化学习策略迭代及收敛证明
  13. 游戏美术设计中,最难的角色人物如何设计才能吸睛?
  14. laravel 的 scout elasticsearch ik laravel-scout-elastic 之间的关系与安装
  15. 【自主无人机】无人机领域中知名课题组介绍 - 转自阿木实验室
  16. TIA博途_OB组织块的功能和使用方法介绍
  17. linux系统磁盘分区查看,linux下磁盘查看和分区
  18. Python 的dict几种遍历方式
  19. scite使用日常收集
  20. 『Python学习笔记』Mac系统汇总:终端文件显示不同颜色Pycharm代码模板JAVA环境变量

热门文章

  1. 使用jQuery Html() 作为客户端htmlEncode的问题
  2. 输出斐波那契数列的第n项
  3. Python中的图书管理系统
  4. android开发 转跳功能,如何在Android中利用Intent实现一个页面跳转功能
  5. A股开盘:深证区块链50指数跌0.46%,泰豪科技涨停
  6. 雄安新区区块链底层系统(1.0)今日正式发布
  7. 数据:DeFi总锁定价值突破170亿美元
  8. SAP License:SAP工业4.0 创新智能物流解决方案
  9. SAP License:关于未分摊差异的几种处理办法
  10. SAP GRC 权限合规审计系统