csp-s模拟测试91

csp-s模拟测试91

  倒悬吃屎的一套题。

  $T1$认真(?)分析题意发现复杂度不能带$n$(?),计划直接维护答案,考虑操作对答案的影响,未果。突然发现可以动态开点权值线段树打部分分,后来$Tm$一想这不傻逼开个桶吗所以暴力维护只拿了一个部分分。$T2$ $qnmd$ $sb$期望老子不会。 $T3$哎$ST$表怎么打来着我忘了(?)。自闭到考试结束。

  

65
02:56:12
0
02:56:27
24
02:57:10
89
02:57:10

哎?我对$T2$充满信仰出题人你的良心数据去哪了?


A. Dove 打扑克

  当你知道同时只存在$sprt(n)$个集合的时候你就会切掉他了。可以简单的用$set$实现,也可以数组模拟,也可以想我一样用帅气又方便(?)的$vector$,积累一个$insert$操作。


B. Cicada 与排序

  %%%$hzoi$ _ $yzh$大聚聚。

  定义$f[i][j]$为在递归的第$i$层,原序列的某一个数在$sort$到当前为止在$j$这个位置的概率。

         $g[i][j]$为两个指针分别在$i,j$的概率。

  最外层枚举$1->n$每个位置然后分别进行$Dp$

  然后转移就简单,每次从第$i+1$(儿子层)转移就好了。


C. Cicada 拿衣服

  优化暴力可$A$,但是我最近突然有素质所以我打的正解。

  考虑单调性,在一定的区间范围内是有单调性的。可以发现对于$Or-And$相同的一个区间的$Min-Max$可以二分,并且这样的区间数量是$log$级别的,所以用链表处理出来这些区间,一部分一部分二分找到最大合法区间。线段树(我不会别的)区间修改取$max$就好了。


 

我是一个在黑暗中大雪纷飞的人呐                  ——木心

 

猜你喜欢

转载自www.cnblogs.com/bilibiliSmily/p/11758647.html