• A_G_C_007


    AGC007


    A Shik and Stone

    我是沙比这都能蛙一发

    https://agc007.contest.atcoder.jp/submissions/7946110

    B Construct Sequences

    造两个等差数列(20000,40000,ldots,20000n)和反过来作为基础(A,B),然后在上面减一下就好了。

    https://agc007.contest.atcoder.jp/submissions/7946428

    C Pushing Balls

    真tmd神仙题

    每次操作后移除对应的石子和洞,并重标号

    打表可证(真tmd是打表啊)若干次操作以后,可将一段长度的期望直接作为长度计算,然后这个tmd还是个等差数列= = = = = =

    然后打表算算算(甚至tm可以手打

    https://agc007.contest.atcoder.jp/submissions/7958580

    D Shik and Game

    简单打牌,不会可以谢罪= =

    可以看出方案一定是每次选择一个前缀(A[1-i]),从(1)往返一次(1,i),然后等到(1)处金币出来,直接走到(i+1)(期间可以拿(1-i)所有金币)

    (f_i)表示后缀(i-n)的答案

    dp式:(f_i=min{f_{j+1}+x_{j+1}-x_i+max{T,2(x_j-x_i)}})

    (2(x_j-x_i))(T)关系是单调的,(<T)单调队列维护,(>T)确定了直接记一个min

    https://agc007.contest.atcoder.jp/submissions/7959461

    E Shik and Travel

    神仙题

    (这场8个切C,2个切E,无数人切D,5人切F

    先二分

    (f[i][a][b])表示点(i),入边是(a)出边是(b)(a,b)完全可以交换),然后(a,b)是没有限制的(因为直接连根的长度任意

    然后就神仙优化了

    对于相同的(a)留最小的(b)就行了,所以可以优化掉一维

    对于相同的(b)留最小的(a)也行了,所以(f[i])只用记(O(siz))个二元组((a_j,b_j)),其中(a)严格递增(b)严格递减,剩下的都可以不要

    然后转移的时候点(i)会有一条路径从(ls)子树到(rs)子树,我们要满足这一条(leq mid)

    很蠢(用原来dp方法)的办法是那么枚举(a,b,c,d),其中(b+cleq mid),可以转移给(a+d)

    优化以后只要枚举一个子树中的(a)可以得到最小的(b),然后根据(b)得到(c)的范围,再选一个最小的(d)

    这个过程可以双指针优化

    因为只需枚举三元组较少的儿子在另一个查询,复杂度同启发式合并

    https://agc007.contest.atcoder.jp/submissions/7964497

    F Shik and Copying String

    题解好神啊懒得看题解了

    先不考虑最优化步数,(T)串显然可以缩连续段,问题转化成:(S)串选一个子序列,使得子序列等于缩完后的(T),然后由于只能往右走要满足位置都在(T)对应左边

    作完dp可以判-1了

    然后是最优化步数,这里我sb了

    dp完之后过程可以转化成由决策点扩展到整个区间,那么首先扩展到区间左端点,最后花一步全部扩展完毕,新的问题是,有(m)只鸡贼位置是(a_i),想到(b_i)去,只能向右走,满足(a_ileq b_i),而且鸡贼相对位置不能改变。这个东西直接模拟是(n^2)的,不过可以用单调队列维护做到(O(n))

    https://agc007.contest.atcoder.jp/submissions/7964196

  • 相关阅读:
    sqlite设置主键
    sqlite 分页
    Server.Transfer方法在页面间传值
    JS实现背景透明度可变,文字不透明的效果
    css hack 区分浏览器
    Asp.net(c#)实现多线程断点续传
    C# 中的委托和事件
    使用C#的HttpWebRequest访问网站
    相似图片搜索的原理
    asp.net内存溢出问题
  • 原文地址:https://www.cnblogs.com/xzz_233/p/11668870.html
Copyright © 2020-2023  润新知