【题解】Solution Set - NOIP2024集训Day62 贪心

【题解】Solution Set - NOIP2024集训Day62 贪心

https://www.becoder.com.cn/contest/5678


「USACO2009 Feb」庙会捷运(Fair Shuttle G)

手玩了几组数据之后,感觉右端点小的点会更优。于是按右端点排序之后,每次尽可能的选择这个区间。

20min

好的,没过样例。

好的,我是对的,但是实际上的区间应该是 \([s,e)\) ……

好的,暴力过了。线段树维护一下就行了。


「SDOI2019」热闹的聚会与尴尬的聚会

目标 \(\Leftrightarrow n\le(p+1)q+p\wedge n\le(q+1)p+q\Leftrightarrow n\le pq+p+q\)​。

形式化题意可以见:https://www.luogu.com.cn/article/c6ek3q6v

于是我们想让 \(p,q\) 都尽量的大。

\(q\) 就是最大独立的点集大小。虽然但是一般图的最大独集是 NP 完全的啊,不要慌张,本题只要求构造出一组解。

先把 \(q\) 放一边,考虑 \(p\) 的最大值。

考虑二分。

我们把度数 \(< mid\) 的点删去并更新度数,然后重复这个过程,最终如果有点剩余则合法。

这样的 check 应该是 \(O(m\log m)\) 的。吧。

(实际上二分都用不到,用堆维护,每次按度数从小到大删点,更新答案就行了。

然后就能算出 \(p\) 的最小值。

接着继续口胡:每次把度数最小的放进独立集,然后删去相邻的点,这看上去很优。

https://www.luogu.com.cn/article/c6ek3q6v

然后根据题解发现这是对的,但是不会证

“你每次加入一个度数最小的点时,它的度数一定不超过 \(p\),否则当前剩余的点就是第 \(1\) 问的一个更优的解。”

于是这样的 \(q\) 一定满足 \(q\ge \dfrac n{p+1}\)

23min



「清华集训 2017」小 Y 和二叉树

首先选取的根度数一定 \(\le 3\),而叶子节点度数一定 \(\le 1\)(废话。

14min


「AGC049C」Robots

整破防了……今天耗时最久的一道题了。

主要是一个球被改编号之后可能会重复利用。

posted @ 2024-10-28 09:12  CloudWings  阅读(6)  评论(0编辑  收藏  举报