Codeforces-177

一次多好的进前五的机会啊,居然被浪费了。

最近 FST 特别多,这状态怎么搞腾讯的比赛咯。

最后 #39 不算很坏的结果,但起码 E FST 了很桑心。

Solution

A

先把整个序列用 ab 染好,最后 k2k - 2 个从 c 开始赋。

当然,搜索也是可以的。

B

可以发现前 kk 个与后 nkn - k 个是无关的。由于 kk 特别小,直接搜索 2k2 - k 个值即可。复杂度 O(kk)O(k^k)

C

不妨考虑 pnp_n 应该是多少。令 xx 表示最小的不小于 nn 的能表示成 2k12^k - 1 的形式的数,则 pnp_n 的最优解显然就是 xkx ^ k 。继续考虑下去,可以发现对于 [xn,n][x^n, n] 内的每个数我们都可以找到唯一的对应关系。剩下的数递归就好。

D

不妨设为有根树。考虑枚举 aabb 这条路径的 LCA tt。我们要从 tt 的子树中选出两个点,使得它们的 LCA 是 tt 。这样的方案数是有 (sizet2)xis a child(sizex2){size_t \choose 2} - \sum_{x \textrm{is a child}} {size_x \choose 2}tt 的子树外我们任取两个点即可,方案数为 (nsizet2){n - size_t \choose 2} 。考虑到如果两条路径分布在不同的子树,这种情况我们会计算两遍,所以我们还要把这种情况剪掉。然后就没了。

E

一个显然的数位 dp 。我们预处理两个值 fi,gif_i, g_i ,分别表示所有的 ii 位幸运数相邻两个的积的和以及所有 ii 位幸运数相邻两个的和的和。于是我们有如下递推式:

fi+1=2fi+65100i(2i1)+1110igi+(10i197+410i)(10i194+710i)f_{i + 1} = 2 f_i + 65 * 100^i * (2^i - 1) + 11 * 10^i * g_i + (\frac{10^i - 1}{9} * 7 + 4 * 10^i) * (\frac{10^i - 1}{9} * 4 + 7 * 10^i) gi+1=2gi+2210i(2i1)+1110i+119g_{i + 1} = 2 g_i + 22 * 10^i * (2^i - 1) + 11 * \frac{10^{i + 1} - 1}{9}

ff 的递推式可以这么想:任意三个数 x,y,Ax, y, A ,我们有

(x+A)(y+A)=A2+(x+y)A+xy(x + A)(y + A) = A^2 + (x + y)A + xy

那么当从 fif_i 递推到 fi+1f_{i + 1} 时,我们需要加上 2i12^i - 1A2A^2gig_i 乘上 AA ,以及 fif_iAA 有两种取值,一种是 410i4 * 10^i ,一种是 710i7 * 10^i 。最后再考虑一下多出来的一个积即可。

gg 的类似。

求出 ffgg 后,剩下的就简单了。从前往后扫,每遇到一个 7 就计算对答案的贡献。

situation

今天真心不顺。

先是卡 A 卡了 12 min 。我想写贪心,但是各种怕特判,于是决定写搜。但是搜的一个地方忘记特判导致挂了……

看了 B 后觉得蛮简单的,写完后 A 掉。

看 C 。感觉这个题应该蛮简单的,但是没灵感,遂决定放到一边去。

看了 D 后第一想法是点分治。后面一项分什么治啊,直接 dfs 不就好了吗。我分了好几种情况,交了后发现 WA 了。怒决定写拍。发现拍比正解还难写啊。写完后发现我少考虑了几种情况。经过情况的合并后发现就两种情况嘛。和暴力拍了 20 以内的无误后交了。

然后转过去看 C 。第一想法是一位一位的来,然后就突然想到配对了。 2i2^i 显然是和 2i12^i - 1 配对嘛。按照这个思路下去就想到了那个构造,于是就好了。

现在大概还剩 50min 。发现 E 有人过我就去看了一下 E 。看完后瞬间就有想法了,于是推了一下公式后发现是可做的,怒写数位 dp 。写着写着发现只有 10+ min 了,我还没开始调试呢。最后在 1:58 的时候交了一个上去,过了 pretest ,对不对只能听天由命了。

结果 AE FST 了。如果任意一个都没 FST 的话应该可以红的。幸亏过了 D 。不然后果不堪设想呢。

最后 #39 被 liouzhou_101 怒踩。按照这 FST 率下去我真就只能专业算法三十年了。要搞 ACM 的话就找一个代码能力强的吧。

others

wjmsbmr 直接 #1 ,好强大……(现在 wjmsbmr 已经超过我大号了)

liouzhou_101 #38

只要 E FST 的人都没有好下场。

感觉第一题蛮好 cha 的。只可惜我没时间了。

感觉今天的 ABC 是主流吧。 squarefk、vfleaking、flydutchman、秋锅都是前三题,只不过速度差异有点大。

大叔只过了前两题,顺利跌回 div2 。

nonsense

今天腾讯打电话过来说进了区域赛了,到时候可以去免费深圳玩玩~