首页 > 其他分享 >YC262B [ 20240321 CQYC省选模拟赛 T2 ] 倒水(water)

YC262B [ 20240321 CQYC省选模拟赛 T2 ] 倒水(water)

时间:2024-03-27 12:11:34浏览次数:21  
标签:倒水 省选 到达 平台 T2 water 淹没 端点 区间

题意

一面墙上有 \(n\) 个平台,每个平台是一条连接 \((h_i, l_i)\) 与 \((h_i, r_i)\) 的线段。

其中 \(l_i, r_i\) 组成一个 \([1, 2n]\) 的排列。

你需要按照某种顺序淹没这些平台,每淹没一个平台,水会顺着线段的两个端点垂直下落。

假设每次淹没的水是无限的,若当前的平台没有水,则在当前平台上倒水。

求所有淹没方案的倒水次数的期望。

\(n \le 5 \times 10 ^ 5\)

Sol

很显然,对于每个平台能到的下一个平台建图。

得到一个 DAG。

平凡地,考虑期望转概率。

注意到一个平台 \(x\) 有贡献当且仅当在排列 \(p\),\(|p| = n\) 中,所有能够到达 \(x\) 的平台都排在 \(x\) 的后面。

集中注意力,设能到达 \(x\) 的平台有 \(k\) 个,如果我们单独将这 \(k\) 个数字拿出来排列。

不难发现可以合法的方案数显然为 \((k - 1)!\)。

考虑原问题,不难发现方案数显然为 \(\frac{n!}{k}\)。

乘上期望后就没有上面那个 \(n!\) 了,所以问题转化为:求一个 DAG 上每个点能被多少个点到达的逆元之和。

注意到这个问题显然是不可做的,最优的做法是使用 bitset 传递闭包。

可以获得 \(n \le 10 ^ 5\) 的分数。

简单手摸一下可以得到这张图。

注意到中间被左右两个端点覆盖的区间一定都产生贡献。

每一次向上跳都会扩大区间,注意到若当前区间若被 \(w\) 覆盖,会导致上面所有的区间都无法到达 \(u\)。

考虑区间 \(v\),能到达 \(u\) 的区间的右端点最大的区间。

注意到 \(w\) 必定满足为 \(u\) 的下一次跳跃的区间。

对于 \(u\),考虑刚才 bitset 传递闭包的做法,可以直接求得。

接下来的事情就很简单了。

如何求得阴影部分的贡献?

使用右边界以左的区间数减去左边界以左的区间数即可。

考虑倍增维护每一次跳跃左边产生贡献的区间数,离线下来跑一边树状数组即可。

时间复杂度:\(O(n \log n)\)

标签:倒水,省选,到达,平台,T2,water,淹没,端点,区间
From: https://www.cnblogs.com/cxqghzj/p/18098673

相关文章

  • test2024.3.21
    多边形题意:有一个长度为\(n\)的\(0/1\)序列,有\(m\)次操作\(u_{i},v_{i}\),若\(a_{u_{i}}=1,a_{v_{i}}=0\)则交换。询问对于\(1,2,\dots,n\)中的每个\(k\),有多少种初始状态,满足恰好有\(k\)个\(1\),并且经过\(m\)次操作后,所有\(1\)形成了一个区间。答案对\(2\)......
  • 联合省选 2024 题解
    魔法手杖考虑判定答案是否可以大于等于\(t\)。观察\(a_i\oplusx<t\)的情况,可以发现满足要求的\(x\)分为若干段:最高\(u\)位为\(a_i\oplust\)的最高\(u\)位;接下来这一位\(t\)为\(1\),且\(x\)取值为\(a_i\)这一位的取值;更低的位随意。这事实上相当于:我们往0......
  • YC263A [ 20240324 CQYC省选模拟赛 T1 ] 光晕 (halation)
    题意给定一个数组\(a\),每次进行以下操作。选择一个\(1\lex\len\),将\(a_x:=(a_x-2^{c_x})\times2\),然后\(c_x:=c_x+1\)如果通过这个操作使得\(a\)严格递增,则\(a\)是好的。你希望找到一个长度为\(n\)的好的数组,使得\(\suma_i\)最小,且她的字典序......
  • HZOI初三奥赛模拟测试3-T2
    \(HZOI\)初三奥赛模拟测试\(3-T2\)题目描述给定序列\(a_1,a_2,\dotsa_n\),现在可以选择删除一些数,使得删除后\(\sum[a_i=i]\)最大做题历程一下午就做了这一个题,打到最后才发现时间复杂度\(O(\frac{n^2}{2})\)过不去,没时间优化了,最后\(73pts\),赛时最高,好像因为我多剪......
  • 在Flink 1.11中,assignTimestampsAndWatermarks方法已经被新的方法assignTimestamps和a
    在Flink1.11中,assignTimestampsAndWatermarks方法已经被新的方法assignTimestamps和assignWatermarks所替代。这是为了更好地将时间戳和水位线的定义分离开来以下是使用新API的示例代码:importorg.apache.flink.api.common.eventtime.WatermarkStrategy;importorg.apache.fli......
  • citect2018R2学习笔记:Citext.textbox控制字体
    新浪那边的审查真的严格,一晚上了,一篇学习笔记还是没有过审,在这里也发表一次吧。前两天群里面有个哥们咨询怎么控制Citext.textbox控件的字体,我尝试着做了练习,还是比较简单的。假设Citext.textbox控件编号是AN4,写下面的脚本:FUNCTIONCitext_Fontini()OBJECTcitextcitext=Obje......
  • 2017 各省省选做题笔记
    AHOI/HNOID1T1单旋不会哦,感觉这题最难。D1T2影魔考虑计算每个位置作为\([l+1,r-1]\)中的最大值时的贡献,一定是有一端取到了左边第一个比自己大的或者右边第一个比自己大的,可以用单调栈求出所有的有效点对,是线性的,然后做一遍二维数点即可。D1T3礼物首先考虑不做修......
  • YC262A [ 20240321 CQYC省选模拟赛 T1 ] 多边形(polygon)
    题意有一个由\(0/1\)组成的字符串\(S\)。给你\(m\)次操作。假如\(S_{u}=1\)且\(S_{v}=0\),则交换\(S_{u},S_{v}\)。假如对于所有的\(S\),使得最终字符串\(S'\)的所有\(1\)相邻。请输出\(1\)的个数为\([1,n]\)的\(S\)的方案数。答案对\(2\)取模。......
  • 联合省选2024游记
    联合省选2024游记因为这是省选后114514三周后,为了庆祝我的笔记本电脑到了而写的,所以有很多东西都记不清了(因为在赶稿,总之先写到这,后面如果想起什么再补day-1下午五点放学,回家!顺便把机房前几天中午吃乡村基时外卖的两个大盒子给薅走了,给家里的两只猫猫\(CQ\)就是好,考省选也......
  • IT24765: TIMING ISSUE IN PACKAGE CACHE WORKSPACE MAY CAUSE PANIC
    IT24765:TIMINGISSUEINPACKAGECACHEWORKSPACEMAYCAUSEPANIChttps://www.ibm.com/mysupport/s/defect/aCI0z0000004vGZ/dt076912?language=fiDescriptionThere is a timing issue where there is a brief moment in time   that the state of ......