NOI2022省选挑战赛 Contest12
T1.
求平面内两两不相交的 矩形三元组个数
一开始想着分类讨论,不过不是很可做,于是想了一下对于相交的矩形连边,不过没细想,就寄了
加入我们现在有一个很快的方式,对于原图的两个矩形如果相交就连一条边
相当于是求,这个无向图中,大小为3的独立集个数
考虑 选中的三个点 之间的边的数量,来求出ans
边数为0,即为答案
边数为3,为原图中三元环个数
边数为2,枚举每个点,然后相邻的节点选两个 减去 三元环个数
边数为1,枚举每个点,然后选一个点伸出去,然后在原图选一个点不与第一个选择点相交,最后方案数 - 2 就是1
最后 边数为0 = 总 - 3 - 2 - 1
最后只要统计,每个矩形,在原图中的 每个 度数之和即可
考虑对于一个矩形如何统计其 在新无向图里面的度数
考虑扫描线
有两类情况
令现在统计的是 now ,to是现在加进来的矩形
now的左边界先出现,那么只要在 to的左边界进去的时候,直接对左端点以及在里面的更新一下就好了
考虑将to加进去,即前面有的矩形数
考虑处理矩形——去重
可以考虑差分,就可以得到一个区间的覆盖矩形个数
即维护两颗线段树
一个维护整体加法
一个维护区间差分
然后就可以维护每个矩形的度数
T2.
sol.
没有问号,直接区间/状压dp做一下就好了
考虑有问号,就寄了
好像是之前正睿的一个加强版
之前正睿那个是 dp套dp随便搞搞
而这个就更高妙一点了
是直接在DFA上面考虑的
考虑虽然DFA的状态可以看成无限的
可以发现,在这个DFA上,很多状态都是可以相互到达的,所以就直接扬了
只用考虑长度为10的添加序列到另一个
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下