题目大意:鞋匠有n个任务,第i个任务要花费ti天,同时第i个任务每耽误一天要有fi的罚金。求完成所有任务的最小罚金。

  虽然知道是贪心,可是并不确定如何作贪心选择,只好“取经”了...假如有两个任务i和j,先做i的话罚金就是ti*fj,先做j的话就是tj*fi (其实我也想到这个了,就是不知道怎么用),可以得到f/t大的任务应该先做。对贪心有多了一点认识了,贪心做出当前情况下的最好选择,与子问题无关,而动态规划中做出的选择与子问题有关系,要依赖子问题的结果。

 1 #include <cstdio>
 2 #include <algorithm>
 3 using namespace std;
 4 #define MAXN 1000+10
 5
 6 double w[MAXN];
 7 int ans[MAXN];
 8
 9 bool cmp(const int a, const int b)
10 {
11     return w[a] > w[b];
12 }
13
14 int main()
15 {
16 #ifdef LOCAL
17     freopen("in", "r", stdin);
18 #endif
19     int N;
20     scanf("%d", &N);
21     while (N--)
22     {
23         int n;
24         scanf("%d", &n);
25         int time, fine;
26         for (int i = 1; i <= n; i++)
27         {
28             scanf("%d%d", &time, &fine);
29             w[i] = 1.0 * fine / time;
30         }
31         for (int i = 1; i <= n; i++)   ans[i] = i;
32         sort(ans+1, ans+n+1, cmp);
33         for (int i = 1; i <= n; i++)
34             printf("%d%s", ans[i], (i==n)?"\n":" ");
35         if (N)   printf("\n");
36     }
37     return 0;
38 }

View Code

  如果有多个方案时要字典序输出,考虑到sort函数是不稳定的,感觉会出错,但还是抱着试试的态度提交了,想着如果WA了就换stable_sort,但是竟然AC了...这个...先不管了,先就这样吧

转载于:https://www.cnblogs.com/xiaobaibuhei/p/3226776.html

UVa 10026 - Shoemaker's Problem相关推荐

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

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

  2. UVA10026 Shoemaker's Problem【贪心】

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

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

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

  4. UVA - 524 Prime Ring Problem

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

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

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

  6. uva 10401 Injured Queen Problem(dp)

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

  7. uva 11069 A Graph Problem

    递推 题意:看题目中的列子就可以知道 ,当n为5时,可行的子集有{1,3,5},{2,4},{2,5},{1,4} 1.子集中任意两个元素的差x要2<=x<=3. 2.子集要尽可能的长,好 ...

  8. uva 101 The Blocks Problem

    1.     move a onto b在將a搬到b上之前,先將a和b上的積木放回原來的位置(例如:1就放回1的最開始位罝) 2. move a over b在將a搬到b所在的那堆積木之上之前,先將a ...

  9. uva 11490 ——Just Another Problem

    题意:刚开始并没有看懂,耐着性子硬读下去,才勉强弄懂大意,英语也要加强训练啊! 题目是说你有s行c列士兵,然后带着他们去打仗,为了虚张声势,在士兵的中间缺了两个边长为r的洞,且这两个洞四个方向的厚度是 ...

最新文章

  1. 高精度地图量产难,四维图新利用优势准备实现突破
  2. mysql表连接算法_如何在MySQL中连接多个表
  3. 利用python进行数据分析 英文-如何学习和评价《利用python进行数据分析》这本书?...
  4. 如何oracle数据库用户名和密码,Oracle数据库用户名及密码查询
  5. 思科Webex与下一代视频会议
  6. 究极日月服务器维护时间,超激斗梦境9月25日终极测试服务器维护公告_超激斗梦境9月25日更新了什么_玩游戏网...
  7. From Agile To DevOps - 微软开发部门 DevOps 经验谈
  8. win7 IE11卸载后无法上网
  9. LeetCode 1776. 车队 II(单调栈)
  10. 哪种人是软件设计中的稀缺型人才?
  11. html代码如何查看视频,Web前端
  12. ado.net Oracle中一次执行多条sql语句
  13. window.location.href 跳转失败
  14. matlab数据归一化代码_深度学习amp;Matlab-LeNet实现图像分类
  15. “叔叔,你来监考了!”
  16. UDP和TCP 简单 区别
  17. 区块链 智能合约 执行原理
  18. API不治,混合云何以统天下?
  19. 政企用户网络安全常见风险盘点
  20. linux 百度网盘 限速,哈哈,我终于找到解除百度网盘账号限速的方法了,可是........

热门文章

  1. 104. 二叉树的最大深度 golang DFS
  2. LVM (Logic Volume Management,逻辑卷管理)
  3. minicom 串口信息过长分行显示
  4. 树链剖分入门+HYSBZ - 1036树的统计Count
  5. 【Leetcode】112. 路径总和
  6. 萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第四节 PCA与梯度上升 (上)理解篇...
  7. intellig idea中jsp或html数据没有自动保存和更换字体
  8. git——学习笔记(三)分支管理
  9. usaco-crypt1-pass
  10. C++Objective-c