【题解】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
整破防了……今天耗时最久的一道题了。
主要是一个球被改编号之后可能会重复利用。