Warning: session_start(): open(/tmp/sess_835413de8e38a9c1f3e66c74f169c51b, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239
Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430
Writing /data/wiki/data/cache/8/8fe637ac40e9dfa91f93fbcd08d065e4.captchaip failed
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
总结:场上按C、K、G、J顺序通过了四个题;\\
这几个题也都是本场的签到题QAQ;\\
===== C =====
过得比较顺利也比较快~\\
Toby:(其实只是碰巧而已啦)\\
这个题我过了纯粹是因为我和数据错在一起了,然后他们那些写正解的最开始因为数据问题都寄了。。。。\\
比赛的时候我是觉得奇怪为什么改数据前就我过了,果然是我的问题。。。。\\
主要是必输的情况,我考虑到就是拿lowbit最小的那些堆都合法,但是实际上举个例子:有很多堆是$(xxxxxxx1)_2$的时候,只要没有$(xxxxxx11)_2$,我最开始都可以拿$(xxxxxx10)_2$的一个,这也是可以让对方只能拿一个的,也该计数的吧。\\
===== K =====
其实思路想得挺快的,但是一直在纠结 $O(n^3)$ 的dp会不会卡不过去,反复思考和纠结了很久后 $O(n^3)$ 过掉了QAQ\\
Toby:这个$O(n^3)$真的不会卡啊,我记得n很小的
===== G =====
签到题-13这就是废物吧呜呜~\\
一开始Stockholm想了一个奇怪的结果为 $\frac{n}{2}$ 的算法,先WA了几次。\\
然后我去debug的时候,感觉 $\frac{n}{2}$ 是不够优的,于是想到了分为 $\sqrt n$ 组,每组递增(我也不知道我为什么要递增),这样答案会由 $\frac{n}{2}$ 优化到 $2\sqrt n$ ;\\
“如此大程度的优化一定不会有问题吧!” —— 再次WA > <\\
“一定是我没考虑什么特殊情况!3似乎不对...7也不对” —— WA 6 > < \\
Toby-Shi : “你都分为 $\sqrt n$ 组了,每组递减排列不就 $\sqrt n$ 了吗” \\
“你说得对..AC了呜呜~”
===== J =====
看到的太晚了QAQ,线性回归公式就可以了~\\
不过还是由于精度问题WA了两次(#`O′)
===== 赛后补题及其感想 =====
==== 关于D ====
二分答案 + spfa 判断负环;\\
场上Toby-Shi WA了好多好多遍,结束后一看通过了 $97.3\%$ .. (°ー°〃) \\
然后我把 spfa 的负环条件改吧改吧了一下就 AC 了,感觉是奇怪的精度问题 > <
==== 关于E ====
比较常见的容斥原理:
$F_{n,i} = \Sigma_{j = i} ^ n (-1)^{j-i}\times C_j^i \times 26^{n-3j} \times C_{n-2}^j$ \\
将组合数拆开,并将只与 $i$ 相关的项移到左边:\\
$i! \times F_{n,i} = \Sigma_{j = i} ^ n \frac{(-1)^{j-i}}{(j-i)!} \times j!26^{n-3j}C_{n-2}^j $ \\
然后就可以用ntt求解了!ヽ(✿゚▽゚)ノ
场上的时候一直在纠结奇怪的隔板法 (o_ _)ノ (YUKI的脑子可能有点问题吧)
==== 关于H ====
通过差分+前缀和统计出每一层楼需要向上或向下人数,并计算出需要多少躺电梯即可。
场上根本没看,我怀疑是歪榜了`( = v = )`
==== 关于I ====
将 $X$ 单位化后:
$Y_i^{new} = \Sigma_{j = 1} ^ n Xi \cdot Xj \cdot Yj$ \\
$= (X_i^1X_1^1Y_1^1+X_i^2X_1^2Y_1^2+\cdots) + (X_i^1X_2^1Y_2^1+X_i^2X_2^2Y_2^2+\cdots) + \cdots$ \\
$= X_i^1(X1^1+Y_1^1 + X_2^1Y_2^1 + \cdots) + X_i^2(X1^2+Y_1^2 + X_2^2Y_2^2 + \cdots) + \cdots$ \\
然后将小括号里的东西预处理出来即可。\\
也根本没看,我怀疑也歪榜了┌(。Д。)┐
==== 关于K ====
dp(i, j)表示第i个世界的j号点,最近可以从其前面的哪个世界的1号点过来。\\
dp(i, 1) = 0; \\
dp(i, u) = min{dp(i - 1, u), dp(i - 1, v)} + 1; 存在边(u, v) \\