• STOI补番队互测#2


      Round2轮到我出了>_<目测总共10人参加 实际共七人)

    具体情况:

      #1: KPM,360

      #2:ccz181078,160

      #3:child,150

    可惜KPM没看到第一题样例里有0。。(当然是我数据范围没写好TAT

    &题面出现严重错误。。模数应该是10^9+9结果我题面里写成了10^9+7(坑了KPM80分。。 然而其他人只写暴力是什么鬼

    Problem A pears:

        实际情况: AC人数:3            平均分:45+

        远距离目测:   AC人数:5        平均分:70~80;

      把梨的数量除K,就是求最小路径覆盖了。原题bzoj3997 “组合数学”。(KPM写过原题,但谁都知道这不会有什么影响的;(很好奇为啥其他人似乎没写过 大家都写过>_<

      DAG的最小路径覆盖=最长反链。

      因为这是个只能往右或往下走的网格图。所以反链里的点都是左下-右上的。跑个O(n^2)的DP就行了。

      f[i][j]表示点(i,j)左下(不包括左或下)最长反链的长度。

    Problem B Rewrite

        实际情况: AC人数:1          平均分:32+

        远距离目测:   AC人数:4        平均分:60;

      原题为CH上"Unis Cup 1.0"的B题。当然这种类型的题本身也很常见。

      既然无耻地考原题,肯定要无耻地扔上原题的题解了

       S[i]表示位置1~i中,O比I多多少个。

      

      “钥匙”显然就是那个“优美串”了。

      数据范围大概能卡掉O(nlogn)的吧。。。毕竟不是CH神姬 显然根本卡不住。。nlogn的只花了0.2s就跑过去了T_T

      顺便口胡一下O(nlogn)做法..就是把S[]求出来后,用平衡树什么的对每个位置的S值求前驱后继。一棵奇数,一棵偶数

      所以这题关键还是要明白S[1]~S[i]的值是连续的>_<。

    Problem C    BCD Code
        实际情况: AC人数:0          平均分:10+

        预测情况就不口胡了。。因为我的题解直到比赛前一天才锁上。。所以很难说啊。。。

      还是原题>_<。。原题是ZOJ3494的BCD Code(我连题目名字都没改= =)

      具体题解见 http://www.cnblogs.com/czllgzmzl/p/5221802.html 或者网上一搜一大坨

      当然了原题只要求10进制转2进制。。。其实扩展到10以内的进制转换的话。。也就多个两三行吧TAT

      再加上我不久前才写这篇题解。。大概会被很多人秒的吧。。。

      复杂度非常的玄学。。当然是指实际运行速度。

      如果不预处理,用到的时候再调记忆化搜索的话可以节省非常非常多的时间。。(所以我纠结了很久要不要卡常...然而怕被打233。。。毕竟理论复杂度也有400w了。

    Problem D   Order1

      实际AC人数:2         平均分:35+

      想要求出长度在[x,len]的方便子串的个数,显然容斥一发就行了。

      比方说长度为[3,5]方便子串的个数就是:[ 第(1,2,3位),第(2,3,4位),第(3,4,5位)出现次数 ]-[ 第(1,2,3,4),(2,3,4,5)位出现次数 ]

      至于为啥这样可以画个图看看,

      或者直接把算到的东西都摆出来:

        求出[ 第(1,2,3位),第(2,3,4位),第(3,4,5位)出现次数 ],那么(1,2,3)(2,3,4)(3,4,5)相等的会被算到一次,(1,2,3,4)(2,3,4,5)的会被算到两次,(1,2,3,4,5)会被算到3次。所以要减去重复累计的那部分。

      长度为[x,y]的就是[x,len]-[y+1,len]。

      

      本来只有这样的话我们种21棵权值线段树就好了(或者说是len*(len+1)/2棵),(权值范围为1~26^6,就是hash啦)。

      但因为要查询一段区间内的东西。。所以我们可持久化一下。。。就可以解决本题了。

      不用担心空间问题。。反正都写主席树了,怎么玩都是动态开节点吧。标程还用不到256M呢。。

      时间复杂度O(21*n* log(26^6))。

    UPD:也可以写可持久化trie。。比权值线段树高明到不知道哪里去了TAT(我果然是傻逼

    UPD×2:根据KPM的AC代码可得,主席树什么的其实可以用一个树状数组就解决= =(突然变成noip普及组题目了

    1:感谢初二爷icedreamer提供脑洞。(初二爷顺便一眼秒ABC的解法。。也就是说这套题5min就被嘴巴AK了T_T

  • 相关阅读:
    读书笔记《七天学会NodeJS》(5)
    读书笔记《七天学会NodeJS》(4)
    读书笔记《七天学会NodeJS》(3)
    读书笔记《七天学会NodeJS》(2)
    读书笔记《七天学会NodeJS》(1)
    读书笔记《七天学会NodeJS》(0)
    读书笔记《Node.JS开发指南》
    JavaScript比较特殊的一些概念(三)
    JavaScript比较特殊的一些概念(二)
    JavaScript比较特殊的一些概念(一)
  • 原文地址:https://www.cnblogs.com/czllgzmzl/p/5245915.html
Copyright © 2020-2023  润新知