HDU 1789(贪心题)

来源:互联网 发布:淘宝小号怎么养2017 编辑:程序博客网 时间:2024/06/07 07:48

原文出处:http://dan910808.blog.163.com/blog/static/193943203201272091648160/

思路:
按代价大小从高到低排序,代价一样则最后期限早的在前,
按排序顺序遍历,事件安排进终止日期那一天,如果该日期已被那排,就在往前推,
如果最后安排不下,就扣分。

#include<iostream>#include<algorithm>using namespace std;struct data{    int d,s;}num[1005];bool cmp(const data &a,const data &b){    if(a.s!=b.s)        return a.s>b.s;    else        return a.d<b.d;}int main(){    int t,n,sum,i,j;    int tag[1005];//这天是否已被安排    cin>>t;    while(t--)    {        sum=0;        cin>>n;        for(i=0;i<n;i++)        {            cin>>num[i].d;        }        for(i=0;i<n;i++)            cin>>num[i].s;        sort(num,num+n,cmp);        memset(tag,0,sizeof(tag));        for(i=0;i<n;i++)        {            for(j=num[i].d;j>0;j--)            {                if(!tag[j])                {                    tag[j]=1;                    break;                }            }            if(!j)                sum+=num[i].s;        }        cout<<sum<<endl;    }    return 0;}


 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当学生压力大怎么办 高三学习不好怎么办 高考孩子焦虑症怎么办 孩子高三厌学怎么办 高三厌学家长怎么办 高中生学习压力大怎么办 孩子反应有点慢怎么办 小学计算总出错怎么办 孩子粗心丢分怎么办 总是粗心丢分怎么办 卷子落在教室了怎么办 孩子总是丢题怎么办 孩子老师落题怎么办 孩子做题不认真马虎怎么办 工作犯了大错怎么办 工作上总是出错怎么办 工作中总是出错怎么办 晚上睡觉容易惊醒怎么办 每天早上被吵醒怎么办 孩子好动不爱学习怎么办 自习课不写作业怎么办 不爱学习的小孩怎么办 一年级小孩不爱学习怎么办 小孩不听话不爱学习怎么办 父母犯错我们该怎么办 孩子学习不爱动脑筋怎么办 孩子考试太马虎怎么办 小孩做作业马虎怎么办 同学抄我作业怎么办 别人抄我答案怎么办 学生考试前紧张怎么办 科目一考试紧张怎么办 1年级不认真学习怎么办 学生考试时紧张怎么办 小朋友不写作业怎么办 面对作业多应该怎么办 小学学生作业多怎么办 二年级学生马虎怎么办 孩子做数学题粗心怎么办 小孩拉的屎很粗怎么办 生地会考没及格怎么办