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. CYarp:力压frp的C#高性能http内网反代中间件

    我以前开发过HttpMouse的http内网反代中间件,但由于当时的知识点与设计水平受限,所以把它下马了.随着自身又遇到http内网反代的需求,在frp不能满足我需求情况下,我又启动了一个叫CYarp ...

  2. linux安装/切换不同版本c/c++

    查看ubuntu系统上g++的版本: ls /usr/bin/g++* 安装指定版本gcc和g++ # 以version == 4.9为例 sudo apt-get install gcc-4.9 g ...

  3. #启发式合并,LIS,平衡树#洛谷 4577 [FJOI2018]领导集团问题

    题目 在一棵树上选择最多的点,使得存在祖先关系的点满足\(w_x\leq w_y\),其中\(x\)是\(y\)的祖先 分析 祖先链上要满足\(LIS\),考虑将子节点的LIS序列合并至节点\(x\) ...

  4. #网络流,分层图#洛谷 4400 [JSOI2008] Blue Mary的旅行

    题目 分析 考虑答案一定最大不超过\(n\),那么可以建分层图, 若当前最大流等于\(n\),直接输出枚举的天数 \((x,x')\)容量为\(inf\),\((x,y')\)容量为一个航班最多的票数 ...

  5. #Splay#U137476 序列

    题目 给定长度为\(n\)的序列\(Ai\) ,我们将按照如下操作给\(Ai\) 排序, 先找到编号最小的所在位置\(x1\) ,将\([1,x1]\) 翻转, 再找到编号第二小的所在位置\(x2\) ...

  6. 基于HANA重构业务的总结

    本文于2019年7月29日完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 依据领导的规划,本月启动了一项业务迁移工作,作为特别行动,部门安 ...

  7. SQL 算术运算符:加法、减法、乘法、除法和取模的用法

    SQL Server中的存储过程 什么是存储过程? 存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用.它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在 ...

  8. keycloak~网站对接到Keycloak的步骤

    新网站对接到KC的部署 kc的环境 向kc申请自己的客户端 kc的登录接口 通过code换token接口 刷新token接口 kc的用户信息接口 kc的jwt token说明 1. kc的环境 测试环 ...

  9. VMware下CentOS7.6安装openGauss

    VMware 下 CentOS7.6(7.9)安装 openGauss centos 安装 这里我使用的是 vmware workstation Pro 15 虽然官网了解了一下 openGauss ...

  10. HarmonyOS数据管理与应用数据持久化(二)

    通过键值型数据库实现数据持久化 场景介绍 键值型数据库存储键值对形式的数据,当需要存储的数据没有复杂的关系模型,比如存储商品名称及对应价格.员工工号及今日是否已出勤等,由于数据复杂度低,更容易兼容不同 ...