? #7
气死了。/fn
一是:怎么又忍不住去想 C 的正解了啊喂!而且 C 还是个数数题,是看起来确实可做,但如果真的是我能做出来的,能放在 C 这个位置吗??浪费了不少时间导致该打的暴力都没打完。。
二是:你就考 4h 没事,你不先告诉我们,非要在马上结束的时候再说,是几个意思。啊???
?
时间:4h (2025.11.27 07:05~11:05)
题目数:4
难度:
| A | B | C | D |
|---|---|---|---|
| \(\color{#FFC116} 黄\) | \(\color{#52C41A} 绿\) | \(\color{#52C41A} 绿\) | \(\color{#9D3DCF} 紫\) |
| *1400 | *1700 | *1900 | *? |
估分:? + 100 + 25 + 0 = 125+?
得分:80 + 100 + 15 + 0 = 195
Rank:2/20
场祭
读题。
开 A,看起来是 ad-hoc 的样子 /jk,思考很长时间(40min 左右)搞出来了一个看起来很对的做法。就是先按照 \(4\) 场比赛分别是否参加给每个账号编号,这样有 \(16\) 种情况,其中 \(0000\) 能直接计入答案;然后把 \(0011\) 和 \(1100,1000,0100\) 连边,剩下的也类似(和补的子集连边),点权就是符合要求的账号个数。然后在这个图上进行若干次「选择一条边,其两个端点点权 \(>0\);这两个端点点权分别 \(-1\)」操作,求最大操作次数。
那直接按顺序来不久好了?没过大样例。
注意到只有 \(15\) 个点,于是直接退火!但是拼劲全力无法过大样例 /ll,似乎这个做法是假的。寄。
期间也想到了状压但是发现不会。
开 B,原来 B 才是签。直接建个图跑最短路即可。
开 C,数数题,但是发现暴力不怎么好写。考虑直接状压 \(f_{i,S}\) 为前 \(i\) 个数,已有集合为 \(S\) 的方案数。然后发现根本不需要,因为如果 \(j \in S\),那么 \(\forall j'<j\) 都有 \(j' \in S\),那这样不是就可以直接 \(O(n^2)\) dp 了?这是真的吗?
显然难点在于 \(-1\),推推推,发现 \(-1\) 的作用只在于提高 LIS 的最大值,对于一个连续 \(-1\) 段,令其长度为 \(k\),那么就可以转移:
但是发现不过样例!发现甲烷了,似乎答案与之前的所有 \(-1\) 都有关。。
不过好在,这样也有了 25pts。然后去打暴力了,但是因为开头的原因比赛结束。寄。
不然 C 还有个 10pts+ 的暴搜,D 还有个 25pts 的暴力 dp 呢呜呜 /dk
补题
关于 A,你知道的,它大样例全没过而且与答案差的离谱,就获得了 80pts,原来样例是最强数据(?
然后发现,一个点 T 了,时间开小一点就过了;两个点 RE 了,是因为写错数组名称!另一个 WA 是漏特判了。。
看了 A 题解,思路是尽量使更多的账号匹配到同一个人上,然后大力分讨。有点神秘?
补 C,原来和正解就差一步吗,\(-1\) 直接贪心地放能放的最大值就好了……
天依宝宝可爱!

浙公网安备 33010602011771号