【杂题乱写】牛客练习赛114

按道理来说前两天还玩了个div3,但是都会做就懒得写了。

A

倒着排序,判断一下

B

单局分胜负概率求出便可知道结束的期望轮数

C

求出来极长的段 [l1,r1][lm,rm]

那么设 fi 表示凑出来 1i˙ 所使用的最小段数(只有 rk=i 或者 i=mi 才有用)

转移找到最长的右端点是 i 的区间,中间的 fj 取最小值即可。可以通过将 ri 换成前缀 max 并把所有 fi 均合法化来实现去掉 log

D

考虑一种贪心:如果 cnti+1cnti ,那么应当将以 i 结尾的顺子缀上 i+1

于是模拟判断即可。

如果将输入牌号变成输入每张牌几张,那么可以通过修改差分数组这个角度来模拟。

E

期望线性性把总数平摊到人。期望线性性把每个人的总收益平摊到每轮的收益,这时候设 fi,j 表示前 i 轮过后,最后 j 次没有收益的概率。

还有一种想法比较出色,倒序开局,设从当前状态 fi,j 到最后结束的期望收益,初始化只有最后一轮有收益的是 1 ,其他全是 0 即可。最后答案取 f1,0

F

预处理每个前缀的最长后缀,满足这个后缀中所有数字互不相同。(尺取法)

预处理每个前缀的最长后缀,满足这个后缀呈现 ʌ 形(可以先计算以 i 为结尾的最长递增,再反向计算以 i 为开头的最长递增,拼起来)

取两种后缀中较短的就是合法区间了!

方案就是从最高的开始,两边哪个高跳哪边

G

把边权 xor 到点权上,即记每个点的点权为所有出边的边权 xor 值。把这些点权扔到线性基里面求最大异或和即可

为什么呢?构造方案的方法是对最大异或和有贡献的点涂成一种颜色,一条边如果两个端点同色,那么 xor 会被抵消

posted @   没学完四大礼包不改名  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示