A. Stickogon

题意:给定 \(n\) 根木棒长度,问最多构成几个多边形。

贪心,四边形不会优于三角形。

submission

B. A BIT of a Construction

题意:构造包含 \(n\) 个非负元素的数组,使得 \(\sum a_i = k\),并最大化 \(a_1 \mid a_2 \dots | a_n\) 中 \(1\) 的个数。

如果 \(n = 1\),则 \(a = \{k\}\)。

否则:

  • 将 \(k\) 的所有 \(1\) 往低位移,得到 \(1\) 的个数与 \(k\) 相同的最小的数 \(x\),如 \((10100)_2 \rightarrow (00011)_2\)
  • 从低到高往 \(x\) 上添 \(1\),直到大于 \(k\)

最终只需选两个位置填 \(x\) 和 \(k - x\),其余填 \(0\)。

submission

C. How Does the Rook Move?

题意:\(n \times n\) 的棋盘上 \(A\) 与电脑轮流下车,\(A\) 白子,电脑黑子,满足:

  • 一行或一列只能存在一个车,不论颜色。
  • \(A\) 下在 \((i, j)\),则电脑下 \((j, i)\)。
  • \(A\) 下在 \((i, i)\),则电脑 skip。

\(A\) 先手,给定 \(A\) 的前 \(k\) 步棋,求不同的最终局面个数。

注意到最终局面与前 \(k\) 步棋的位置无关,只取决于于 \(k\) 步之后还剩多少行和列。

不妨让 \(n\) 表示新的行数。

  1. 下在 \((i, i)\) 相当于在剩余列中选出一列。
  2. 下在 \((i, j)\) 相当于白子选一列,黑子选一列。

如果当前下了 \(i\) 步 \(1\) 类棋。

此时 \(n - i\) 一定要偶数,否则 \(2\) 类棋下不完剩余列。

令 \(j = \dfrac{n - i}{2}\),则问题转化为在 \(n - i\) 个数中选出 \(j\) 对二元组的方案。

钦定白子选的列,然后黑子任意排列,则方案为 \(\begin{pmatrix}n - i\\ j \end{pmatrix} j!\)

所以最终局面数为 \(\sum\limits_{i = 0}^n [n - i \equiv 0 \pmod 2] \begin{pmatrix}n\\ i \end{pmatrix} \begin{pmatrix} n - i\\ j\end{pmatrix} j!\)

submission

D. A BIT of an Inequality

题意:定义 \(f_{l, r} = \bigoplus\limits_{i = l}^r a_i\),求满足 \(f_{x, y} \oplus f_{y, z} > f_{x, z}\) 的三元组个数。

化简原式:\(f_{x, z} \oplus a_y > f_{x, z}\)

区间异或,转化为前缀异或,即 \(s_{z} \oplus s_{x - 1} \oplus a_y > s_{z} \oplus s_{x - 1}\)

  • \(a_y\) 对左式的影响取决于最高位 \(j\)(低位影响的总和小于最高位)。
  • 不等式成立当且仅当 \(s_{x - 1} \oplus s_{z}\) 的第 \(j\) 位为 \(0\),即\(s_{x - 1}\) 与 \(s_{z}\) 的第 \(j\) 位相同。

枚举 \(a_y\),\(s\) 中 \([1, y)\) 与 \([y, n]\) 的 \(0/1\) 个数之积即为答案。

submission

E. Carousel of Combinations

题意:求 \(\sum\limits_{i = 1}^n \sum\limits_{j = 1}^i \begin{pmatrix}i\\j \end{pmatrix}(j - 1)! \bmod j\)

\[\sum\limits_{j = 1}^i \begin{pmatrix}i\\j \end{pmatrix}(j - 1)! \bmod j = \sum\limits_{j = 1}^i \dfrac{i^{\underline{j}}}{j} \bmod j
\]

\(j\) 个连续数相乘,\(\lfloor\dfrac{i}{j}\rfloor \cdot j\) 一定被 \(j\) 整除,剩余数在模 \(j\) 意义下依次为 \(1, 2\dots ,j - 1\)。

所以原式可以写成 \(\sum\limits_{j = 1}^i \lfloor\dfrac{i}{j}\rfloor (j - 1)! \bmod j\)

威尔逊定理

威尔逊定理

当 \(p\) 为质数时,有

\[(p - 1) ! \equiv -1 \pmod p
\]
证明

当 \(p = 2\) 时,\((2 - 1)! \equiv -1 \pmod 2\)。

当 \(p > 2\) 时,即证 \(\prod\limits_{i = 2}^{p - 2} \equiv 1 \pmod p\)。

方程 \(x^2 \equiv 1 \pmod p\) 成立当且仅当 \(x \equiv 1\) 或 \(x \equiv p - 1\)。

所以 \(\forall x \in [2, p - 2]\),\(x^{-1} \in [2, p - 2]\) 且 \(x^{-1} \ne x\)。

也就是 \(\dfrac{n - 3}{2}\) 对数两两匹配互为逆元。

推广
\[(n - 1)!\equiv
\begin{cases}
-1 \,&n = p_i\\
4 \,& n = 4\\
0 \,&n > 4, \ n \ne p_i \\
\end{cases}
\pmod n
\]

合数 \(n = p_1^{\alpha_1}\dots p_k^{\alpha_k}\)。

