Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays
2021/7/15 6:06:10
本文主要是介绍Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
原题链接:https://codeforces.com/contest/1550/problem/D
分析:
引入图论,1~n为点,当ai+aj=i+j时,在i和j之间连一条边;要满足ai!=i,只需要不存在奇圈;要使边数最多,即构造点集大小相差为0或1的完全二部图;
初始时,令ai=i
对k = 1, 2, ...,令二部图里一个部分里的所有数+k,另一个部分里所有数-k,直到这个部分里出现超过[l,r]范围的数;
显然,上述过程的终止只与每个部分里的min和max有关;
于是,我们枚举二分图每个部分里的min和max,计算这种情况下+k和-k分别能到多少,累加起来乘上满足这个min和max限制的二分图的个数;
更进一步,我们可以枚举max-min,复杂度O(n)
这篇关于Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01AntDesign-icons学习:入门级教程详解
- 2024-09-30Fetch / Axios学习:新手入门教程
- 2024-09-30Pre-commit 自动化测试学习:从入门到实践
- 2024-09-29document对象教程:新手入门指南
- 2024-09-29端到端的 AWS DevOps 项目:使用 ECR 和 RDS 的 ECS Fargate 的 CI/CD 管道
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享