随笔分类 -  数据结构——优先队列/堆

摘要:XXXIX.[NOI2017] 蔬菜 第一眼这个奇奇怪怪的限制,想到网络流。 为了处理这个“每天坏 \(c_i\)”个的限制,我想到的方法是,第一天的 \(c_i\) 个仅能在第一天销售,就只往代表第一天的点连边;第二天的 \(c_i\) 个可以在第一天和第二天销售,故往代表第一天和第二天的点连边; 阅读全文
posted @ 2021-04-02 23:03 Troverld 阅读(49) 评论(0) 推荐(0)
摘要:XXXVII.[十二省联考2019]春节十二响 考虑一个simple的情形:假如一个点有两条链作为儿子,应该怎么样才好? 明显,同一条链上的点不能在一起,于是链上的一个点只能与另一条链上的点匹配。明显匹配应该从大往小配(两个大的配了,这样最终便少了一个较大的)。于是我们用两个堆记录两条链,每次匹配堆 阅读全文
posted @ 2021-04-02 23:00 Troverld 阅读(80) 评论(0) 推荐(0)
摘要:XXXI.CF626G Raffles 首先,我们列出“往一个奖池内多投一张彩票”,在奖项为 \(c\)、初始有 \(a\) 张、当前已经又投了 \(r\) 张时的额外收益: \(c\times\Big(\dfrac{r+1}{a+r+1}-\dfrac{r}{a+r}\Big)\) 稍微化简一下就 阅读全文
posted @ 2021-04-02 17:06 Troverld 阅读(73) 评论(0) 推荐(0)
摘要:XXX.CF505E Mr. Kitayuta vs. Bamboos “最大值最小”,条件反射套个二分上去。 于是现在问题转变成判定型问题。 正着搞不好处理 \(\max(h_i-p,0)\) 这种套了 \(\max\) 的限制,干脆正难则反,考虑倒着处理。 于是问题转变为 第 \(i\) 天开头 阅读全文
posted @ 2021-04-02 17:03 Troverld 阅读(64) 评论(0) 推荐(0)
摘要:XXI.[APIO2015]八邻旁之桥 首先先忽略所有在同侧的人,考虑异侧的人。 则明显,如果我们只在$p$位置修一座桥,则一个从某侧的$x$到另一侧的$y$的人,其一共要走的距离就是 \(|p-x|+|p-y|\) (忽略了桥长,因为桥长可以被统一计算) 于是我们发现,此时$x$和$y$是独立的。 阅读全文
posted @ 2021-04-02 16:43 Troverld 阅读(61) 评论(0) 推荐(0)
摘要:III.BZOJ3784: 树上的路径 思路1: 淀粉质。用priority_queue维护前$m$长的路径的长度。用multiset维护点分治时,之前所有子树的路径长度,然后对于新子树中的每一条路径,在multiset中从大往小枚举另一半路径拼一起并尝试加入优先队列。如果加入失败,那么对于这个点, 阅读全文
posted @ 2021-04-01 12:33 Troverld 阅读(63) 评论(0) 推荐(0)
摘要:XXX.[CTSC2012]熟悉的文章 题解 阅读全文
posted @ 2021-04-01 11:16 Troverld 阅读(43) 评论(0) 推荐(0)
摘要:CLVI.CF868E Policeman and a Tree DP是很容易想的。但是如何设计状态呢? 一开始我自己假设了一个结论:在警察出发前,所有罪犯会排成此时的最优方案,然后不动;然后在警察抓到一个罪犯后,所有罪犯会再度排成最优方案,之后就一直不动了。但是如果这样做的话 \(50\) 的数据 阅读全文
posted @ 2021-03-31 15:42 Troverld 阅读(64) 评论(0) 推荐(0)