Codeforces Round 940 (Div. 2) and CodeCraft-23 (A-E)

A. Stickogon

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

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

submission

B. A BIT of a Construction

题意:构造包含 n 个非负元素的数组,使得 ai=k,并最大化 a1a2|an1 的个数。

如果 n=1,则 a={k}

否则:

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

最终只需选两个位置填 xkx,其余填 0

submission

C. How Does the Rook Move?

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

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

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

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

不妨让 n 表示新的行数。

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

如果当前下了 i1 类棋。

此时 ni 一定要偶数,否则 2 类棋下不完剩余列。

j=ni2,则问题转化为在 ni 个数中选出 j 对二元组的方案。

钦定白子选的列,然后黑子任意排列,则方案为 (nij)j!

所以最终局面数为 i=0n[ni0(mod2)](ni)(nij)j!

submission

D. A BIT of an Inequality

题意:定义 fl,r=i=lrai,求满足 fx,yfy,z>fx,z 的三元组个数。

化简原式:fx,zay>fx,z

区间异或,转化为前缀异或,即 szsx1ay>szsx1

  • ay 对左式的影响取决于最高位 j(低位影响的总和小于最高位)。
  • 不等式成立当且仅当 sx1sz 的第 j 位为 0,即sx1sz 的第 j 位相同。

枚举 ays[1,y)[y,n]0/1 个数之积即为答案。

submission

题意:求 i=1nj=1i(ij)(j1)!modj

j=1i(ij)(j1)!modj=j=1iijjmodj

j 个连续数相乘,ijj 一定被 j 整除,剩余数在模 j 意义下依次为 1,2,j1

所以原式可以写成 j=1iij(j1)!modj

威尔逊定理

威尔逊定理

p 为质数时,有

(p1)!1(modp)

证明

p=2 时,(21)!1(mod2)

p>2 时,即证 i=2p21(modp)

方程 x21(modp) 成立当且仅当 x1xp1

所以 x[2,p2]x1[2,p2]x1x

也就是 n32 对数两两匹配互为逆元。

推广

(n1)!{1n=pi4n=40n>4, npi(modn)

合数 n=p1α1pkαk

n 不为完全平方数时,p1np1p1, np1<n,所以 n(n1)!

n=p2 时:

如果 2p<n2p2(n1)!

否则 n=4(41)!2(mod4)


wj=(j1)!modjfi=j=1iijwjmodj

枚举 j=4j 为质数:

枚举 k,对于 i[kj,kj+j)jfikwj 的贡献,差分实现。

submission

作者:Luxinze

出处:https://www.cnblogs.com/Luxinze/p/18162677

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Lu_xZ  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示