HDU1789时间贪心】的更多相关文章

Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13883    Accepted Submission(s): 8053 Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he h…
There is a war and it doesn't look very promising for your country. Now it's time to act. You have a commando squad at your disposal and planning an ambush on an important enemy camp located nearby. You have N soldiers in your squad. In your master-p…
第一想法是按照结束时间贪心,但是这样有反例 所以先按照t贪心,能选则选,把选的楼的持续时间放进大根堆里,当当前的楼不能选的时候如果当前的持续时间比大根堆里最大的要小,就用这个替换最大,这样总数不变但是时间缩短了 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> using namespace std; const int N=150005; int n,ans; s…
过桥问题: 黑夜,只有一只手电筒 A过桥需要1s B过桥需要3s C过桥需要5s D过桥需要8s E过桥需要12s 求最小过桥时间 贪心算法: 从最大的开始过去,最小的两个做为辅助. 假如左岸人数为2:两个人直接过去,不需要回来,代价 假如左岸人数为3:由辅助,代价 假如左岸人数大于3:将左岸最大两个人送到右岸,可以有两种方案:   image.png 综上,此时 tips: 记得每次j-2. 代码如下: package my; import java.util.Arrays; import j…
题目链接: https://codeforces.com/contest/1165/problem/F2 题意: 需要买$n$种物品,每种物品$k_i$个,每个物品需要两个硬币 每天获得一个硬币 有$m$个优惠 在$d_i$天,$t_i$物品卖一个硬币 求购买所需物品最少需要的天数 数据范围: $1 \le n, m \le 2 \cdot 10^5$ 分析: 我们可以注意到,如果某天是某个物品的最后优惠时间,那么我们一定要在这天尽可能多地购买这个物品 对答案进行二分 再二分得到每个物品在这个答…
前言:我们队的dp一直是我在做,说不上做的很顺,有些可以做,有些不能做.到现在为止,做dp题目也有七八十道了,除了背包问题的题目我可以说有百分之七八十的把握ac的话,其他类型的dp,还真没有多大把握.越是做dp题,就越是发现dp的博大精深,我想,dp这个专题,对于我这样的人来说,做上两百道,才能真正有所把握......... 25道dp题题目: 1.hdu  1503 题意:给你两个字符串,要你用这两个字符串组成这样一个字符串,在组成的字符串中字符的相对顺序不变的情况下,可以在组成的字符串中找到…
http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=640 第一题:给一堆书的序列 每次操作只能将书从中间移到最上面 求最少移动多少次 使得有序 只有19本书 怎么暴力怎么来 可以观察出 一本书最多被移动一次 不然移动就不存在意义了 ID最大的书是不被移动的 so 倒着查询有多少本是不被移动的就行了 #include<iostream> #include<cstdio> #include<cstring>…
bzoj上的usaco题目还是很好的(我被虐的很惨. 有必要总结整理一下. 1592: [Usaco2008 Feb]Making the Grade 路面修整 一开始没有想到离散化.然后离散化之后就很好做了.F[I,j]表示第i个点,高度>=j或<=j,f[I,j]=min(f[i-1,j]+abs(b[j]-a[i]),f[I,j-1]) 1593: [Usaco2008 Feb]Hotel 旅馆 线段树 ★1594: [Usaco2008 Jan]猜数游戏 二分答案然后写线段树维护 15…
二分答案 + 贪心 传送门:$>here<$ $Solution$ 二分时间+贪心验证.思维难度主要在验证上,然而坑人的点却在n的取值上.那么先来谈如何验证.在已知时间的条件下,能否用一种方法求出这m个人能否完成任务呢?并且,n卡到了\(10^5\),所以n^2想都别想了.这里给出一个O(n)的解法.首先,将每个学生分割开来看,并且要把各堆箱子分开来看.我们扫一遍所有箱子,并且从第一个学生开始搬.我们是这样贪心的——我们尽量让每个学生用光自己的所有时间,并且不让两个学生同时搬一个箱子,以此得到…
最近复习了一下堆,于是去luogu上找一些简单题写一写 贪心的想,小z不会到一半以后回头去Ak,因为这样从时间上想肯定是不优的,他可以早在之间经过时就AK所以我们可以将所有机房按照横坐标排序可以想到的是,我们最后肯定是要走过所有的机房,也就是说路程消耗的疲劳值是不可避免的.我们只能尽可能的减少小ZAK所花费的时间贪心的考虑,当我们在机房Ak所花费的时间长时,我们可能能在这个时间内AK更多的机房所以当时间出问题时,我们肯定要取出堆顶删除以便AK更多的机房.我们维护一个关于机房AK时间的大根堆,每次…