HDU——1789Doing Homework again(贪心)
Doing Homework again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10043 Accepted Submission(s): 5875
his score of the final test. And now we assume that doing everyone homework always takes one day. So Ignatius wants you to help him to arrange the order of doing homework to minimize the reduced score.
Each test case start with a positive integer N(1<=N<=1000) which indicate the number of homework.. Then 2 lines follow. The first line contains N integers that indicate the deadlines of the subjects, and the next line contains N integers that indicate the reduced
scores.
3
3 3 3
10 5 1
3
1 3 1
6 2 3
7
1 4 6 4 2 4 3
3 2 1 7 6 5 4
3
5
好吧这题我只知道要根据分数排序,写完bool cmp后sort就不知道咋办了。弱比的我还是得百度。
做法:首先根据分数降序排序,其次若分数相同,则天数少的排前面(升序)。然后再创建一个记录int数组,由于是贪心问题,尽量将要求第几天完成的排在那一天,给前面腾出空间若那一天被占用了,则往前找空的一天,原则就是尽量往后排,尽量拖延,能迟点完成就迟点完成(尽量往后排)
代码:
#include<iostream>
#include<algorithm>
using namespace std;
struct id
{
int day;
int fenshu;
};
bool cmp(const id a,const id b)
{
if(a.fenshu!=b.fenshu)
return a.fenshu>b.fenshu;//先降序排分数
else return a.day<b.day;//再升序排截止日期
}
int main(void)
{
int n,t,i,use[1009],j,sum,tem;
cin>>t;
while(t--)
{
memset(use,0,sizeof(use));
cin>>n;
id *haha=new id[n+2];//new一下节省空间,n+2有安全感....
for (i=0; i<n; i++)
cin>>haha[i].day;
for (i=0; i<n; i++)
cin>>haha[i].fenshu;
sort(haha,haha+n,cmp);//排个序
sum=0;
for (i=0; i<n; i++)
{
tem=haha[i].day;//这里比较重要,从某分数对应的天数开始往前找
while(tem)
{
if(use[tem]==0)//为0则没被占用
{
use[tem]=1;//那现在就要占用了,标记为1
break;//果断break
}
else
{
tem--;//自己对应那天被占用则往前找(占用别人的)
}
}
if(tem==0)//到0了还没找到,那就注定没时间补了
sum+=haha[i].fenshu;//扣下这分!
}
cout<<sum<<endl;
delete []haha;//记得delete[]
}
return 0;
}
HDU——1789Doing Homework again(贪心)的更多相关文章
- 动态规划: HDU 1789Doing Homework again
Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of h ...
- HDU 4442 Physical Examination(贪心)
HDU 4442 Physical Examination(贪心) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=4442 Descripti ...
- hdu 1789 Doing HomeWork Again (贪心算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789 /*Doing Homework again Time Limit: 1000/1000 MS ...
- HDU 1789 - Doing Homework again - [贪心+优先队列]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- HDU 1789 Doing Homework again(贪心)
Doing Homework again 这只是一道简单的贪心,但想不到的话,真的好难,我就想不到,最后还是看的题解 [题目链接]Doing Homework again [题目类型]贪心 & ...
- HDU 5835 Danganronpa (贪心)
Danganronpa 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5835 Description Chisa Yukizome works as ...
- HDU 5821 Ball (贪心)
Ball 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...
- HDU 1009 FatMouse' Trade(贪心)
FatMouse' Trade Problem Description FatMouse prepared M pounds of cat food, ready to trade with the ...
- hdu--1798--Doing Homework again(贪心)
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
随机推荐
- OpenLayers 3 的 图层控制控件
openlayers3的control中没有提供默认的图层控制控件. 但是git上已经有造好的轮子,直接拿来用就可以了.地址 https://github.com/walkermatt/ol3-lay ...
- 重温Javascript(三)-继承
继承 1.原型链继承 基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针.让原型 ...
- 唱吧APP产品体验报告
- 剑指offer58 二叉树的下一个结点
自己写的 class Solution { public: TreeLinkNode* GetNext(TreeLinkNode* pNode) { if(pNode == NULL) return ...
- 苹果市值破万亿,iPhone 会涨价吗?
今日导读 苹果教父乔布斯曾经说过:“活着就是为了改变世界.”虽然他在 56 岁时就遗憾离世,但他极具创新和变革的精神早已深埋进苹果公司的企业文化里,影响着一代又一代的人.就在最近,这家一直努力“改变世 ...
- VC下的C语言程序随机数的产生
本文章适用于VC编译器,VC编译器里有个rand()函数,我们用它来实现取随机数. #include <stdio.h> #include<stdlib.h> //随机数的头文 ...
- 【结构型模式】《大话设计模式》——读后感 (12)在NBA我需要翻译?——适配器模式
适配器模式:将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能在一起工作的 那些类可以在一起工作了[DP] UML类图: 简单模拟一下代码: //已存在的.具有 ...
- numpy 三个点的使用[...]
numpy [...]语法简单使用 Python numpy中切片功能与列表切片类似,但功能更加强大 本文主讲numpy中[...]的简单使用,后续工作继续补充. import numpy >& ...
- Python9-网络编程3-day32
解决黏包的问题 #server import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr ...
- python-matplotlib-lec0
直奔主题吧..以下是对matplotlib画图的简单讲解,代码已测试. win7 + pycharm + python 2.7 参考文档: http://old.sebug.net/paper/boo ...