• Open Cup

    Open Cup 是俄罗斯从 2004 开始每年定期举办的在线系列公开赛。近些年来,每年基本有接近 20 场比赛,整个系列赛采用 GP 30 积分。总积分前 10 的队伍理论上会被邀请到每年夏季的 Petrozavodsk Programming Camp 参加决赛。类似毛营,所有比赛题目也是 Snark 通过各种交易得到的,其中不少题目还会和 Petrozavodsk Programming Camp 以及 MIPT Workshops 共享。

    这边也是整理了所有比赛的榜单,提交地址,讨论帖,以及题解,希望能够对选手训练有所帮助。下面是这些题解对应的链接:

    ...
  • Petrozavodsk Summer 2013. Day 2. Moscow SU ST + NNSU Contest

    A. Tree Puzzle

    题意:一棵高度为 \(N\) 的满二叉树,根节点标号是 \(1\),节点 \(x\) 的左儿子是 \(2x\),右儿子是 \(2x+1\)。每个点都有一个状态,用 01 表示。有这样一个操作:

    • 一开始选择一个点 \(x\),翻转它的状态
    • 如果这个点不是叶子,那么挑一个它的儿子继续操作:如果 \(x\) 的初始状态是 0,挑左儿子,否则挑右儿子。

    给出一个序列:\(x_a=1,\quad x_i=(x_{i-1} \cdot b + c) \pmod p\)。如果 \(x_i \ge T\),那么节点 \(i\) 一开始的状态是 1,否则是 0

    求出把所有节点状态都改成 0 的最小操作次数。

    ...
  • Petrozavodsk Summer 2020. Day 1. Warsaw U Contest

    A. Raid

    题意:给出 \(n\) 个数 \(a_1,a_2,\dots,a_n\),对于每个 \(k\) (\(1 \le k \le n\)),你要从中选出一个长度为 \(k\) 的子序列,使得逆序对最少。输出最小的逆序对个数和方案数。

    \(1 \le n \le 40, 1 \le a_i \le n, \forall i \ne j, a_i \ne a_j\)

    ...
  • Petrozavodsk

    Petrozavodsk Programming Camp 是俄罗斯从 2002 年夏天开始每年定期举办两次的一个训练营,在每年8月举办 Petrozavodsk Summer Camp 训练营,次年1月举办 Winter Camp。每次训练营约有 9 天比赛,比赛题目基本上来自参加学校或者选手无偿提供,或者 Snark 通过各种交易从世界各地(比如杭电多校,牛客多校,Japan Alumni Group,区域赛等等)获取。

    比赛题目质量很高,难度也非常大,但是提交地方很难获取,题解也几乎没有,对训练和补题其实非常不友好。因此,我在这里整理所有毛营比赛在每个 OJ 上的提交连接,并且会陆续总结相关比赛的题解,希望能够对选手训练有所帮助,其中有 * 标记的是用于 Open Cup 的比赛。

    下面是这些题解对应的链接:

    ...
  • Project Euler Editorial

    This book aims at providing solutions for this site Project Euler and sharing interesting knowledge from Project Euler Forum.

    This book will only include solutions for problem in the archives. Besides, the solution for those problems solved by less than one hundred people will not published.

    Most of the Chinese translations of come from this site Project Euler | 欧拉计划.

    Hope you enjoy solving problems in Project Euler.

    “Project Euler exists to encourage, challenge, and develop the skills and enjoyment of anyone with an interest in the fascinating world of mathematics.”

    ...