ZR提高失恋测3
ZR提高失恋测3
(感觉这一场比以往的简单了一些)
估分 100 + 40 + 40
得分 100 + 60 + 40
???
A
首先,我们能够想到一个比较简单的\(n^2\)做法,
枚举答案子序列中两个\(1\)之间\(0\)的个数(就是题目中的距离),直接贪心能选就算,肯定不会似的答案更劣
这样就有了\(60\)分的好成绩
我们考虑如何优化这个暴力,
由于0的个数不具有可二分性,所以不能对外层枚举进行优化,那么我们只能对这内层循环下手了
发现我们每次暴力找\(x\)的\(0\)这个过程太慢了,我们想到两个方式去优化
首先 二分
我们维护一下前缀\(1\)的个数
每次二分查找一下下一次跳\(x\)次\(0\)的位置
其次
倍增,感觉道题同二分把,把\(x\)二进制拆分然后求\(k\)级祖先
注意写代码的时候有一个需要一个细节,就是如果最后一个匹配成功的是\(1\)
或者最后一段的\(0\)没有匹配满的时候,最后一个的\(100\dots\)的贡献是要减去的
B
首先这个\([dis,1.1\times dis]\)就肯定要搞点东西
首先,还是非常朴素的暴力,我们对于每个点,都去维护一下到这个点的所有的路径的长度
然后暴力合并
之后读进来一个询问点就暴力lower_bound一下判断合法不合法,这样就有60分了
我们上面的暴力并没有用到\(1.1\times dis\)这个东西,我们仔细想一下有什么用?
如果一个点有三条路径\(x,y,z\)满足
\(\frac{z}{1.1} <x < y < z\)
那么\(y\)这一条路径是没有用的
因为
也就是\(y\)的功能能够完美的被\(x,z\)去代替
这也就提示我们需要存的路径不会太多,那么有多少呢
我们发现上面的情况
\(1.1 ,1.1^2 ,1.1^3,\dots 1.1^x\)
极限情况也要是这样的数列才不会出现上面的情况
而\(1.1^{450} > 10^{18}\)
所以一个点的合法路径条数不会超过\(450\)
我们可以考虑去只维护合法的部分
我们维护一个递增的数组表示路径
每次对于一条边\(x->y\)
我们直接把两个数组类似归并排序的方式合并就好了
只要在合并过程中出现
上面\(x,y,z\)的情况,就把\(y\)踢掉
最后依旧二分查一下答案就好
C
大分类讨论
先咕咕咕
ZR提高失恋测3的更多相关文章
- ZR提高失恋测4
ZR提高失恋测4 比赛链接 A (方便讨论,设读入的串为\(S,T\)答案串为\(A\)) 首先\(*\)只会有一个 这是这道题目中非常重要的一个结论 简单证明一下? 因为\(*\)可以代表所有的字符 ...
- ZR提高失恋测2(9.7)
ZR提高失恋测2(9.7) 网址http://www.zhengruioi.com/contest/392 版权原因,不放题面 A 首先,我们发现对于匹配串\(s\)中所有满足\(s_i \not = ...
- ZROI CSP-S失恋测(1)
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "怎么大家一个暑假不见都变菜了啊."--蔡老板 A 考虑一个\(nk^2\)的dp,按\(w_i\)排序,则每个组 ...
- ZR 提高十连 DAY 4
哇 这题目怎么一次比一次毒瘤 当然这次还好 有会做的题目. T1 一眼看上去 毒瘤!再看一眼 我真不想看了 扔了. T2 哇感觉能写 哇这不是 随便都有40分了么 二分?优化一下65到手了.然后剩下的 ...
- ZROI 提高十连测 Day1
第一天的提高模拟测 考前特意睡了20min 还是歇菜了,果然自己菜是真实的. 题目质量海星 但是我都不会这是真的...题目由于是花钱买的这里就不放了 LINK:problem 熟悉我的人应该都知道账号 ...
- Java下好用的开源库推荐
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文想介绍下自己在Java下做开发使用到的一些开源的优秀编程库,会不定 ...
- 【科研论文】基于文件解析的飞行器模拟系统软件设计(应用W5300)
摘要: 飞行器模拟系统是复杂飞行器研制和使用过程中的重要设备,它可以用来模拟真实飞行器的输入输出接口,产生与真实系统一致的模拟数据,从而有效避免因使用真实飞行器带来的高风险,极大提高地面测发控系统的研 ...
- NOIP2018游记(更新完毕)
10.13 初赛 Day -1 考前 这一次的考场从暗♂德华兴改到了长沙市一中,一进去:我一看,考场在哪???这一中比长郡大了好多,而且连指示牌都没有,这时碰见了谢总,谢总告诉我们在第二教学楼.路上还 ...
- 完结篇OO总结
目录 前言 一.第四单元两次架构设计 二.架构设计及OO方法理解的演进 三.测试理解与实践的演进 四.课程收获 五.改进建议 前言 持续了17周的OO终于走向了尾声,想想寒假的时候连类都不知道是什么, ...
随机推荐
- 关于Apple Watch,听听开发了两个月Watch App的工程师怎么说
今年1月份有幸应苹果邀请,秘密参与苹果 Watch App 的真机现场调试.4月份,Apple Watch 会正式上市.在这之前,也算是亲自抢先体验了 Apple Watch,以及开发了一下 Watc ...
- 《mysql必知必会》4笔记(存储过程、游标、触发器、事务、全球化本地化、权限、数据库维护、性能)
二十三:使用存储过程: 1:mysql 5添加了对存储过程的支持.很多时候,一个完整的操作需要多条语句才能完成.存储过程简单来说,就是为以后的使用而保存的一条或多条mysql语句的集合,可将其视为批文 ...
- @游记@ CSP2019
目录 @day -??@ @day -1@ @day 0@ @day 1@ @day 2@ @day ??@ @day ??+1@ @day -??@ 和 yhn 学长在校外偶遇. 聊了一些.他说现在 ...
- 2016 Asia Jakarta Regional Contest J - Super Sum UVALive - 7720 【快速幂+逆元】
J-Super Sum 题目大意就是给定N个三元组<a,b,c>求Σ(a1^k1*a2^k2*...*ai^ki*..an^kn)(bi<=ki<=ci) 唉.其实题目本身不难 ...
- GIT 用RSA加密方式来记住密码
ssh-kegen -t rsa -C "你的帐号";//生成rsa的公钥和密钥 当然这个要在GNU环境下来执行,要是用Windows的CMD是不可以的(不输入DIR时),感觉是因 ...
- 如何用django框架完整的写一个项目
实现目标及功能,增删改,并且实现搜索,分页,日期插件,删除提示,以及批量导入等功能 软件版本: python3.5 django1.11 一 用pycharm创建一个项目,名字自定义 二 编辑url ...
- 如何解决iOS内存错误
由于iOS5.0之前没有自动应用计数机制,也没有Java那样的垃圾回收功能.我们都需要自己管理和控制对象的回收,这是一件很麻烦的事情,也是做iOS项目中最容易出现的问题.如果不掌握这些方法,调试这些问 ...
- jQuery 无刷新评论
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python小数据池 is和 == 再谈编码
1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...
- 像Google一样构建机器学习系统3 - 利用MPIJob运行ResNet101
本系列将利用阿里云容器服务,帮助您上手Kubeflow Pipelines. 第一篇:在阿里云上搭建Kubeflow Pipelines 第二篇:开发你的机器学习工作流 第三篇:利用MPIJob运行R ...