众所周知lyb根本不学习。但是期末到了,平时不写作业的他现在有很多作业要做。

CUC的老师很严格,每个老师都会给他一个DDL(deadline)。 如果lyb在DDL后交作业,老师就会扣他的分。

现在假设lyb做作业都需要一天。 所以lyb想到要安排做作业的顺序,这样才能尽可能扣少一点分。 请帮帮bx吧。 Input

输入包含T个测试用例。输入的第一行是单个整数T,为测试用例的数量。 每个测试用例以一个正整数N开头(1<=N<=1000),表示作业的数量。

然后两行。第一行包含N个整数,表示DDL,下一行包含N个整数,表示扣的分。 Output

对于每个测试用例,您应该输出最小的总降低分数,每个测试用例一行。

Sample Input
3
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
Sample Output
0
3
5

Hint 上方有三组样例。 对于第一组样例,有三个作业它们的截止日期均为第三天,每天做一个正好在截止日期前全部做完,所以没有扣分,输出0。

对于第二组样例,有三个作业,它们的截止日期分别为第一天,第三天、第一天。第一天做了第一个作业,第二天做了第二个作业,共扣了3分,输出3。

思路

  • 题意:给我们 n 门作业,分别给我们了n们做的截止日期可过来截止日所扣的分数。从第0天开始,每天只可以做一门作业(这个养的话)一定有作业做不完,选择一个做作业的顺势是所扣分数最小,问这个最小分数是多少
  • 分析
    1. 这一让我们求扣的最少,其实就让我们找出一个贪心策略。
    2. 我一开始是 先按截止日期排序,在按扣分的大小从大到小排序,这其实是不对了,这样的话我们没法保证 扣分大作业的近两倍完成,争却的 排序方案是:按作业扣分大的排在前边,之后 对于排在前边扣分大的作业我们应该尽量 让其在最后它截止到那一天被完成(这样能保证利益最大化),如果那一天被之前更大扣分更大的作业占用的话(既然这一天被更大的扣分作业所占用的话,我们肯定是不亏的),那么就看这一天的前一天,看是否被更大的扣分作业占用,如果没有被占用的话 就在在这一天完成,如果仍备占用的话,继续向前天搜索,知道搜索到第0天的话,那说明这个作业是没法被完成的,所以 ans + 这个作业扣的分

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std; const int mxn = 1005;
struct Data
{
int a, b;
bool operator < (const Data x) const
{
return b > x.b;
}
} data[mxn]; int main()
{
/* freopen("A.txt","r",stdin); */
int t;
scanf("%d", &t);
while(t --)
{
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i ++)
scanf("%d", &data[i].a);
for(int i = 1; i <= n; i ++)
scanf("%d", &data[i].b);
sort(data + 1, data + 1 + n);
int vis[mxn] = {0};
int f;
int ans = 0;
for(int i = 1; i <= n; i ++)
{
f = data[i].a;
while(vis[f])
f --;
if(f != 0)
vis[f] = 1;
else
ans += data[i].b;
}
printf("%d\n", ans);
} return 0;
}

E - 不爱学习的lyb HDU - 1789(贪心策略)的更多相关文章

  1. HDU - 1789 贪心

    贪心策略:按照分数降序排列,如果分数相同将截止时间早的排在前面.每次让作业尽量晚完成,因此需要逆序枚举判断这一天是否已经做了其他作业,如果没时间做这个作业说明不能完成,否则将这一天标记. AC代码 # ...

  2. HDU 1789 贪心经典

    题意 给出n门作业的截止时间与分数 如果不能在那天结束前做完就扣掉相应分数 问怎么安排能让扣分最少 思路 先按分数从大到小排序 先研究大的 做好标记 一开始每天都能放作业 全是true 如果这一天已经 ...

  3. 题解报告:hdu 1789 Doing Homework again(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem Description Ignatius has just come back ...

  4. hdu 4803 贪心/思维题

    http://acm.hdu.edu.cn/showproblem.php?pid=4803 话说C++还卡精度么?  G++  AC  C++ WA 我自己的贪心策略错了 -- 就是尽量下键,然后上 ...

  5. hnust 不爱学习的小w

    问题 C: 不爱学习的小W 时间限制: 2 Sec  内存限制: 64 MB提交: 1431  解决: 102[提交][状态][讨论版] 题目描述 “叮铃铃”上课了,同学们都及时到了教室坐到了座位上, ...

  6. 2017校赛 C: 不爱学习的小W【模拟】

    题目描述 “叮铃铃”上课了,同学们都及时到了教室坐到了座位上,教室里有n行m列的座位而且刚好坐满.既然是上课,那老师叫学生回答问题就是再正常不过的事了,同样地,教室里也就有爱学习和不爱学习的学生了,爱 ...

  7. hdu 1009 贪心基础题

    B - 贪心 基础 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bi ...

  8. LeetCode--Best Time to Buy and Sell Stock (贪心策略 or 动态规划)

    Best Time to Buy and Sell Stock Total Accepted: 14044 Total Submissions: 45572My Submissions Say you ...

  9. poj1328 Radar Installation(贪心 策略要选好)

    https://vjudge.net/problem/POJ-1328 贪心策略选错了恐怕就完了吧.. 一开始单纯地把island排序,然后想从左到右不断更新,其实这是错的...因为空中是个圆弧. 后 ...

随机推荐

  1. SpiningUP 强化学习 中文文档

    2020 OpenAI 全面拥抱PyTorch,  全新版强化学习教程已发布. 全网第一个中文译本新鲜出炉:http://studyai.com/course/detail/ba8e572a 个人认为 ...

  2. LeetCode专题——详解搜索算法中的搜索策略和剪枝

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第20篇文章,今天讨论的是数字组合问题. 描述 给定一个int类型的候选集,和一个int类型的target,要求返 ...

  3. R中的Regex

    Description grep.grepl.regexpr.gregexpr和regexec在字符向量的每个元素中搜索与参数模式匹配的参数:它们在结果的格式和详细程度上有所不同. sub和gsub分 ...

  4. Web Scraper 高级用法——利用正则表达式筛选文本信息 | 简易数据分析 17

    这是简易数据分析系列的第 17 篇文章. 学习了这么多课,我想大家已经发现了,web scraper 主要是用来爬取文本信息的. 在爬取的过程中,我们经常会遇到一个问题:网页上的数据比较脏,我们只需要 ...

  5. sessionStorage localStorage 和 cookie 之间的区别转

    sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...

  6. 群辉DS418play体验+经验分享

    群辉DS418play体验+经验分享     群辉DS418play体验+经验分享   购买初衷 近期百度网盘到期,我又需要重复下载很多资源(游戏.电影.毛片),下载没速度&下完没空间怎么办? ...

  7. Fink SQL 实践之OVER窗口

    问题场景 Flink SQL 是一种使用 SQL 语义设计的开发语言,用它解决具体业务需求是一种全新体验,类似于从过程式编程到函数式编程的转变一样,需要一个不断学习和实践的过程.在看完了 Flink ...

  8. webService-axis开发jar包

    开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar axiom-dom-1.2.13.jar axiom-impl-1.2.13.jar axis2- ...

  9. 通达OA rce复现

    通达OA下载:链接:https://pan.baidu.com/s/1c0P-M-IyY5VxfH5d0qKHsQ 提取码:l0pc 漏洞原因:未授权文件上传 + 文件包含(利用nginx日志也可以g ...

  10. drf 简介以及部分源码分析

    目录 复习 drf框架 全称:django-rest framework 知识点 接口 restful接口规范 基于restful规范的原生Django接口 主路由:url.py api组件的子路由: ...