LOJ6587 WF2019 交通堵塞 CRT、bitset
首先设\(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的更多相关文章
- BZOJ_1018_[SHOI2008]_交通堵塞traffic_(线段树)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1018 \(2*n\)的距形,起初没有边相连,之后有三种操作: 1.加边. 2.删边. 3.询问 ...
- BZOJ1018[SHOI2008]堵塞的交通——线段树
题目描述 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所以总 ...
- BZOJ1018 [SHOI2008]堵塞的交通traffic
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 【BZOJ】【1018】【SHOI2008】堵塞的交通traffic
线段树 这题的线段树+分类讨论蛮神奇的……我以前学的线段树简直就是渣渣QAQ 看了下ydc题解里的思想>_>用线段树维护连通性!那么就自己写吧……每个节点表示一段区间的连通性(我的叶子节点 ...
- 1018: [SHOI2008]堵塞的交通traffic - BZOJ
Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一 ...
- BZOJ 1018 堵塞的交通
Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一 ...
- 数据结构(线段树):BZOJ 1018: [SHOI2008]堵塞的交通traffic
1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 2638 Solved: 864 Descri ...
- BZOJ 1018 [SHOI2008]堵塞的交通traffic
1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 2247 Solved: 706[Submit ...
- BZOJ 1018: [SHOI2008]堵塞的交通traffic [线段树 区间信息]
1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 3064 Solved: 1027[Submi ...
随机推荐
- Apache2 服务配置 ubuntu16.04 + django1.11
(步骤) 环境 Ubuntu 16.04 Python 3.5.2 Django 1.11 Apache 2.4 1.Apache2安装 sudo apt-get install apache2 查看 ...
- PHP base_convert() 函数
16进制转8进制 <?php $hex = "E196"; echo base_convert($hex,,); ?> 8进制数转换为10进制数 <?php $o ...
- python3 报错UnicodeEncodeError
在ubuntu执行python3的时候,出现 UnicodeEncodeError: 'latin-1' codec can't encode characters in position 10-18 ...
- Make sure you've included captcha.urls as explained in the INSTALLATION section on
原因:django-simple-captcha将客户端编号与验证码默认存储在数据库中 解决办法: python manage.py migrate
- sprintf格式化字符串漏洞(转)
深入解析sprintf格式化字符串漏洞 特征: 如何利用: 可以看到, php源码中只对15种类型做了匹配, 其他字符类型都直接break了,php未做任何处理,直接跳过,所以导致了这个问题: 没做字 ...
- tensorflow到底难不难写
发信人: xhsoldier01 (风大人), 信区: ITExpress 标 题: Re: 没有GPU,tensorflow,AI公司都得死掉 发信站: 水木社区 (Thu Oct 10 20:25 ...
- win 10 关闭或打开 测试模式
一.关闭测试模式 方法: 以管理员身份运行 cmd 运行:bcdedit /set testsigning off 重启电脑 二.开启测试模式 以管理员身份运行 cmd 运行:bcdedit /set ...
- Android adb临时关闭Selinux
在eng/userdebug版本中 使用getenforce 命令查询当前权限状态,如:adb shell getenforce 使用setenforce 命令进行设置:adb shell seten ...
- asp.net core 获取appsettings.json里的配置
public GoodsController(IConfiguration configuration) { Configuration = configuration; UpFileDir = Co ...
- 【docker】 yaml.scanner.ScannerError: mapping values are not allowed here in "./docker-compose.yml", line 60, column 35
在启动docker-compose 时候 报错了 命令: docker-compose up -d && docker-compose logs -f 错误代码: 解决 出现这个错误的 ...