05 2021 档案

摘要:题意 本题的意思就是给出一段带有 \(?\) 与 \(*\) 的字符串 (在下面称为$s$), \(?\) 必须占据一个字符位置, \(*\) 可以占据任意位置, 求下面给出几段(在下面称为$ss$)中能够匹配的字符串。 思路 前言 本题最可恶的一点是,如果s的第一段/最后一段是字符,那么ss中最开 阅读全文
posted @ 2021-05-28 16:43 letitdown 阅读(94) 评论(0) 推荐(0)
摘要:T1 由于蒟弱太弱,所以只会打暴力dp了。 设$f[i][j]$表示$i$时间正好玩完$j$点的期望高兴值, 可以想到每个点一开始都会是$f[c[i]][i]$为$w[i]/n$,\(pre[c[i]][i]=1\)。($pre[i][j]$是记录$i$时间有多少种方式到$j$点的数组,每个点一开始 阅读全文
posted @ 2021-05-28 16:39 letitdown 阅读(91) 评论(0) 推荐(1)
摘要:为什么C++ (11)-O2如此之快,直接优化1000ms... 强制在线,只能分块了。 本题应当预处理出每个块到后面几个块的每种数的平方与数量的前缀和。 由于空间限制,块长只能开到n的2/3次方, 最重要的一点,开O2!!! Code: #include<cstring> #include<cst 阅读全文
posted @ 2021-05-28 16:28 letitdown 阅读(134) 评论(0) 推荐(1)
摘要:蒟弱调了两天终于调出来了。。。 \(n <=200000\),所以可以用到$n*\sqrt$的做法,分块。 将$n$个器材分为$\sqrt$块,维护的是每一个器材弹出此块的步数。 这里用到了$to$数组,表示一个器材跳出此块后到达的位置;还用到了$st$数组,表示跳出此块需要的步数。 由于维护的步数 阅读全文
posted @ 2021-05-18 16:43 letitdown 阅读(92) 评论(0) 推荐(0)