ACM_优先队列 & 堆
luke2834
A junior researcher~
展开
-
hdu 5195 BC#35 拓扑排序 优先队列 重复入队的想法 十字链表
题意 求可以删除K条边的DAG图的最大字典序的拓扑序列思路 用优先队列维护入度小于等于K的点(注意入队后,不改变K),BFS,每次看堆顶元素i的入度是否小于等于当前的K,是则K减入度,删去到i的边,继续从i搜索,否则出队,继续看堆顶元素,重复上述步骤。继续搜到的点入度如果小于等于当前K则入队,注意维护是否入队的数组,不要重复入队~注意点:(1)拓扑排序删边,不用真删,只要维护入度数原创 2015-03-30 21:10:40 · 514 阅读 · 0 评论 -
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 评论 -
leetcode 630. Course Schedule III 优先队列优化DP
题意有n节课要被安排,每节课包含两个信息(t, d),前者是课程时间(duration),后者是最晚结束时间,问你从1时刻开始安排,最多可以安排几节课。思路我们先想贪心,没有找到特别好的贪心策略,但是可以想到一个结论,就是在满足最晚结束时间一样的前提下,t 小的一定比t大的安排优先级高,可以很容易的反证一下。那么基于这个思路去想dp,先按照最晚结束时间排序,记录两个信息,s...原创 2018-03-08 02:55:08 · 469 阅读 · 0 评论