论一条咸鱼如何瞎搞「WC2015」未来程序

传送门

说不定还会持续更新?(

2019-04-26

闲得没事翻到这道题了想试一试。

首先看到测试点 1。

很明显的一个 $a\times b\operatorname{mod}c$。

啊什么爆 unsigned long long?Python 了解一下(

然后去看测试点 2。

差不多能总结出这么一个规律来

然后手动打表

$n$ $a_{n}$ $b_{n}$ $c_{n}$
$0$ $1$ $0$ $0$
$1$ $1$ $1$ $1$
$2$ $4$ $2$ $1$
$3$ $9$ $6$ $4$
$4$ $25$ $15$ $9$
$5$ $64$ $40$ $25$

然后发现 $a_{n}=F_{n+1}^{2}$,于是推出 $b_{n}=\sum_{i=0}^{n}F_{i}^{2}$,$c_{n}=F_{n}^{2}$。

有一个结论是 $\sum_{i=0}^{n}F_{i}^{2}=F_{n}F_{n+1}$,证明也不难。于是就这样 xjb 写了个矩乘。

然后去看测试点 3。

自然数 $k$ 次方和,恩没难……等等四次方和是啥(

https://www.zybang.com/question/cd5fa7b364c5ac9f3194eac2525ae6aa.html

光速逃(

然后去看测试点 4。

如果把 1 看成黑点,0 看成白点,type=0 就是在遍历所有黑点对,直接一个 $\text{cnt}(\text{cnt}-1)$ 解决。

type=1 就是对于每个黑点,求出其到所有白点的曼哈顿距离的最小值,再求和。

不难想到枚举这个最小值,虽然复杂度很假但是数据随机啊(

然后去看测试点 5。

很明显的仅包含黑点的矩形的计数……等等,这不就是半个与或和 吗(

然后我就突然回想起来了,那道题 WA 成 0 分的记忆。

先把前 4 个点交上去看看吧。然后 10+1+10+6=27。

诶我测试点 4 怎么 6 分啊……一看发现 type=0 写成了 $\cfrac{1}{2}\text{cnt}(\text{cnt}-1)$……

关于测试点 2……先放一放。

然后去看测试点 6。

感觉不怎么会光速弃疗。

然后去看测试点 7。

经过一番分析,我发现这是在求给定数独字典序最小的解,然后第 $i$ 组数据输出前 $i$ 行?(并不是)

打了个爆搜然后跑到死也只跑出来前三组。

哦不我连搜索都不会写了,我失败了 :(

然后去看测试点 8。

大致可以抽象成是给你 7 个点,每个点权值 $w_{i}\in[1,n]\cap\mathbb{N}$,再给你一些边,对于一条边 $(x,y)$,必须要有 $w_{x}\lt w_{y}$,求方案数。

第 1 问给了一条链,很明显方案数就是 $C_{n}^{7}$。

看到后 9 问好像十分麻烦,先跳过吧。

然后去看测试点 9。

一上来一坨字符画一样的东西差点吓到我。

从 VSCode 右边的缩略图里能够很明显看出是一个人。

在仔细阅读了代码之后,我发现这是 10 道解答题。

然后……诶好像差不多该溜了。

2019-04-27

一大早上被比我不知道强到哪里去了的 asuldb 安利了一道看上去很吓人的题

继续来搞这道提答。

答上了测试点 9 的前两问,然后去看测试点 10……??!!

这是什么鬼东西怎么这么一大坨子函数……

一开始没看源文件大小,后来一看发现竟然有 1000+KB。

吓得我电脑都卡了。

发现本质上是让求 _() 这个函数的调用次数。于是我就让这个函数返回 1,其他函数返回它调用的所有函数的返回值之和。

然后……算是勉强凑出来前 3 问,5 行左右。

一交……诶我后两个点怎么还 RE 了?

不会是我没交 4 和 5 的 .out 文件吧……然后发现还真是,补上去两个空文件之后评测结果正常了,10+1+10+10+0+0+0+1+2+5=39。

然后发现测试点 7 实际上是将整个数独压成一行复读 $i$ 遍。(好像也不是)

6,8,9,10 四个点挣扎了一会还是弃疗了。

回去看测试点 5……想到反正数据随机,写了一个稍微优化了一点的暴力。

然后改了改测试点 2。一交发现什么变化都没有。

luogu 又出锅了?这么想着又交了一遍,然后还是什么变化都没有。

// 以上内容差不多是以回忆的形式写下来的。接下来差不多是边调题边写(

然后发现我测试点 5 的二维前缀和写错了(

仔细一推测试点 2 发现

但是就算这样也不应该 WA 啊……写了个暴力发现是因为偷懒矩阵没清空……

然后再一交,10+10+10+10+10+0+0+1+2+5=58。

然后我突然有了一个想法,对于测试点 10,我可以直接用一个 std::map 维护出源文件中的所有函数的值啊。

写了写一交……诶怎么还少了 4 分?

一检查发现只是计算了调用次数,忘了再乘以那个 ___

于是再一交,10+10+10+10+10+0+0+1+2+10=63。

回去看了看测试点 7,感觉没救了,于是想搞一搞测试点 9。

看到第 4 问的答案只有 3 个字符,直接搜于是搜出来一个

再像这样搜了一下第 5 问发现是 we

考虑到后面都是英文单词了于是把枚举的范围压缩到了 a~z

然后搜出了第 6 问是 hold,第 7 问是 these

然后上百度一查发现这句话是 we hold these truths to be self-evident

那么还剩第 3 问那个人名……这种问题无解吧,尤其是对于我这种咸鱼来说。

于是一交,10+10+10+10+10+0+0+1+9+10=70。

简单推了一下测试点 7,发现指数非常有规律,于是把系数扔到 OEIS 搜了一波。

虽然是找到了,但是公式也没有生成函数也没有什么也没有。

下面还给我来一行 approved(

弃疗。告辞。

评论