课堂笔记 2024/5/19 (Easy Round)

四元组计数

题目描述:

\(i<j<k<l\)\(a_i=a_k,a_j=a_l\)\(i,j,k,l\) 的个数。

做法:

枚举 \(j,k\),预处理做完了。

Submission

Count The Blocks

\(n\) 位数(可能有前导 \(0\))。

对于 \(1\le i\le n\),问长为 \(i\) 的极长连续段数。

做法:

枚举 \(i\)

显然有 \(n-i-1\) 个非端点连续段,每个连续段有 \(810\) 种方案(两端每个 \(9\) 种,本身取值 \(10\) 种)。

端点连续段有 \(90\) 种取值。

剩下的不受影响。

最终答案为 \((n-i-1) \times 180 \times 10^{\max(0,(n-i-2))} + 180 \times 10^{\max(0,(n-i-1))}\)

特判 \(i=n\) 的情况,答案为 \(10\)

Submission

路径计数

\(n\) 个点的 dag。\(m\) 次询问,每次给定 \(k\) 个关键点。

\(s\rightarrow t\)不经过关键点的方案数。

做法:

\(a_{i,j}\) 表示从 \(i\rightarrow j\) 的方案数。

\(f_i\) 表示从 \(s\rightarrow k_i\) 且不经过其它 \(k_{j\ne i}\) 的方案数,则有 \(f_i=a_{s,k_i}-\sum_j a_{s,k_i}\times a_{k_j,k_i}\)

则答案为 \(a_{s,t}-\sum_i f_i\times a_{p_i,t}\)

题目描述:

CF1610D

做法:

\(i\) 序列最小元素为 \(x_i\) 则:

  • \(\sum \dfrac{b_i(2x_i+b_i-1)}{2}=0\)
  • \(\sum \dfrac{b_i(b_i-1)}{2}=-\sum b_ix_i\)

由裴蜀定理得:

  • \(\gcd(b_i)|\sum \dfrac{b_i(b_i-1)}{2}\)
  • \(2|\sum \dfrac{b_i(b_i-1)}{\gcd(b_i)}\)

如果 \(\gcd(b_i)\bmod 2=1\) 则恒成立。
否则设 \(\gcd(b_i)=k \times 2^p\),其中 \(k\bmod 2=1\)

  • \(2|\sum \dfrac{b_i(b_i-1)}{2^p}\)

枚举 \(p\),大于 \(p\) 的任选,等于 \(p\) 的选偶数个。

CF1545B

合并连续的两个1

数量记为 \(a\)

零的个数记为 \(b\)

由于 11 可以随意移动,则答案为 \(\binom{a}{a+b}\)

Submission

ZHY 的表示法

CF1511E

CF1444B

发现每次必定是最大的 \(n\) 个数 \(-\) 最小的 \(n\) 个数。

\(\binom{n}{2n}\)\(p,q\),乘积即为答案。

Submission

CF1245F

答案即为 \(a \operatorname{and} b =0\)\((a,b)\) 的个数。

数位 dp 即可。

Submission

CF1167E

CF1442B

CF1366E

CF1359E

发现 \(\forall i,a_1|a_i\),这题做完了。

posted @ 2024-05-19 14:49  WhisperingWillow  阅读(34)  评论(0)    收藏  举报