ZROI 19.08.08模拟赛
写在前面:为了保护正睿题目版权,这里不放题面,只写题解。
首先恭喜swk今天翻车!
“小心大样例演你。”——天祺鸽鸽
果然swk今天被大样例演死了,天祺鸽鸽诚不欺我!
- A
这题标程是前几天ACM赛的双栈背包……
然而可以排序之后直接背包,\(O(nm)\)随便过(
- B
菜 swk 菜
发现答案就是子串中最长border,即串长减去最短循环节。
每个字母是独立的,可以分开计算答案。
对第\(i\)个字母,设循环节循环次数为\(k\),在循环节内的长度为\(f_i\),剩余的长度为\(g_i\),则存在\(f_i\cdot k+g_i=c_i\),此时\(i\)对答案的贡献为\(f_i (k-1)+\min(f_i,g_i)\)。
\(40pts:\)
有一个假做法在\(n=2\)时是对的,但是陈主力也不知道为什么。
考虑枚举\(k\)。直觉想到可以贪心地令\(f_i\)最大,即\(f_i=\lfloor\frac{c_i}k\rfloor\)。
然而在\(n>2\)时就会出锅。
反例大概是\(k\leq 3\)时,贪心的使\(f_i\)最长,会因为第一个循环节被剪掉导致答案变小。
\(70pts:\)
仍然要枚举\(k\),但是需要确定\(f_i\)的最优取值。
分两种情况讨论:\(f_i< g_i\)和\(f_i\geq g_i\)。
第一种情况,\(ans=f_i\cdot k\),即\(f_i<g_i\)时,\(f_i\)越大越优。
此时有\(f_i<g_i=c_i-f_i\cdot k\),移项得\(f_i\cdot (k+1)<c_i\),即\(f_i=\lfloor\frac{c_i}{k+1}\rfloor\)时最优。
第二种情况,\(ans=f_i\cdot (k-1)+g_i\)。
考虑在保持\(f_i\geq g_i\)的情况下,令\(f'_i=f_i-1\),则\(g'_i=c_i-f'_i\cdot k=c_i-(f_i-1)\cdot k=g_i+k\),代入上式得\(ans'=(f_i-1)\cdot (k-1)+g_i+k=f_i\cdot (k-1)+g_i+1=ans+1\)。
我们惊喜地发现,使\(f_i\)减小之后,\(ans\)增大了。即\(f_i\geq g_i\)时,\(f_i\)越小越优。
此时有\(f_i\cdot(k+1)\geq c_i\),即\(f_i=\lceil\frac{c_i}{k+1}\rceil\)时最优。
枚举\(k\),对每个\(k\)取两个值计算。复杂度\(O(\max(c_i)\cdot n)\)。
\(100pts:\)
发现对于每个有若干互不相交的\([l_i,r_i]\),使得对于任意\(k_i\in [l_i,r_i],j\in [1,n]\),\(\lfloor\frac{c_j}{k_i+1}\rfloor,\lceil\frac{c_j}{k_i+1}\rceil\)的值是相等的。
这启发我们使用整除分块,对每个区间只算一次。由某些数论知识可知,这样的区间最多只有\(O(\sum\sqrt {c_i})\)个。时间复杂度\(O(n\cdot\sum\sqrt{c_i})\)。
- C
\(10pts:\)
取反、左移、右移。
\(25pts:\)
位运算实现a+b:xor,and,左移\(1\)位,递归即可。
\(40pts:\)
把每一位取出来之后直接加,最多迭代\(6\)次即可。
\(65pts:\)
发现将\(x\) xor \(y\)的最高位提取出来就可以解决。
设\(x\) xor \(y=a\) ,对于\(i\in [1,\log_2 64)\),执行\(a |=(a>>2^i)\)。
如此操作后,\(a\)的最高位以下的位全都赋为了\(1\)。xor一下就好了。
\(80pts:\)
做法类似上个子任务,方向反过来即可。需要卡一卡常数。
\(100pts:\)
发现需要实现\(\min(x,y)\)。
\(\min(x,y)=[x<y]\cdot x+[x\geq y]\cdot y\),发现需要实现一个数乘以\(0/1\)。等价于and上 \(0/2^{64}-1\),用子任务\(4\)的方式解决即可。
ZROI 19.08.08模拟赛的更多相关文章
- ZROI 19.08.07模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 ...
- ZROI 19.08.09模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(70pts:\) 维护一个栈,从一侧向另一侧扫描,如果新加入的元素与当前栈顶相同,则出栈,否则进栈.显然一个子串是括号序列,当 ...
- ZROI 19.08.06模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽 ...
- ZROI 19.08.12模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "我发现问题的根源是大家都不会前缀和."--敦爷 A 敦爷spj写错了,差点把蒟蒻swk送走 \(50pts:\) ...
- ZROI 19.08.11模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. dlstql,wsl A \(10pts:\) \(a=100,T=100\),对每个排列构造一个反的,一步到位即可. \(20pts ...
- ZROI 19.08.10模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(20pts:\) 枚举操作序列然后暴力跑,复杂度\(O(6^n)\). \([50,80]pts:\) 枚举改成dfs,每层操 ...
- ZROI 19.08.05模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(21pts:\) 随便枚举,随便爆搜就好了. \(65pts:\) 比较显然的dp,设\(f_{i,j,k}\)表示在子树\( ...
- ZROI 19.08.04模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "这应该是正睿OI历史上第一次差评破百的比赛." "这说明来正睿集训的人越来越多了." &qu ...
- 2019.08.06模拟赛T2
题目大意: 已知三个$n$位二进制数$A$,$B$,$C$. 满足: $A+B=C$ 它们二进制位中$1$的个数分别为$a$,$b$,$c$. 求满足条件的最小的$C$. Solution 唉,又是一 ...
- 「HGOI#2019.4.19省选模拟赛」赛后总结
t1-Painting 这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP. 别人的贪心吊打我的DP,嘤嘤嘤. #include <bits/stdc++.h> #define ...
随机推荐
- 监控Linux服务器上python服务脚本
提供给公司使用的测试平台这两天频繁地挂掉,影响到相关同事的正常使用,决定在服务器上写个监控脚本,监控到服务挂了就启动起来,一分钟检查一次.注:后台服务使用的是python.监控脚本如下: NUM=`p ...
- sorted&filter&map
python里列表的sort和内置的sorted函数,都可以进行排序,列表的sort方法是在原有的列表上进行排序,sorted是会返回一个新的对象 persons = [ {'name': '小明', ...
- 部署php程序报错解决---TP框架
1.TP框架中 出现如下错误: 访问网站 http://192.168.0.204/ STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/51620d75af91aa7 ...
- asp.net mvc model attribute and razor and form and jquery validate 完美结合
1.创建Model,添加标注. [Serializable] public class BaseUserModel:BaseModel { [StringLength(100)] [Required( ...
- java之 Mybatis框架
1.三层框架: 表现层: 是用于展示数据 业务层: 是处理业务需求 持久层: 是和数据库交互 注:MyBatis在持久层 2.JDBC操作数据库 public static void main(Str ...
- (转)Jenkins2.0 Pipeline 插件执行持续集成发布流程 - git -资料 - 不错的文档
1.Jenkins 2.0 的精髓是 Pipeline as Code Jenkins 2.0 的精髓是 Pipeline as Code,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色 ...
- javascript 数据类型 undefined 和null
数据类型 undefind null boolean number string object type of 功能:检测变量类型 语法:type of 变量或 type of (变量) consol ...
- AKKA学习(二) 未完
Actor调用 从上面的例子中,我们可以大概的对AKKA在JAVA中的使用有一个全局的概念.这里我们在稍微细致的讲解一下. 在JAVA中使用AKKA进行开发主要有这几个步骤: 定义消息模型. 创建Ac ...
- [转帖]IIS7 应用程序池的 托管管道模式与集成模式小结
IIS7 应用程序池的 托管管道模式与集成模式小结 https://www.jb51.net/article/26311.htm IIS7的一些问题. 关注脚本之家微信公众号(jb51net) 每周都 ...
- transform(转https://blog.csdn.net/qq_24189933/article/details/79293870)
transform 前面我们一起学习了CSS3中的渐变.圆角.阴影等几个属性的使用,今天开始我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).转换(transition)和动 ...