![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
堆
Hany01
这个作者很懒,什么都没留下…
展开
-
AGC 018 C Coin (堆)
Description有X+Y+ZX+Y+Z个人,每个人有一定的金、银、铜币,你可以向XX个人要金币,向YY个人要银币,向ZZ个人要铜币,且不能向同一个人要两种不同的钱币,问能拿到的钱币数量的最大值。Solution按金币减去银币的数量从小到大排序: 在这个顺序下,最佳方案中所有给予金币的人都在给予银币的人的右边。(想一想,为什么) 存在整数K使得:左边的K个人中,有Y个给银币的人,(K-Y)个原创 2017-11-03 20:47:16 · 517 阅读 · 0 评论 -
【BZOJ5289】【HNOI2018】排列(堆,并查集)
Description click me Solution 将问题转化为:给定一棵树,要求将所有点排成一个排列,在父亲必须在儿子前面的情况下使得每个点的位置乘以该点权值的和最小。 然后就是poj2054的套路了。。。 先将所有点看成很多个数列,然后考虑怎么合并。 将平均值作为权值,每次合并最小的即可。 可以用pbds堆(兹磁修改)和并查集维护。 Code /*...原创 2018-04-23 09:27:52 · 244 阅读 · 0 评论 -
【BZOJ2151】种树(堆,贪心)
Description A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树。园林部门得到指令后,初步规划出n个种树的位置,顺时针编号1到n。并且每个位置都有一个美观度Ai,如果在这里种树就可以得到这Ai的美观度。但由于A城市土壤肥力欠佳,两棵树决不能种在相邻的位置(i号位置和i+1号位置叫相邻位置。值得注意的是1号和n号也算相邻位置!)。最终市政府给园林部门提供...原创 2018-08-08 17:43:29 · 267 阅读 · 0 评论