[SDOI2019] 热闹又尴尬的聚会
2024-08-25 00:28:11
热闹度\(p\)子图中最小的度数,尴尬度\(q\)独立集大小,之间的约束
\[
\begin{aligned}
\lfloor n/(p+1)\rfloor\le q
&\rightarrow \lceil(n-p-1+1)/(p+1)\rceil\le q\\
&\rightarrow \lceil(n-p)/(p+1)\rceil\le q\\
&\rightarrow (n-p)/(p+1)\le q\\
&\rightarrow n-p\le pq+q\\
&\rightarrow n<(p+1)(q+1)
\end{aligned}
\]
显然\(\lfloor n/(q+1)\rfloor\le p\)也能推出一样的不等式。
我们每次从图上选出度数最小的点,记录它的度数\(d_i\)并删除相邻的\(d_i\)个点,如此反复至无点可选,设进行了\(q\)次,显然
\[
\sum_{i=1}^q (d_i+1)=n
\]
显然存在一个热闹度\(p\)是$\max d_i $的方案1,那么
\[
(\max d_i+1)q\ge \sum_{i=1}^q(d_i+1)=n\rightarrow (\max d_i+1)(q+1)>n
\]
是满足约束的。
神题啊神题,代码留坑
设在点\(x\)取到\(\max d_i\),考虑将删除的与\(x\)相邻的那些点,显然它们的度数\(\ge\max d_i\),故方案就是与 点\(x\)和\(x\)相邻的这些点 相邻且未被删除的所有点,热闹度\(p=\max d_i\)。↩
最新文章
- Oracle创建表空间和用户
- 项目公共js(vue.js)
- JavaScript中的splice方法
- 一次失败的Selenium chromedriver切换
- 半连通分量--Tarjan/Kosaraju算法
- [AFUI]App Framework Plugins
- lintcode : 跳跃游戏
- ubuntu系统下创建软件桌面快捷方式
- css布局详解(二)——标准流布局(Nomal flow)
- thinkphp中的_get,_post,_request
- windows Azure平台开发
- iOS - 跳转到系统设置
- aircrack-ng套件学习笔记
- 文本统计器(Java)
- 【WPF】自定义鼠标样式
- tensorflow生成随机数的操作 tf.random_normal &; tf.random_uniform &; tf.truncated_normal &; tf.random_shuffle
- 使用 EWS(Exchange Web Service)协议读取邮件、发送邮件
- c#基础学习(0719)之异常处理
- 028_MapReduce中的计数器Counter的使用
- Vue v-on v-model 组合使用