后一修订版 | 前一修订版 | ||
2020-2021:teams:i_dont_know_png:week_summary_14 [2020/08/01 00:48] nikkukun 创建 |
2020-2021:teams:i_dont_know_png:week_summary_14 [2020/08/07 17:51] (当前版本) qxforever [qxforever] |
||
---|---|---|---|
行 5: | 行 5: | ||
^ 比赛时间 ^ 比赛名称 ^ | ^ 比赛时间 ^ 比赛名称 ^ | ||
- | | 2020.xx.xx | [[比赛链接 | 比赛名称]] | | + | | 2020.08.01 | [[multi2020-nowcoder-7 | 2020 Nowcoder Multi-University Training Contest 7]] | |
+ | | 2020.08.03 | [[multi2020-nowcoder-8 | 2020 Nowcoder Multi-University Training Contest 8]] | | ||
+ | | 2020.08.06 | [[ntuwftrial-2016 | 2016-2017 National Taiwan University World Final Team Selection Contest]] | | ||
===== 团队会议 ===== | ===== 团队会议 ===== | ||
+ | |||
+ | 无 | ||
行 16: | 行 20: | ||
==== 专题 ==== | ==== 专题 ==== | ||
+ | |||
+ | 无 | ||
==== 比赛 ==== | ==== 比赛 ==== | ||
- | **yukicoder contest 259** | + | **2020.07.31 yukicoder contest 259** |
^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ G ^ | ^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ G ^ | ||
| 通过 | √ | √ | √ | √ | | | | | | 通过 | √ | √ | √ | √ | | | | | ||
| 补题 | | | | | √ | √ | | | | 补题 | | | | | √ | √ | | | ||
+ | |||
+ | |||
+ | **2020.08.02 AtCoder Beginner Contest 174** | ||
+ | |||
+ | ^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ | ||
+ | | 通过 | √ | √ | √ | √ | √ | √ | | ||
+ | | 补题 | | | | | | | | ||
==== 学习总结 ==== | ==== 学习总结 ==== | ||
+ | 2020.08.07 [[.:nikkukun:pruefer-sequences| Prufer 序列]] | ||
+ | |||
+ | 2020.08.07 [[.:nikkukun:generating-function | 生成函数]] | ||
行 35: | 行 51: | ||
==== 专题 ==== | ==== 专题 ==== | ||
+ | 无 | ||
==== 比赛 ==== | ==== 比赛 ==== | ||
- | **比赛名称** | + | **2020.08.02 AtCoder Beginner Contest 174** |
^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ | ^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ | ||
- | | 通过 | √ | | | | | | | + | | 通过 | √ | √ | √ | √ | √ | √ | |
| 补题 | | | | | | | | | 补题 | | | | | | | | ||
- | ==== 学习总结 ==== | + | **2020.08.07 Codeforces Global Round 5** |
+ | ^ 题目 ^ A ^ B ^ C1 ^ C2 ^ D ^ E ^ F ^ | ||
+ | | 通过 | √ | √ | √ | √ | √ | | | | ||
+ | | 补题 | | | | | | | | | ||
+ | ==== 学习总结 ==== | ||
+ | 无 | ||
行 52: | 行 74: | ||
==== 专题 ==== | ==== 专题 ==== | ||
+ | |||
+ | 无 | ||
==== 比赛 ==== | ==== 比赛 ==== | ||
- | **比赛名称** | + | 无 |
- | + | ||
- | ^ 题目 ^ A ^ B ^ C ^ D ^ E ^ F ^ | + | |
- | | 通过 | √ | | | | | | | + | |
- | | 补题 | | | | | | | | + | |
==== 学习总结 ==== | ==== 学习总结 ==== | ||
+ | s1.swap(s2) | ||
行 78: | 行 98: | ||
* **题意**:给定 $n \leq 10^6$,求有多少个边长是整数且均大于 $1$ 的三角形面积为 $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$,验证结果是否满足三角形三边关系即可。 | * **题解**:考虑海伦公式 $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 变换,更多应用 [[https://shakayami-math.hatenablog.com/entry/2019/03/04/022518 | 见此]]。 | + | * **备注**:通过换元得到一个较好的关系式,进而解决问题。如果一开始就考虑用三角函数去表示面积的话,后面基本就没法做了。这个代换法称为 Ravi 变换,更多应用 [[https://shakayami-math.hatenablog.com/entry/2019/03/04/022518 | 见此]]。 |
行 84: | 行 104: | ||
==== qxforever ==== | ==== qxforever ==== | ||
- | [[题目链接 | 题目名称]] | + | [[https://codeforces.com/contest/903/problem/G| 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 ==== | ==== Potassium ==== | ||
- | [[题目链接 | 题目名称]] | + | [[https://codeforces.com/problemset/problem/827/E | 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$ 也必然是合法循环节。枚举一下筛掉不合法的即可。 | ||
+ | * **备注**:对于循环节倍数性质的观察很重要。 | ||
+ | |||
- | * **题意**: | ||
- | * **题解**: | ||
- | * **备注**: |