AtCoder Beginner Contest 295
1|0A - Probably English
2|0B - Bombs
3|0C - Socks
4|0D - Three Days Ago
如果一个子区间内所有的数都只出现偶数次的话,就一定 happy 的。
我们用一个十位的二进制来表示前缀中每个字母出现了奇数次还是偶数次。这个实际上可以用前缀异或和来维护。
那么我们只需要统计这个十位二进数每种出现了多少次,然后对每一种求一个即可
5|0E - Kth Number
设第大的数字是则题目要求的就是
这样转换的好处就是算的时候比较方便,我们直接枚举 的值,然后统计数列中的值即可。
如果已经有大于等于个数大于等于,则概率为,因为不用操作第个数也大于。
如果已经有大于个数小于,则概率为 0。
如果都不满足的话,就可以通过操作是条件满足,设表示当前大于的个数,表示把一个 0 变成大于的概率,表示的个数,概率是
把所有的概率求和就是答案
6|0G - Minimum Reachable City
当加边(u,v)
的时候保证了(v,u)
已经联通了,此时有两种情况如果(u,v)
已经联通了,此时加边对结果实际上是没有影响的,可以忽略。另一种情况是不联通,那么此时等价于将(v,u)
之间的路径全部建一遍反向边。
所以这个问题就可以用并查集来维护联通性,同时保证根节点是该联通块中最小的一个,所以要注意加边和并两个集合的方向。
在一开始,我们就只是存一下反向边,当需要加(u,v)
就从u
开始一路加反向边直到u,v
联通,回答的时候直接回答该点所在联通快递根节点即可。
__EOF__

本文作者:PHarr
本文链接:https://www.cnblogs.com/PHarr/p/17266778.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
本文链接:https://www.cnblogs.com/PHarr/p/17266778.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
标签:
atcoder
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】