Loading

第十届中国大学生程序设计竞赛 哈尔滨站(CCPC 2024 Harbin Site)

比赛链接

Review

因为下周就要“一起哈啤”,所以这周末来 VP 去年的“一起哈啤”,然而已经一个多月没写代码了!

开题顺序依旧,看了个 J 感觉还挺可做,直接贪心写了一发,爆!火速下机让牛子过了 C。

这边 zzz 识别 G 也很签到,然后写着写着懵了,牛子疑似会了 D。跟了下榜,趁他调试间隙我上去过了 M。

此时意识到 J 贪心策略正确但是考虑细节需要一个大根堆,之前的复杂度有偏差。此时 zzz 成功爆了 G,牛子成功爆了 D,意识到自己题读错了!

此时上去写改了 J,继续爆。zzz 写 G 终于通过。得知 zzz 掌握了 A/E 的思路,牛子会了 B/L!但是电脑只有一台……

J 仍然是一个完全神秘的状态,打算等手头好写的完成拍一下。和 zzz 讨论了 K 得出结果,等牛子过了 L 成功拍出 J,然后也过了。然后火速改了下 K 也过了,此时 2.5h 仅通过 6 题。然后跟榜单发现在金牌线内???路边比赛。。。

后续就是经典二一分带了,牛子写 B 的计算几何,我和 zzz 优化了 E,接力通过两题。最后 zzz 给出 A 的构造 4:50 左右通过 A。成功 9 题下班,喜提金牌线内(罚时垫底)

怎么就是写不对!不过签贪心确实很诡异。

Solution

A. 造计算机

可以先连出一条链,相邻有 \(0/1\) 两条边,那么这样一条链就代表着某个高位固定下的 \(0\sim 2^k-1\)

那么可以分治考虑这个问题,分出的整块就可以直接利用上面的构造得出,例如 \((10010)_2\)\((11100)_2\)\((101xx)_2\)\((110xx)_2\) 就是两个整块,之后可以继续划分。

C. 在哈尔滨指路

依题意翻译两种指示。

E. 弹珠赛跑

考虑计算第 \(i\) 个弹珠在位置 \(j\) 时产生贡献的概率,把所有 \(|x_j|/v_i\) 排序之后,要求左右各取一半,类似 \([x^{(m-1)/2}]\prod_{k\neq i} (a_k+b_kx)\)。排序后移动当前的位置,只有前后两个位置的贡献产生影响了,对多项式就是做一次除法做一次乘法,复杂度 \(O(nm^2)\)

G. 欢迎加入线上会议!

把强制的叶子节点去掉,跑完生成树再随便找一个点挂上即可。

J. 新能源汽车

一定是尽量用快要能充电的电瓶,如果不够就依次使用下一个充电桩对应的电瓶,用堆来维护这个过程。

K. 农场经营

先满足 \(l_i\) 的下界,按照 \(w_i\) 降序排序。由于只能修改一个位置,修改 \(x\) 后就只会在下界基础上增加 \(x\) 及以前的位置,预处理前缀和后二分即可。

M. 奇怪的上取整

直接枚举因数。

posted @ 2025-11-02 20:29  SoyTony  阅读(48)  评论(0)    收藏  举报