跳转至

2022 China Collegiate Programming Contest (CCPC) Weihai Site

排名 当场过题数 至今过题数 总题数
29/? 9 9 13

A

solved by JLK

题意

签到,略

题解

B

**upsolved by **

题意

题解

C

solved by YZW

题意

题解

D

solved by JLK

题意

简单状压DP,略

题解

E

solved by TYB

题意

题解

F

solved by TYB

题意

题解

G

solved by YZW

题意

题解

H

**upsolved by **

题意

题解

I

solved by TYB

题意

题解

J

solved by JLK

题意

\(n\) 个数 \(a_i\)\(k\) 个限制,形如 \(a_i=x\) 的数量不超过 \(y\)

两个人玩游戏,每次选中一个数,使其-1,并且始终要满足限制。

不能操作者输,问谁赢。

\(1 \le n \le 10^5,0 \le k \le 10^5,0 \le x\le 10^9\)

题解

可以数轴看成是一个水管,每个数字看做一单位的水,那么数字不断减少就是往下流,并且水管不同部位的宽度不同。但只要没有宽度为 \(0\) 的点,就能一直流下去。

也就是说,终态其实是确定的。总操作步数也是确定的,算出步数就知道谁赢了。

那么可以从小到大枚举 \(a_i\),看每个数最后在哪里。具体来说,应该找到比 \(a_i\) 小的宽度为 \(0\) 的最大的点 \(j\)\(a_i\) 最后就会到 \(j\) 的位置上。直接让 \(j\) 的宽度减一,后面不断重复这一步骤即可。

可以用 set、map 等维护。

\(O(n\log n)\)

K

solved by YZW

题意

题解

L

**upsolved by **

题意

题解

M

**upsolved by **

题意

题解

记录

TYB过E(0:09),JLK过A(0:24),然后一起讨论G,YZW推了一下式子并开始写,WA一次后AC(0:47)。

JLK过J(1:07)。

YZW写C,WA两次后AC(1:48)。

期间JLK和TYB讨论I,不确定贪心的策略。上机后试了一下,过不了样例。

JLK提出一个方法,TYB开始写。

JLK看了D,感觉可做。然后和YZW讨论K,YZW推了一下式子发现可以写。

I TLE一次,JLK帮忙卡常后AC(3:04)。

然后JLK写D,写完没过样例,先换YZW写K。

K WA了一次,JLK调过了D并AC(3:52)。此时TYB会了F。

K又WA了两次,JLK打算写个对拍,没拍出来,但YZW找到了错误并AC(4:24)。

TYB写F,WA一次后AC(4:46)。

总结

Dirt

C(-2)

F(-1)

G(-1)

I(-1)

K(-3)