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. 杨柳目-杨柳科-Info-新闻:“北京三害”之一,危害堪比雾霾和沙尘,杨絮为什么会肆虐

    ylbtech-杨柳目-杨柳科-Info-新闻:“北京三害”之一,危害堪比雾霾和沙尘,杨絮为什么会肆虐 1.返回顶部 1. “北京三害”之一,危害堪比雾霾和沙尘,杨絮为什么会肆虐 18-05-0817 ...

  2. docker-其它命令

    [root@iZ943kh74qgZ soft]# docker Usage: docker COMMAND A self-sufficient runtime for containers Opti ...

  3. Libevent:0异步IO简介

    一:异步IO简介 大多数的初级编程者都是从阻塞IO调用开始网络编程的.阻塞(同步)IO调用指的是:调用会一直阻塞,不会返回,直到发生下面两种情况之一.要么操作完成,要么经历相当长的时间,网络协议栈自己 ...

  4. GIAC2019 演讲精选 | 面向未来的黑科技——UI2CODE闲鱼基于图片生成跨端代码

    一直以来, 如何从‘视觉稿’精确的还原出 对应的UI侧代码 一直是端侧开发同学工作里消耗比较大的部分,一方面这部分的工作 比较确定缺少技术深度,另一方面视觉设计师也需要投入大量的走查时间,有大量无谓的 ...

  5. linux下安装composer以及使用composer安装laravel

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/nianzhi1202/article/details/72770099 一.安装composer之前 ...

  6. 转载 LibGDX: 使用 Gradle 命令运行和打包项目

    版权声明:本文为csdn xietansheng 博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: http://blog.csdn.net/xieta ...

  7. Streamy障碍二:超大排序合并

  8. css 文字超出部分隐藏

    未做隐藏处理 执行结果: 1.1行超出部分省略号 效果: 2.多行超出部分隐藏(目前只能在chrome浏览器中使用,其他浏览器不兼容) 效果: -webkit-line-clamp 属性定义显示行数可 ...

  9. poj 2451 Uyuw's Concert (半平面交)

    2451 -- Uyuw's Concert 继续半平面交,这还是简单的半平面交求面积,不过输入用cin超时了一次. 代码如下: #include <cstdio> #include &l ...

  10. call,apply,bind详解

    为什么要改变this指向? 我们知道bind,call,apply的作用都是用来改变this指向的,那为什么要改变this指向呢?请看下面的例子: var name="lucy"; ...