传送门


首先设\(P = lcm(r_i + g_i)\),因为\(P \mid 2019!\),所以在\([0,2019!]\)里随机实数相当于在\([0,2019!)\)随机实数,相当于在\([0,P)\)内随机整数。

需要求出被每扇门关住的概率,不妨算出通过前若干扇门的概率后差分。求出通过前\(i\)扇门的概率相当于\(i\)个模意义下的区间求交,可以做到\(O(NP)\)但是显然太慢。

考虑:有两个模意义下的方程\(x \in S_1 \mod P\)和\(x \in S_2 \mod Q\)且\(P \perp Q\),则由中国剩余定理可知,如果同时满足这两个条件的数集是\(x \in S \mod PQ\),那么\(|S|=|S_1||S_2|\)。这提示着我们两个互质的是独立的,可以独立计算概率。

同时如果\(P \mid Q\)或者\(Q \mid P\),可以快速使用bitset合并。那么假如所有\(r_i + g_i\)都能写成\(p^k\)的形式就可以快速计算答案。

但实际上并不是这样,所以考虑转化模数。

枚举\(a \in [0,X)\),将开始时间等于\(t = kX + a(k \in Z)\)的所有时间点放在一起做。在上面的做法中\(X = 1\),在这里不可行。可以注意到:\(kX + a \in S \mod p\)只和\(k \mod \frac{p}{\gcd(p , X)}\)有关,只需要让所有\(\frac{p}{\gcd(p,X)}\)只存在一个质因子即可满足上面的条件。可以求出最小的\(X = 2520\)。

这样我们可以枚举\(k\)在\([0 , \frac{p}{\gcd(p , X)})\)中的合法值,再按照上面的做法做。

只需要较为精细的实现就可以做到\(O(100XN)\)的复杂度,加上bitset可以获得\(\frac{1}{w}\)的常数优化。

代码

LOJ6587 WF2019 交通堵塞 CRT、bitset的更多相关文章

  1. BZOJ_1018_[SHOI2008]_交通堵塞traffic_(线段树)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1018 \(2*n\)的距形,起初没有边相连,之后有三种操作: 1.加边. 2.删边. 3.询问 ...

  2. BZOJ1018[SHOI2008]堵塞的交通——线段树

    题目描述 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所以总 ...

  3. BZOJ1018 [SHOI2008]堵塞的交通traffic

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  4. 【BZOJ】【1018】【SHOI2008】堵塞的交通traffic

    线段树 这题的线段树+分类讨论蛮神奇的……我以前学的线段树简直就是渣渣QAQ 看了下ydc题解里的思想>_>用线段树维护连通性!那么就自己写吧……每个节点表示一段区间的连通性(我的叶子节点 ...

  5. 1018: [SHOI2008]堵塞的交通traffic - BZOJ

    Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一 ...

  6. BZOJ 1018 堵塞的交通

    Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一 ...

  7. 数据结构(线段树):BZOJ 1018: [SHOI2008]堵塞的交通traffic

    1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 2638  Solved: 864 Descri ...

  8. BZOJ 1018 [SHOI2008]堵塞的交通traffic

    1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 2247  Solved: 706[Submit ...

  9. BZOJ 1018: [SHOI2008]堵塞的交通traffic [线段树 区间信息]

    1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 3064  Solved: 1027[Submi ...

随机推荐

  1. 【JZOJ6218】【20190615】卖弱

    题目 题解 我写的另一种方法,复杂度是\(O(Tm+nm)\)的,这是huangzhaojun写的题解... #include<cstring> #include<cstdio> ...

  2. mysql cos() 函数

    mysql> ); +--------------------+ | cos(PI()/) | +--------------------+ | 0.5000000000000001 | +-- ...

  3. Mybatis 面试题

    题目: 什么是Mybatis?  Mybatis27题 Mybaits的优点 Mybatis27题 MyBatis框架的缺点 Mybatis27题 MyBatis框架适用场合Mybatis27题 My ...

  4. AOP注解方式ApsectJ开发

    AOP注解方式ApsectJ开发 引入配置文件 编写切面类配置 使用注解的AOP对象目标类进行增强 在配置文件中开启以注解形式进行AOP开发 在切面类上添加注解 注解AOP通知类型 @Before前置 ...

  5. Xamarin图表开发基础教程(9)OxyPlot框架

    Xamarin图表开发基础教程(9)OxyPlot框架 OxyPlot组件构成 OxyPlot组件主要由两个类构成,分别为PlotView和PlotModel.这两个类我们在上文中也使用到了.本节将讲 ...

  6. odoo开发笔记--form视图按钮样例

    如图: 对应后台views视图,class可选内容值: class="oe_highlight" class="btn-xs" class="btn- ...

  7. centos6.10环境安装nodejs8.2.1

    操作系统为centos6.10,在安装nodejs最新版本的时候报错,依赖glibc的高版本和gcc高版本,还要安装python2.7,操作系统上已经跑了很多应用,升级gcc风险过大,采用相对保守的方 ...

  8. (转)Python3的四舍五入round()函数坑爹?不,更科学!

    原文:https://blog.csdn.net/lly1122334/article/details/80596026 Python3的四舍五入round()函数坑爹?不,更科学!Python2中, ...

  9. pycharm 2019.2 安装包失败

    简介: 最近使用学生账号注册了pycharm,貌似全家桶都可以免费用了,就升级了pycharm到最新版. 但是在使用包管理,安装包的时候出错了 提示没有匹配的版本,下面还提示一个 --trusted- ...

  10. 一起学习epoll

    epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获 ...