ACM_贪心
luke2834
A junior researcher~
展开
-
hihoCoder1079 离散化 优先队列+贪心
描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho所在的学校举办社团文化节,各大社团都在宣传栏上贴起了海报,但是贴来贴去,有些海报就会被其他社团的海报所遮挡住。看到这个场景,小Hi便产生了这样的一个疑问——最后到底能有几张海报还能被看见呢? 于是小Ho肩负起了解决这个问题的责任:因为宣传栏和海报的高度都是一原创 2015-05-01 03:08:43 · 534 阅读 · 0 评论 -
HDOJ 5360 优先队列&简单线段树
题意 邀请n个人去玩,每个人接受邀请的条件是当前已接受邀请的人数m >= li && m 思路 这里给两个思路吧。。。比赛时想了个线段树的思路,写起来麻烦些,结果0写成了1,T掉了,还以为是复杂度估错了。。。没想到死循环了。。。醉了。。。 总体思路比较简单就是贪心,枚举人数,选择符合条件的人里面,R最小的即可。所以主要问题是怎么快速的找到当前符合条件的人里,R最小的那个人,这里给两个方案。原创 2015-08-09 17:23:45 · 384 阅读 · 0 评论 -
poj 1065 贪心 或 dp
这题弄得我心情不好。。回头我再写思路。。先贴个代码 #include #include #include #include #include using namespace std; typedef pair pii; #define mp make_pair #define fi first #define se second const int maxn = 5005; c原创 2015-11-09 13:31:54 · 306 阅读 · 0 评论 -
Codeforces 509C. Sums of Digits 贪心 + 模拟
思路 各种特判!我真是醉了。。。卡了这么长时间。。。 实现#include <iostream> #include <cstring> #include <cstdio> #include <vector> using namespace std; vector<int> ans , pre; int b[302]; int n; void init(int b){ ans.clear();原创 2015-12-22 01:58:56 · 481 阅读 · 0 评论 -
hdu4864 贪心+平衡二叉搜索树(map)
题意 n个机器,m个任务,每个机器最多做一个任务,每个任务最多被一台机器做 每个机器和任务有两个属性,x和y,机器这两个属性都分别大于等于任务的这两个属性时才可做该任务。 问最多能做多少任务。 另外,一个任务完成挣500x+2y的钱数,在任务数达到最多的前提下,问你挣得最多的钱数。 思路 贪心,把任务和机器分别按两个属性从大到小排序,x是第一优先级,y是第二 遍历任务和机器,对每个任务,所有机器的x原创 2015-12-08 19:41:04 · 1126 阅读 · 0 评论 -
Leetcode 11 Container With Most Water
题意 就是在一个横坐标轴上,[0, n-1]每一个位置各立一个高为hi的柱子 让你,选择两个柱子,使得两个柱子和横坐标围成的容器可以存最多的水 思路 比较容易想到,两个柱子较低的那根决定了存水量 一种朴素的想法是,把每根柱子作为最短的那根,找到离它最远的那根比它高的柱子,得到一个存水量,遍历每一根就可以得到最大存水量 这样朴素来做,是O(n^2)的 基于这个思路,优化一下,可以想到,我们先把柱子从低原创 2016-06-25 17:47:55 · 345 阅读 · 0 评论