用户工具

站点工具


2020-2021:teams:i_dont_know_png:week_summary_14

2020.08.01-2020.08.07 周报

团队训练

团队会议

个人训练 - nikkukun

专题

比赛

2020.07.31 yukicoder contest 259

题目 A B C D E F G
通过
补题

2020.08.02 AtCoder Beginner Contest 174

题目 A B C D E F
通过
补题

学习总结

2020.08.07 Prufer 序列

2020.08.07 生成函数

个人训练 - qxforever

专题

比赛

2020.08.02 AtCoder Beginner Contest 174

题目 A B C D E F
通过
补题

2020.08.07 Codeforces Global Round 5

题目 A B C1 C2 D E F
通过
补题

学习总结

个人训练 - Potassium

专题

比赛

学习总结

s1.swap(s2)

本周推荐

nikkukun

yukicoder contest 259 E - 面積Nの三角形

  • 题意:给定 $n \leq 10^6$,求有多少个边长是整数且均大于 $1$ 的三角形面积为 $n$。
  • 题解:考虑海伦公式 $S = \sqrt {p (p-a)(p-b)(p-c)}$,其中 $p = \dfrac {a + b + c}2$。做代换 $\begin{cases} x = p-a \\ y = p-b \\ z = p-c \\ p = x + y + z \\ \end{cases}$,有 $S^2 = xyz(x + y + z)$,且显然 $(x, y, z)$ 与 $(a, b, c)$ 一一对应。注意到 $n$ 的因数是 $O(n^{1/3})$ 级别的,因此可以暴力枚举 $x, y \mid n^2$,解一个二次方程可以得到 $z$,验证结果是否满足三角形三边关系即可。
  • 备注:通过换元得到一个较好的关系式,进而解决问题。如果一开始就考虑用三角函数去表示面积的话,后面基本就没法做了。这个代换法称为 Ravi 变换,更多应用 见此

qxforever

CF903G

  • 题意:给两条链 $A,B$ ,$A_i$ 到 $A_{i+1}$ 和 $B_i$ 到 $B_{i+1}$ 有流量。$A$ 到 $B$ 有一些连边。可以修改 $A$ 中某些边的流量,$q$ 组询问 $A_1$ 到 $B_n$ 的最大流。 $n,q\le 2\times 10^5$
  • 题解:考虑最小割,我们在 $A$ 和 $B$ 中最多割掉一条边,以及一些 $A,B$ 之间的连边。假设在 $A,B$ 中割的边为 $i,j$ ,可以枚举 $i$ ,用线段树维护出对应 $j$ 的最小割。而修改时,每个 $i$ 对应的割边已经确定,只需要在线段树上点修改维护最小值即可。
  • 备注:非常妙的图的性质配合线段树维护。

Potassium

CF827E Rusty String

  • 题意:给一个 ‘a’ ‘b’ ’?‘ 三种字符组成的串,’?‘ 代表可以选取 ’a‘ ’b‘ 任意一种字符。求所有可能的循环节长度,循环节在字符串结尾可以被截断。
  • 题解:设 $x$ 为循环节,暂时把 '?' 作为通配符处理,分别处理 'a' 'b',则设 $f(x)=[s_x='a'], g(x)=[s_x='b']$ ,$h(x)=\sum_{i=x}^{n-1}f(i)g(i-x)$ ,$x$ 不是循环节当且仅当 $h(x)\neq 0$。考虑 '?' 不是通配符,于是充要条件变成充分条件。观察到当 $p$ 是合法循环节时 $kp$ 也必然是合法循环节,且如果全部 $kp$ 都是合法循环节,那么 $p$ 也必然是合法循环节。枚举一下筛掉不合法的即可。
  • 备注:对于循环节倍数性质的观察很重要。
2020-2021/teams/i_dont_know_png/week_summary_14.txt · 最后更改: 2020/08/07 17:51 由 qxforever