暑假集训CSP提高模拟1

暑假集训CSP提高模拟1

我评判一场模拟赛出的好不好的唯一标准就是我打的唐不唐——我

来了志臻六级蓝勾佬加入我们诶,和高二一起打

1/36,差点AK,T1挂掉 \(55\),我们大样例实在是太强了

T1 START

我超,⑨,看来还是玩少了

大模拟,开头一看果断跳过,赛时 double 的抽牌有点错,大样例没测出来,狂挂 \(55\),主要还是自己码力不行,加上急着玩蛇根本没有自己造数据去测,这场赛时好像只有@wkh2008 过了,剩下人都 \(\le 45\),赢

T2 mine

简单 dp,赛时唐,压了两位写了逆天超多分讨被硬控一个小时,好在最后抢下最劣解,比较好的做法大概是只记录前面是不是雷,这位是不是雷

T3 小凯的疑惑

典,首先是我们肆意判无解,之后确定有解了发现任何大于 \(xy\) 的数都能拼出来(通过把 \(a\)\(x\) 替换成\(b\)\(y\) 使 \(by=ax+k\),因为 \(\gcd(x,y)=1\),所以必定有解)然后枚举用了多少个 \(y\) 就能过,复杂度 \(O(x)\)

然后这个其实可以 \(O(1)\),你发现这玩意相当于不断用 \(y\) 替换 \(x\),一个 \(y\) 可以替换 \(k\)\(x\),同时余下 \(r\),问题转化为求 \(\sum \limits_{k=0}^x \left \lfloor \frac{kr}{x} \right \rfloor\),我们发现 \(kr \mod x\) 是这样的

0 r 2r 3r 4r
2 r+2 2r+2 2r+2 4r+2
......

只有在末尾的时候 \(\left \lfloor \frac{kr}{x} \right \rfloor\) 才会增加 \(1\),所以这个式子就可以化成 $ \frac{(x-1)r}{2}-\frac{x-1}{2}$ 直接算就算完了

T4 春节十二响

我们发现从上往下做不好做,考虑对于一个结点,我们已经知道它所有的子树分组,我们发现这玩意相当于缩成一个点了,因为不需要知道每个子树内每一组具体有哪些点,之后考虑子树间贪心,大的组和大的组合并一定更优,随便写个堆启发式合并或者multiset启发式合并就好了

场上写完这个还有不到俩小时,被T1玩傻了

posted @ 2024-07-18 17:49  wang54321  阅读(20)  评论(0)    收藏  举报