zoukankan      html  css  js  c++  java
  • AtCoder Grand Contest 007

    AGC的题目真的很不错。拿来锻炼一下自己的思维水平。

    A Shik and Stone

    记录一下每一行最右边走到了哪里

    下一行的最左边必须与上一行的最右边相连,且除了这一段连续的之外,不能再有别的路径


    B Construct Sequences

    构造,使(a_i=n imes i-n+1),而把(a_i)反向填在(b_i)中,这样,初始的时候(a_i+b_i)均相等

    对于不同的排名,只需要对(b_i)加上(rank_i-1)就可以使得,他比他排名小的大


    C Pushing Balls


    D Shik and Game

    这道题目和中秋一起训练的一套日本区预赛题的Black And White有些相像

    显然,拿取coin一定是一段一段进行的

    在一整段中,你会一次性走到最后,是他们开始产生coin,然后走回去,从这一段第一个开始拿

    我们用(f[i])表示拿到第(i)个位置所需要的最少时间,则(f[i]=f[j]+a[i]-a[j]+max{T,(a[i]-a[j+1] imes 2)})

    (max)的地方比较难处理,我们把他单独拿出来,用一个单调递增的队列维护,使得队首元素(a[i]-a[j+1]leq T)

    那么队列中的元素计算方式为(f[j]+a[i]-a[j]+T),而队列外的元素计算方式是(f[j]+3 imes a[i]-a[j]-2 imes a[j+1])

    维护的时间复杂度(O(n))

  • 相关阅读:
    console.time测试代码块执行时间
    label表单的关联性
    attr返回被选元素的属性值
    2018 885程序设计编程题
    输出斐波拉数列的前n个数(n>=2)
    简单的光照贴图
    复杂纹理复制及纹理叠加效果
    简单纹理复制
    UV旋转shader
    shader实现积雪效果
  • 原文地址:https://www.cnblogs.com/xiejiadong/p/9715177.html
Copyright © 2011-2022 走看看