`
从此醉
  • 浏览: 1044643 次
  • 性别: Icon_minigender_1
  • 来自: US
社区版块
存档分类
最新评论

uva 10026 - Shoemaker's Problem

 
阅读更多

点击打开链接uva 10026


题目意思: 有一个人现在要去做N个任务,每一个任务对应一个完成的时间T,和这个任务开始之前每一天必须要罚的前fine,要求找到一个完成任务的顺序使得,这个总的Fine值最小,输出这个顺序


解题思路: 1:贪心:对输入的Time和Fine,做Fine/Time比值,然后对每一个任务进行排序,这样就能够保证先做那些比例高的任务,这样就能够保证最小的Fine值
2:注意自定义cmp函数的运用,以及double类型的比较


代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <stack>
#include <queue>
#include <cmath>
#include <set>
using namespace std;
#define MAXN 1010

int T , n;
int num[MAXN] , t[MAXN] , f[MAXN];
//自定义cmp
bool cmp(int a , int b){//传入两个任务编号
   double s1 , s2;
   s1 = (f[a-1]*1.0)/t[a-1];
   s2 = (f[b-1]*1.0)/t[b-1];
   if(s1-s2 > 1e-9) return true;//注意高精度的比较
   return false;
}

void solve(){
    sort(num , num+n , cmp);
    printf("%d" , num[0]);
    for(int i = 1 ; i < n ; i++)
        printf(" %d" , num[i]);
    printf("\n");
}

int main(){
    //freopen("input.txt" , "r" , stdin);
    scanf("%d%*c" , &T);
    while(T--){
        scanf("%d" , &n);
        for(int i = 0 ; i < n ; i++){
            scanf("%d%d" , &t[i] , &f[i]);
            num[i] = i+1;
        }
        solve() ; if(T) printf("\n");
    }
    return 0;
}


分享到:
评论

相关推荐

    UVa 10026 Shoemaker's Problem

    題目: http://icpcres.ecs.baylor.edu/onlinejudge/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=967

    karlton-shoemaker.github.io

    karlton-shoemaker.github.io Karlton Shoemaker的个人投资组合网站 在这里,您可以看到有抱负的软件开发人员Karlton Shoemaker的简短传记。 在他在We Can Code IT软件开发训练营的培训期间,对他独特的背景进行了...

    shoemaker:创建Web组件的一种优雅方法

    Shoemaker提供了一个抽象类,您可以对其进行扩展,以使用优雅的API和React性数据绑定来制作自己的。 与许多其他自定义元素创作工具相比,它为您提供了更接近金属的体验。 声明性模板 通过道具进行React式数据绑定 ...

    java星星源码-html-css-javascript-getting-started-start:来自CraigShoemaker在Plu

    java星星原始码html-css-javascript-getting-started-start 来自Craig Shoemaker在Pluralsight.com上的“ html-css-javascript-getting-started-start”课程中的源代码

    论文研究 - 西藏南部独特的彗星撞击模式

    像Comet Shoemaker-Levy 9 [1]这样的例子表明,由于引力梯度,彗星崩解并不罕见。 如果这种分解的彗星撞击地球,则多个连贯的撞击坑将分布在大面积上。 彗星的低密度多孔成分将导致形成大面积的“大底坑”,如罗迪...

    SEPx-crx插件

    目前支持:-关于斯坦福哲学百科全书的任何文章-内联引文,例如(Klein 1999)和Klein(1999)-多作者,例如(Cohen和Shoemaker 2003),目前不支持主要资源引文(必须是四位数的年份)。 将鼠标悬停在网址框右侧的...

    HMETS 水文模型:集总概念水文模型 HMETS 的源代码和接口-matlab开发

    水文模型 HMETS 的代码和接口。 HMETS是一个非常简单但有效的集总概念水文模型。... 重要笔记: - 要使用最有效的 HMETS 优化算法 DDS 算法(Tolson 和 Shoemaker,2007),您必须从 Github 存储库站点下载 p 文

    Fullstack.React.The Complete.r35.2017.11.pdf.and.code.zip

    Technical Advisor: Sophia Shoemaker Contributors: Seulgi Kim © 2017 Fullstack.io All rights reserved. No portion of the book manuscript may be reproduced, stored in a retrieval system, or transmitted...

    crispin 做的鞋子模型

    crispin shoemaker学习版做得学习模型 可以更直观了解模型和鞋子的制作过程

    基于matlab的数字水印技术lsb方法

    基于matlab的数字水印技术lsb方法 %Name: Chris Shoemaker %Course: EER-280 - Digital Watermarking %Project: Least Significant Bit Substitution % Watermark Embeding clear all; % save start time start_...

    DDS_Py:动态尺寸搜索算法的Python版本

    对于连续优化问题: Tolson,BA和CA Shoemaker(2007),用于计算效率高的流域模型校准的动态尺寸搜索算法,Water Resources Research,43,W01413,doi:10.1029 / 2005WR004723。 对于离散/混合整数优化问题...

    pySOT:适用于Python的替代优化工具箱

    pySOT实现了许多流行的代理优化算法,例如Regis和Shoemaker的随机RBF(SRBF)和DYCORS方法,以及Krityakierne等人的SOP方法。 al。 我们还支持在贝叶斯优化中流行的预期改进(EI)和低置信界(LCB)。 所有优化算法...

Global site tag (gtag.js) - Google Analytics