hdu4221 Greedy?(贪心)

真不知道为啥全是英文题。。。就不能好好的出中文的啊  啊 啊

果然看错了题意

#include <stdio.h>
#include <algorithm>
using namespace std;
struct node
{
	long long day,end;
}c[100005];
bool cmp(node x,node y)
{
	if(x.end<y.end) return true;
	if(x.end==y.end&&x.day>y.day) return true;
	return false;
}
int main()
{
	int test,n,q=1;
	scanf("%d",&test);
	while(test--)
	{
		scanf("%d",&n);
		for(int i=0;i<n;i++)
		scanf("%lld %lld",&c[i].day,&c[i].end);
		sort(c,c+n,cmp);
		long long sum=0,max=0;
		for(int i=0;i<n;i++)
		{
			sum+=c[i].day;
			if(sum-c[i].end>max)
			max=sum-c[i].end;
		}
		printf("Case %d: %lld\n",q++,max);
	}
	return 0;
}

唉 果然理解错了题意  连样例都看不懂

时间: 2024-10-08 08:43:42

hdu4221 Greedy?(贪心)的相关文章

HDU-4221 Greedy? 贪心 从元素的相对位置开始考虑

题目链接:https://cn.vjudge.net/problem/HDU-4221 题意 给n个活动,每个活动需要一段时间C来完成,并且有一个截止时间D 当完成时间t大于截止时间完成时,会扣除t-D分 找出如何使所扣分的最大值最小的那个最小值 思路 又是一道最小化最大值的题目 入手点还是相对位置 一样地讨论任意两个元素,使第一个元素放在前面为最优解,分析条件 d越小越在前面 提交过程 AC 套路题 代码 #include <cstdio> #include <algorithm>

POJ3659 Cell Phone Network【最小支配集】【贪心】

Cell Phone Network Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5735Accepted: 2053 Description Farmer John has decided to give each of his cows a cell phone in hopes to encourage their social interaction. This, however, requires him to

Leetcode文章整理

LeetCode的题目种类比较多,感觉应该将自己联系过的题目进行分类,这个就是根据自己做过的题目进行划分,并做一定的总结,会持续更新 Sort: Two Pointer: 单链表: Reorder List将l1->l2...->ln转化为l1->ln->l2->ln-1.. 这里用的很直接的方法就是找到链表的中点,然后将链表分为两部分,后半截翻转后两个链表进行融合.我在想,如果能之间把后面半截放入vector当中,就简单很多,但是就是牺牲了空间,不知道有没有更好的办法. I

树的最小支配集、最小点覆盖、最大独立集【模板】

最小支配集:指从所有顶点中取尽量少的点组成一个集合,使得剩下的所有点都与取出来的点有边相连.顶点个数最小的支配集被称为最小支配集.这里用贪心法来求. 1.以1号点深度优先搜索整棵树,求出每个点在DFS中的编号和每个点的父亲节点编号. 2.按DFS的反向序列检查,如果当前点既不属于支配集也不与支配集中的点相连,且它的父亲也不属于支配集,将其父亲点加入支配集,支配集个数加1. 3.标记当前结点.当前结点的父节点(属于支配集).当前结点的父节点的父节点(与支配集中的点相连). #include<ios

正则有那么难吗?

1.常规模式 \d 数字字符[0-9]                  \D  非数字[^0-9] \s 空白字符[ \t\n\x0B\f\r]      \S  非空白[^\s] \w 单词字符[a-zA-Z_0-9]      \W  非单词[^\w] |  同时匹配多个模式 2.贪婪模式 greedy(贪心的:渴望的:贪婪的)与reluctant(勉强的:厌恶的:非贪婪) 3.条件模式 (?=X)   zero-width非捕获  positive肯定的  lookahead 先行 (?

贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal&amp;#39;s algorithm)

克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个.这里面充分体现了贪心算法的精髓.大致的流程能够用一个图来表示.这里的图的选择借用了Wikipedia上的那个.很清晰且直观. 首先第一步,我们有一张图,有若干点和边 例如以下图所看到的: 第一步我们要做的事情就是将全部的边的长度排序,用排序的结果作为我们选择边的根据.这里再次体现了贪心算法的思想.资源排序,对局部最优的资源进行选择. 排序完毕后,我们领先选择了边AD. 这样我们的图就变成了 第

CF10E Greedy Change 判断硬币系统是否能用贪心策略

Billy investigates the question of applying greedy algorithm to different spheres of life. At the moment he is studying the application of greedy algorithm to the problem about change. There is an amount of n coins of different face values, and the c

集束搜索beam search和贪心搜索greedy search

贪心搜索(greedy search) 贪心搜索最为简单,直接选择每个输出的最大概率,直到出现终结符或最大句子长度. 集束搜索(beam search) 集束搜索可以认为是维特比算法的贪心形式,在维特比所有中由于利用动态规划导致当字典较大时效率低,而集束搜索使用beam size参数来限制在每一步保留下来的可能性词的数量.集束搜索是在测试阶段为了获得更好准确性而采取的一种策略,在训练阶段无需使用. 假设字典为[a,b,c],beam size选择2,则如下图有: 1:在生成第1个词的时候,选择概

HDU 4976 A simple greedy problem. 贪心+DP

题意: 给定n<=1000个小兵,A每次都能使小兵掉1点血,B每次能使所有小兵掉1点血,A.B轮流攻击,每次轮到A他会选择是否攻击,轮到B必须攻击.求A最多能杀死多少小兵.(当小兵血量为1时被攻击到视为被杀死) 思路: 如果所有小兵血量都不一样,A必定能杀死所有小兵.如果有小兵血量相同,那么A必定会攻击一些小兵使他们血量不同.所以我们可以把A的攻击分为两类:用来刚好杀死小兵的一次, 和用来使小兵血量不同的攻击. 我们可以用贪心的思想预处理出怎样用最小的攻击次数让小兵的血量都不同. 然后我们可以用