
codeforces
文章平均质量分 82
Miao_zc
膜Hz
展开
-
cf757G. Can Bash Save the Day?
简述题意:给一棵n个节点的数和一个n的数组(n的排列),支持两个操作:1 询问a[l]~a[r]的所有点到某个点的距离,2 交换a[x]与a[x+1]。一开始想到了这道题bzoj4012: [HNOI2015]开店,大概看了之后发现是开店的加强版。我想到像开店一样使用主席树处理,显然操作2很容易。然而他的时间是一个log。大概看了题解,感觉套路~ 毕竟开店的题解大多是log^2。。原创 2017-03-02 16:11:23 · 987 阅读 · 0 评论 -
cf755G. PolandBall and Many Other Balls
一个解法→一句话题意:给出1~n的序列,一个组的定义是1或2个相邻的数字,求每个数字最多属于1个组、共1~k个组分别的答案,对998244353取膜。//我语文差你来打我啊有一个SB的DP算法:dp[i][j]=dp[i-1][j]+dp[i-1][j-1]+dp[i-2][j-1]。其中dp[i][j]表示前i个j组的方案。//lych:这还能不用FFT(NTT)哒把dp[i]看做多原创 2017-03-09 21:00:30 · 1157 阅读 · 0 评论 -
codeforces 794G. Replace All
题目大意:给两个'A''B''?'组成的串XY,'?'可以是'A'或'B',求所有'?'的情况下,将'A''B'换成两个长度小于n的01串的方案数和。这好像有一些奥妙重重的性质。先考虑一个简单的情况:第一个串有a个'A',第二个串有b个'B'。设'A'=>A,'B'=>B。b*|A|=a*|B|,且AB串coprime(是官方题解中的说法,互质,就像辗转相除法一样的感觉)。由于这样的性质,原创 2017-06-12 16:45:41 · 1106 阅读 · 0 评论 -
codeforces 587F. Duff is Mad
蛮好的一道fail树的题目考虑fail树,对于询问l,r,k,相当于询问l~r的字符串在AC自动机上对应节点在fail树子树中是第k个串前缀的节点的个数和。发现k固定有一种O(n+Σ串长)的优秀做法,就不说了。同时对一些询问存在使用分块数据结构维护的离线O(Σ询问串长)的做法,就可以分块了,复杂度O(nsort(n))这个离线O(Σ询问串长)做法把询问挂在fail树上,dfs的同时维护原创 2017-06-09 10:42:05 · 760 阅读 · 0 评论