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的更多相关文章

  1. ZR提高失恋测4

    ZR提高失恋测4 比赛链接 A (方便讨论,设读入的串为\(S,T\)答案串为\(A\)) 首先\(*\)只会有一个 这是这道题目中非常重要的一个结论 简单证明一下? 因为\(*\)可以代表所有的字符 ...

  2. ZR提高失恋测2(9.7)

    ZR提高失恋测2(9.7) 网址http://www.zhengruioi.com/contest/392 版权原因,不放题面 A 首先,我们发现对于匹配串\(s\)中所有满足\(s_i \not = ...

  3. ZROI CSP-S失恋测(1)

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "怎么大家一个暑假不见都变菜了啊."--蔡老板 A 考虑一个\(nk^2\)的dp,按\(w_i\)排序,则每个组 ...

  4. ZR 提高十连 DAY 4

    哇 这题目怎么一次比一次毒瘤 当然这次还好 有会做的题目. T1 一眼看上去 毒瘤!再看一眼 我真不想看了 扔了. T2 哇感觉能写 哇这不是 随便都有40分了么 二分?优化一下65到手了.然后剩下的 ...

  5. ZROI 提高十连测 Day1

    第一天的提高模拟测 考前特意睡了20min 还是歇菜了,果然自己菜是真实的. 题目质量海星 但是我都不会这是真的...题目由于是花钱买的这里就不放了 LINK:problem 熟悉我的人应该都知道账号 ...

  6. Java下好用的开源库推荐

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文想介绍下自己在Java下做开发使用到的一些开源的优秀编程库,会不定 ...

  7. 【科研论文】基于文件解析的飞行器模拟系统软件设计(应用W5300)

    摘要: 飞行器模拟系统是复杂飞行器研制和使用过程中的重要设备,它可以用来模拟真实飞行器的输入输出接口,产生与真实系统一致的模拟数据,从而有效避免因使用真实飞行器带来的高风险,极大提高地面测发控系统的研 ...

  8. NOIP2018游记(更新完毕)

    10.13 初赛 Day -1 考前 这一次的考场从暗♂德华兴改到了长沙市一中,一进去:我一看,考场在哪???这一中比长郡大了好多,而且连指示牌都没有,这时碰见了谢总,谢总告诉我们在第二教学楼.路上还 ...

  9. 完结篇OO总结

    目录 前言 一.第四单元两次架构设计 二.架构设计及OO方法理解的演进 三.测试理解与实践的演进 四.课程收获 五.改进建议 前言 持续了17周的OO终于走向了尾声,想想寒假的时候连类都不知道是什么, ...

随机推荐

  1. 关于Apple Watch,听听开发了两个月Watch App的工程师怎么说

    今年1月份有幸应苹果邀请,秘密参与苹果 Watch App 的真机现场调试.4月份,Apple Watch 会正式上市.在这之前,也算是亲自抢先体验了 Apple Watch,以及开发了一下 Watc ...

  2. 《mysql必知必会》4笔记(存储过程、游标、触发器、事务、全球化本地化、权限、数据库维护、性能)

    二十三:使用存储过程: 1:mysql 5添加了对存储过程的支持.很多时候,一个完整的操作需要多条语句才能完成.存储过程简单来说,就是为以后的使用而保存的一条或多条mysql语句的集合,可将其视为批文 ...

  3. @游记@ CSP2019

    目录 @day -??@ @day -1@ @day 0@ @day 1@ @day 2@ @day ??@ @day ??+1@ @day -??@ 和 yhn 学长在校外偶遇. 聊了一些.他说现在 ...

  4. 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) 唉.其实题目本身不难 ...

  5. GIT 用RSA加密方式来记住密码

    ssh-kegen -t rsa -C "你的帐号";//生成rsa的公钥和密钥 当然这个要在GNU环境下来执行,要是用Windows的CMD是不可以的(不输入DIR时),感觉是因 ...

  6. 如何用django框架完整的写一个项目

    实现目标及功能,增删改,并且实现搜索,分页,日期插件,删除提示,以及批量导入等功能 软件版本: python3.5 django1.11 一  用pycharm创建一个项目,名字自定义 二 编辑url ...

  7. 如何解决iOS内存错误

    由于iOS5.0之前没有自动应用计数机制,也没有Java那样的垃圾回收功能.我们都需要自己管理和控制对象的回收,这是一件很麻烦的事情,也是做iOS项目中最容易出现的问题.如果不掌握这些方法,调试这些问 ...

  8. jQuery 无刷新评论

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. python小数据池 is和 == 再谈编码

    1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...

  10. 像Google一样构建机器学习系统3 - 利用MPIJob运行ResNet101

    本系列将利用阿里云容器服务,帮助您上手Kubeflow Pipelines. 第一篇:在阿里云上搭建Kubeflow Pipelines 第二篇:开发你的机器学习工作流 第三篇:利用MPIJob运行R ...