Codeforces Round 940 (Div. 2) and CodeCraft-23 (A-E)
A. Stickogon
题意:给定 \(n\) 根木棒长度,问最多构成几个多边形。
贪心,四边形不会优于三角形。
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\)。
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\) 表示新的行数。
- 下在 \((i, i)\) 相当于在剩余列中选出一列。
- 下在 \((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!\)
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\) 个数之积即为答案。
E. Carousel of Combinations
题意:求 \(\sum\limits_{i = 1}^n \sum\limits_{j = 1}^i \begin{pmatrix}i\\j \end{pmatrix}(j - 1)! \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 = 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}\) 对数两两匹配互为逆元。
推广
\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\) 的贡献,差分实现。
Codeforces Round 940 (Div. 2) and CodeCraft-23 (A-E)的更多相关文章
- Codeforces Round #547 (Div. 3) A.Game 23
链接:https://codeforces.com/contest/1141/problem/A 题意: 给n和m,有两种操作:将n×2 或 n×3,求最少的乘法次数由n得到m. 不能得到时为-1. ...
- Codeforces Round #324 (Div. 2)解题报告
---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...
- Codeforces Round #258 (Div. 2)[ABCD]
Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...
- Codeforces Round #523 (Div. 2)
Codeforces Round #523 (Div. 2) 题目一览表 来源 考察知识点 完成时间 A Coins cf 贪心(签到题) 2018.11.23 B Views Matter cf 思 ...
- 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 ...
- Codeforces Round #456 (Div. 2)
Codeforces Round #456 (Div. 2) A. Tricky Alchemy 题目描述:要制作三种球:黄.绿.蓝,一个黄球需要两个黄色水晶,一个绿球需要一个黄色水晶和一个蓝色水晶, ...
- Codeforces Round #247 (Div. 2) ABC
Codeforces Round #247 (Div. 2) http://codeforces.com/contest/431 代码均已投放:https://github.com/illuz/Wa ...
- Codeforces Round #261 (Div. 2)[ABCDE]
Codeforces Round #261 (Div. 2)[ABCDE] ACM 题目地址:Codeforces Round #261 (Div. 2) A - Pashmak and Garden ...
- 构造 Codeforces Round #Pi (Div. 2) B. Berland National Library
题目传送门 /* 题意:给出一系列读者出行的记录,+表示一个读者进入,-表示一个读者离开,可能之前已经有读者在图书馆 构造:now记录当前图书馆人数,sz记录最小的容量,in数组标记进去的读者,分情况 ...
- Codeforces Round 363 Div. 1 (A,B,C,D,E,F)
Codeforces Round 363 Div. 1 题目链接:## 点击打开链接 A. Vacations (1s, 256MB) 题目大意:给定连续 \(n\) 天,每天为如下四种状态之一: 不 ...
随机推荐
- 痞子衡嵌入式:给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败. 最近有一个 RW612 产品 ...
- NPM包管理器
一.简介 1.NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的:也是Node.js的包管理工具,相当于Maven. ...
- CornerNet:经典keypoint-based方法,通过定位角点进行目标检测 | ECCV2018
论文提出了CornerNet,通过检测角点对的方式进行目标检测,与当前的SOTA检测模型有相当的性能.CornerNet借鉴人体姿态估计的方法,开创了目标检测领域的一个新框架,后面很多论文都基于Cor ...
- KingbaseESV8R6 heap table末端垃圾页回收机制
前言 默认情况下,vacuum表不能释放磁盘空间,只是在dead tuple做个标记位,但heap table末端的垃圾页可以被truncate,从磁盘中释放空间.例如表的末尾的100个数据块里面全是 ...
- KingbaseES Json 系列六:Json记录操作函数一
KingbaseES Json 系列六--Json记录操作函数一(JSONB_TO_RECORD,JSONB_TO_RECORDSET,JSON_TO_RECORD,JSON_TO_RECORDSET ...
- #莫队,根号分治#洛谷 5071 [Ynoi2015] 此时此刻的光辉
题目传送门 分析 约数个数就是 \(\prod{(c+1)}\),但是带 \(log\) 会TLE, 考虑将每个数分成 \(\leq \sqrt[3]{n}\) 和 \(>\sqrt[3]{n} ...
- Android NDK之使用 arm-v7a 汇编实现两数之和
Android NDK之使用 arm-v7a 汇编实现两数之和 关键词: NDK armv7a WebRTC arm汇编 CMake 最近适配对讲程序,在webrtc的库编译的过程中,发现其为arm的 ...
- npm/cnpm 设置镜像地址
npm 查看当前镜像源: npm config get registry # https://registry.npmjs.org/ 修改当前镜像源: npm config set registry ...
- 使用OHOS SDK构建bullet
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/bulletphysic ...
- OpenHarmony社区运营报告(2023年12月)
• 截至2023年12月22日,OpenAtom OpenHarmony(简称"OpenHarmony")社区累计超过6700名贡献者,产生26.9万多个PR,2.4万多个St ...