当 \(n\) 不为完全平方数时,\(p_1 \ne \dfrac{n}{p_1}\) 且 \(p_1, \ \dfrac{n}{p_1} < n\),所以 \(n \mid (n - 1)!\)。

当 \(n = p^2\) 时:

如果 \(2p < n\),\(2p^2 \mid (n - 1)!\)。

否则 \(n = 4\),\((4 - 1)! \equiv 2 \pmod 4\)。


令 \(w_j = (j - 1)! \bmod j\),\(f_i = \sum\limits_{j = 1}^i \lfloor\dfrac{i}{j}\rfloor w_j \bmod j\)。

枚举 \(j = 4\) 或 \(j\) 为质数:

枚举 \(k\),对于 \(i \in [k\cdot j, k\cdot j + j)\),\(j\) 对 \(f_i\) 有 \(k \cdot w_j\) 的贡献,差分实现。

submission

Codeforces Round 940 (Div. 2) and CodeCraft-23 (A-E)的更多相关文章

  1. Codeforces Round #547 (Div. 3) A.Game 23

    链接:https://codeforces.com/contest/1141/problem/A 题意: 给n和m,有两种操作:将n×2 或 n×3,求最少的乘法次数由n得到m. 不能得到时为-1. ...

  2. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  3. Codeforces Round #258 (Div. 2)[ABCD]

    Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...

  4. Codeforces Round #523 (Div. 2)

    Codeforces Round #523 (Div. 2) 题目一览表 来源 考察知识点 完成时间 A Coins cf 贪心(签到题) 2018.11.23 B Views Matter cf 思 ...

  5. Codeforces Round #296 (Div. 1) C. Data Center Drama 欧拉回路

    Codeforces Round #296 (Div. 1)C. Data Center Drama Time Limit: 2 Sec  Memory Limit: 256 MBSubmit: xx ...

  6. Codeforces Round #456 (Div. 2)

    Codeforces Round #456 (Div. 2) A. Tricky Alchemy 题目描述:要制作三种球:黄.绿.蓝,一个黄球需要两个黄色水晶,一个绿球需要一个黄色水晶和一个蓝色水晶, ...

  7. Codeforces Round #247 (Div. 2) ABC

    Codeforces Round #247 (Div. 2) http://codeforces.com/contest/431  代码均已投放:https://github.com/illuz/Wa ...

  8. Codeforces Round #261 (Div. 2)[ABCDE]

    Codeforces Round #261 (Div. 2)[ABCDE] ACM 题目地址:Codeforces Round #261 (Div. 2) A - Pashmak and Garden ...

  9. 构造 Codeforces Round #Pi (Div. 2) B. Berland National Library

    题目传送门 /* 题意:给出一系列读者出行的记录,+表示一个读者进入,-表示一个读者离开,可能之前已经有读者在图书馆 构造:now记录当前图书馆人数,sz记录最小的容量,in数组标记进去的读者,分情况 ...

  10. Codeforces Round 363 Div. 1 (A,B,C,D,E,F)

    Codeforces Round 363 Div. 1 题目链接:## 点击打开链接 A. Vacations (1s, 256MB) 题目大意:给定连续 \(n\) 天,每天为如下四种状态之一: 不 ...

随机推荐

  1. 痞子衡嵌入式:给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败. 最近有一个 RW612 产品 ...

  2. NPM包管理器

    一.简介 1.NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的:也是Node.js的包管理工具,相当于Maven. ...

  3. CornerNet:经典keypoint-based方法,通过定位角点进行目标检测 | ECCV2018

    论文提出了CornerNet,通过检测角点对的方式进行目标检测,与当前的SOTA检测模型有相当的性能.CornerNet借鉴人体姿态估计的方法,开创了目标检测领域的一个新框架,后面很多论文都基于Cor ...

  4. KingbaseESV8R6 heap table末端垃圾页回收机制

    前言 默认情况下,vacuum表不能释放磁盘空间,只是在dead tuple做个标记位,但heap table末端的垃圾页可以被truncate,从磁盘中释放空间.例如表的末尾的100个数据块里面全是 ...

  5. KingbaseES Json 系列六:Json记录操作函数一

    KingbaseES Json 系列六--Json记录操作函数一(JSONB_TO_RECORD,JSONB_TO_RECORDSET,JSON_TO_RECORD,JSON_TO_RECORDSET ...

  6. #莫队,根号分治#洛谷 5071 [Ynoi2015] 此时此刻的光辉

    题目传送门 分析 约数个数就是 \(\prod{(c+1)}\),但是带 \(log\) 会TLE, 考虑将每个数分成 \(\leq \sqrt[3]{n}\) 和 \(>\sqrt[3]{n} ...

  7. Android NDK之使用 arm-v7a 汇编实现两数之和

    Android NDK之使用 arm-v7a 汇编实现两数之和 关键词: NDK armv7a WebRTC arm汇编 CMake 最近适配对讲程序,在webrtc的库编译的过程中,发现其为arm的 ...

  8. npm/cnpm 设置镜像地址

    npm 查看当前镜像源: npm config get registry # https://registry.npmjs.org/ 修改当前镜像源: npm config set registry ...

  9. 使用OHOS SDK构建bullet

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/bulletphysic ...

  10. OpenHarmony社区运营报告(2023年12月)

      • 截至2023年12月22日,OpenAtom OpenHarmony(简称"OpenHarmony")社区累计超过6700名贡献者,产生26.9万多个PR,2.4万多个St ...