zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 101 (Rated for Div. 2) 题解

    A.只需要判断长度为偶数,左括号不在最后一位,右括号不在第一位即可.
    B.答案为(a)的前缀和最大值和(b)的前缀和最大值之和(前缀和包括(0)).
    C.可以从前一段篱笆离地面距离取值范围推出后一段取值范围.第一段设成([0,0]),检查最后一段左端点是否为(0).
    D.假设(n)比较大,考虑(2,4,16,256,63556,n)(6)个数,其它数都可以除以(n)得到(1),而(n)可以除以(65536)两次得到(1),(65536)可以除以(256)两次得到(1)...,最多操作次数为(n+4).(n)小的情况类似.
    E.考虑(x),假设答案前(k-x)位全为(0),考虑所有还未匹配到的串后(x)位,如果(0)(2^x-1)都出现过一次,那么不存在前(k-x)位全为(0)的答案.否则,只要选没出现过的数的取反,那么其他任何一个数都和这个数至少有一位相等.当(2^x>n)时,必然存在答案,因此可以选择(x)(min(k,log n)).
    F.显然每条链的长度越长越好,因此应该从大到小添加每条链.每次添加应该对折这条链,并且接到深度最小的白点上.如果白点超过(k)个,更新当前第(k)深的点到答案上.
    可以有很多方法模拟这个操作,比如用线段树维护每个深度的点的数量.但实际上也可以二分答案再模拟或者直接线性模拟这个操作.

  • 相关阅读:
    从零自学Java-10.充分利用现有对象
    读书笔记-读《代码大全》有感
    从零自学Java-9.描述对象
    从零自学Java-8.创建第一个对象
    随机森林理解
    百度 前端 rem 适配 和 阿里 前端 rem 适配
    移动端 轮播
    楼层 跟随 js与jq
    js 滚动到指定位置(带step 速度)
    js 事件流
  • 原文地址:https://www.cnblogs.com/Heltion/p/14204507.html
Copyright © 2011-2022 走看看