【杂题乱写】牛客练习赛114
按道理来说前两天还玩了个div3,但是都会做就懒得写了。
A
倒着排序,判断一下
B
单局分胜负概率求出便可知道结束的期望轮数
C
求出来极长的段
那么设 表示凑出来 所使用的最小段数(只有 或者 的 才有用)
转移找到最长的右端点是 的区间,中间的 取最小值即可。可以通过将 换成前缀 并把所有 均合法化来实现去掉
D
考虑一种贪心:如果 ,那么应当将以 结尾的顺子缀上
于是模拟判断即可。
如果将输入牌号变成输入每张牌几张,那么可以通过修改差分数组这个角度来模拟。
E
期望线性性把总数平摊到人。期望线性性把每个人的总收益平摊到每轮的收益,这时候设 表示前 轮过后,最后 次没有收益的概率。
还有一种想法比较出色,倒序开局,设从当前状态 到最后结束的期望收益,初始化只有最后一轮有收益的是 ,其他全是 即可。最后答案取
F
预处理每个前缀的最长后缀,满足这个后缀中所有数字互不相同。(尺取法)
预处理每个前缀的最长后缀,满足这个后缀呈现 形(可以先计算以 为结尾的最长递增,再反向计算以 为开头的最长递增,拼起来)
取两种后缀中较短的就是合法区间了!
方案就是从最高的开始,两边哪个高跳哪边
G
把边权 xor 到点权上,即记每个点的点权为所有出边的边权 xor 值。把这些点权扔到线性基里面求最大异或和即可
为什么呢?构造方案的方法是对最大异或和有贡献的点涂成一种颜色,一条边如果两个端点同色,那么 xor 会被抵消
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律