20161026模拟赛解题报告
20161026模拟赛解题报告
By shenben
T1
按照题目说的模拟即可
但这题有一个神坑:当25个字母都已经一一对应完毕后,剩下的两个字母默认对应。
T2
所有的逆序对之间都会连边,求最大独立点集。
表面上是个图论题,其实是个LIS
O(nlogn)求最长上升子序列的长度即可AC
T3
第一次手贱,用链表存边,这是一个稠密图啊!!应该用邻接矩阵啊。
明明可以用floyed跑,非要dfs乱搞。结果10分。玩砸了吧。
最后只改到了40分。
网上的题解(没看懂):
首先这是一个神奇的图,叫做竞赛图。大概定义就是每两点之间都有且仅有一条有向边,看这题就非常好理解了。
竞赛图有一个很好的性质:只要存在环,环中点的个数就一定大于等于3个。
证明:
根据定义,一元环和二元环显然不存在。
于是考虑多元环:
我们知道在2与6之间会有一条边,如果这条边从2指向6,那么就形成了1-2-6三元环,否则我们会发现原本的六元环变成了6-2-3-4-5组成的五元环,环变小了。
当这个环缩小到四元环时,显然2与4之间的连线无论是哪个方向都会形成三元环。
证毕。
然后我们的思路就清晰了:找到一个环,然后按照上述方式即可输出结果。
找环的方式则可以采用dfs:
选定一个mark[i]=−1(没有被遍历过)的点,以它为根向下dfs,将沿途上的点mark值设为1,若再次访问则就找到环了。
T1代码(100分)
T2代码(100分)
T3代码(40分)
__EOF__

本文作者:shenben
本文链接:https://www.cnblogs.com/shenben/p/6000712.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/shenben/p/6000712.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术