ZROI 19.08.10模拟赛
写在前面:为了保护正睿题目版权,这里不放题面,只写题解。
- A
\(20pts:\)
枚举操作序列然后暴力跑,复杂度\(O(6^n)\)。
\([50,80]pts:\)
枚举改成dfs,每层操作后还原。复杂度\(O(3^n)\)。
全0或全1可以直接返回。
写法优秀可以过\(80pts\)。
\(100pts:\)
类似非递归fft的写法,bitrev后可以位运算优化。
最下面四层可以预处理,复杂度\(O(3^{n-4})\)。
然后疯狂卡常就完事了(
然而由于swk人菜常数大,明明所有剪枝都加上了仍然挂掉了qwq
破案了,原来swk太菜了,在递归的每一层都重构了一遍结构体,结构体里还用了vector,于是多了\(12\)倍常数,就死掉了。
- B
\(80pts:\)
枚举最小差,设为\(d\)。
统计最小差大于等于 \(d\) 的集合最大差之和,发现对于一个最小差为\(x\)的集合,它的最大差刚好被统计了\(x\)次。
直接dp,设\(f_i\)表示前\(i\)个元素,且第\(i\)个元素必选的最大差之和。转移时需要一堆前缀和。我代码写的特别诡异
\(100pts:\)
仍然枚举\(d\),对每个\(d\)枚举集合元素个数\(x\),发现\(dx\leq n\),所以枚举复杂度为\(O(n\log n)\)。
然后随便组合数一下就可以了。
发现集合中的最大值和最小值是对称的,可以分开算。
考虑枚举最小值为\(c\),则方案数为\((^{n-c-x(d-1)}_{~~~~~~~~x-1})\)。即选中\(x\)个元素,在它们后面附带\(d-1\)个额外的空格,其中位于位置\(c\)的元素必须被选中,且前面不能有任何被选中的元素,可以直接把这个元素删掉。
设\(a=n-x(d-1),b=x-1\),则总贡献为\(\sum_{c=1}^{a-b} c\cdot (^{a-c}_{~~~b})=\sum_{c=b}^a (a-c)\cdot (^c_b)=\sum_{c=b}^a (a+1)\cdot(^c_b)-(c+1)\cdot (^c_b)\)。
将后半部分拆开,得到\((c+1)\cdot (^c_b)=\frac{(c+1)c!}{b!(c-b)!}=(b+1)\frac{(c+1)!}{(b+1)!(c-b)!}=(b+1)\cdot(^{c+1}_{b+1})\)。
代回上式,得到\(\sum_{c=b}^a (a+1)\cdot(^c_b)-(b+1)\cdot (^{c+1}_{b+1})=(a+1)\cdot(^{c+1}_{b+1})-(b+1)\cdot(^{c+2}_{b+2})\)。可以\(O(1)\)计算。
- C
swk完全不会做找观察题所以光荣爆零了。然而大家都切了这道题,所以swk菜死了。
一个很重要的结论就是每个点只会往上走。
感性理解下就是越往上边就越稀疏。
于是每个点只有\(O(\log)\)个点与它相关,建出边直接跑就可以了。
上面的写法比较麻烦。好写一点的方法是,两个点必然在lca附近相遇。对每个点可以算出向上不经过桥最近的祖先,贪心地找最高的祖先即可。需要特判两个点在祖先的两侧相遇的情况。
ZROI 19.08.10模拟赛的更多相关文章
- ZROI 19.08.07模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 ...
- ZROI 19.08.09模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(70pts:\) 维护一个栈,从一侧向另一侧扫描,如果新加入的元素与当前栈顶相同,则出栈,否则进栈.显然一个子串是括号序列,当 ...
- ZROI 19.08.06模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽 ...
- ZROI 19.08.04模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "这应该是正睿OI历史上第一次差评破百的比赛." "这说明来正睿集训的人越来越多了." &qu ...
- ZROI 19.08.12模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "我发现问题的根源是大家都不会前缀和."--敦爷 A 敦爷spj写错了,差点把蒟蒻swk送走 \(50pts:\) ...
- ZROI 19.08.11模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. dlstql,wsl A \(10pts:\) \(a=100,T=100\),对每个排列构造一个反的,一步到位即可. \(20pts ...
- ZROI 19.08.05模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(21pts:\) 随便枚举,随便爆搜就好了. \(65pts:\) 比较显然的dp,设\(f_{i,j,k}\)表示在子树\( ...
- ZROI 19.08.08模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A ...
- ZROI 19.08.02 杂题选讲
给出\(n\)个数,用最少的\(2^k\)或\(-2^{k}\),使得能拼出所有数,输出方案.\(n,|a_i|\leq 10^5\). 显然一个绝对值最多选一次.这个性质非常强. 如果所有都是偶数, ...
随机推荐
- PP相关号码范围IMG设定
一.定义订单号码范围——CO82 IMG> 生產> 現埸控制 > 主檔資料 > 訂單 > 定義訂單號碼範圍 可看到目前工單所訂義的區間(注意, 工單的號碼區間和CO的內部 ...
- pip install dal 失败问题
这个问题是我在看一本<Django企业开发实战>运行其中一个项目时遇到的 作为一个自学的python 这种问题挺头疼的 这不是代码逻辑的问题 没法像Debug 一样去找问题 我们能依据的 ...
- 【miscellaneous】监狱智能视频监控系统设计解决方案
监狱智能视频监控系统设计解决方案 一.系统概况 随着司法监狱管理系统内视频监控系统的日益发展,现有的被动式人工监控这一传统模式已无法满足新形势下的监管工作需求,尤其是现在靠轮询的视频监控方式,无法对突 ...
- htc 手机
是否解锁locked unlocked 然后刷入REC
- Spring Boot 2.0 多数据源编程
多数据源配置 创建一个Spring配置类,定义两个DataSource用来读取application.properties中的不同配置.如下例子中,主数据源配置为spring.datasource.p ...
- Linux下面MariaDB 管理命令基础使用
MariaDB 是 MySQL 的一个分,由于某些原因,使之取代了Mysql成为了 RHEL/CentOS 7 的默认数据库.针对数据库的操作我们经常做的操作就是增删查改,接下来就介绍下 MariaD ...
- MySQL -3- 基础应用
1.数值类型 TINYINT --极小整数SMALLINT --较小整数MEDIUMINT --中型整数INT --常规整数BIGINT --较大整数FLOAT --小型单精度DOUBLE --常规双 ...
- nodejs 写服务器解决中文乱码问题
nodejs 写服务器解决中文乱码问题:https://blog.csdn.net/worldmakewayfordream/article/details/77483423 本文链接:htt ...
- 洛谷 P2384 最短路 题解
题面 这道题需要用到一个神奇的知识点:log(n*m)=log(n)+log(m): 所以对所有边权取个log,然后算log的最短路的同时维护乘积即可 #include <bits/stdc++ ...
- springboot2.0结合fastdfs实现文件分布式上传
1. 引入依赖 在父工程中,我们已经管理了依赖,版本为: <fastDFS.client.version>1.26.7</fastDFS.client.version> 因此, ...