|
既然超过 \(S \cdot T\) 的空地不会改变青蛙的“记忆模式”,我们就可以把任意长的空地**缩短成 \(S \cdot T\)**,而不影响最终答案。
例如,若石子在 100 和 10000 处,中间 9900 格全是空的,我们只需保留 90 格(因 \(S,T \leq 10\),取 \(10 \times 9 = 90\))。压缩后,DP 状态空间大小从 \(L\)(可能 10⁹)降到约 \(100 \times 90 = 9000\),计算可行。**这个 \(S \cdot T\) 就是保证状态“线性无关组已完备”的临界长度**。
题目 111 [NOIP 2005]过河
2025-10-23 22:55:12
|
|
假设两块石子之间全是空地,距离为 \(d\)。青蛙能跳 \(S, S+1, \dots, T\) 格。数学上可以证明:只要 \(d > S \cdot T\),青蛙就能通过不同跳法,**落到这段空地之后的任意“相对位置”**(比如刚好对齐某个余数)。
这是因为步长集合能“生成”所有足够大的数(因 \(\gcd=1\)),而 \(S \cdot T\) 是最坏情况下需要的最小长度(来自 Frobenius 问题)。此时,状态向量 \(\mathbf{v}_x\) 已经遍历了所有可能的组合,**新增的空地不会带来新信息**——就像背完乘法表后,再背也是重复。
题目 111 [NOIP 2005]过河
2025-10-23 22:54:58
|
|
青蛙跳到位置 \(x\) 时,最少踩多少石子,只和它**前 \(T\) 步**的情况有关(因为最多跳 \(T\) 格)。我们可以把这 \(T\) 个值写成一个“状态向量”:
\[ \mathbf{v}_x = \begin{bmatrix} f(x-T+1) \\ f(x-T+2) \\ \vdots \\ f(x) \end{bmatrix} \] 这个向量就像青蛙的“记忆”,长度固定为 \(T\)。所以,不管桥多长,所有可能的“记忆”最多只有 \(T\) 个独立方向——这叫**状态空间维度不超过 \(T\)**。一旦走过一段很长的空地,这些“记忆”就会开始重复。
题目 111 [NOIP 2005]过河
2025-10-23 22:54:43
|
|
以下内容是根据陈老师讲的后增加的自我总结的内容
题目 111 [NOIP 2005]过河
2025-10-23 22:54:33
|
|
回复 @hsl_beat :
[ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
页面 99 2025开训指南
2025-10-23 20:42:57
|
|
题目 3051 [NOIP 2018PJ]摆渡车
2025-10-23 19:51:29
|
|
水题
|
|
双倍经验:
http://218.28.19.228:8081/cogs/problem/problem.php?pid=vNxXmkqqa 1440. [NOIP 2013]积木大赛
题目 3053 [NOIP 2018]铺设道路
2025-10-19 14:39:49
|
|
题目 3288 [CSP 2019J]零件加工
2025-10-18 19:28:18
|
|
数据说明错误
在数据说明板块中,对m和colori的描述为"1<=m<=10000,1<=colori<=", 其中colori缺少最大数, 应该为"1<=m<=10000,1<=colori<=m"或"1<=colori<=m<=10000"。
题目 2112 [NOIP 2015PJ]求和
2025-10-18 08:54:15
|
|
$ 举个例子,假如你现在遇到的string-b中的元素分别为 1,2,3,4,*,1,2,3,4;$
在第一层循环时 $ a[1] = b[j] $ 在下一次时 $ a[i] *= 10 $ $ a[i]+=b[j] $ 此时 $ j=1 $ 同时第三次时 此时 $ j=2 $ 同时第四次 此时 $ j=3 $ 注意,后面我们遇到的符号 ,所以我们将保存数据到一个全新的 $ 数组- c $ 中,其中 $ jsq $ 在判断到遇到符号所以jsq在存储完后加上2(一个存上一个数字,一个存这次的符号) 此时 $ jsq=2 $
题目 1425 [NOIP 2013PJ]表达式求值
2025-10-16 19:42:27
|
|
说句闲话:http://172.30.1.3/cogs/submit/code.php?id=7SzeaWqgk 5 9 4 7 行 代 码 但没事了我们写出整正解了
|
|
题目 2559 [NOIP 2016]组合数问题
2025-10-16 19:40:10
|
|
可以不开longlong,我的话是用了一个string,然后先分离,在分离数字时可以搞一个int变量,在遇到数字时直接加上,下一次先乘以10再直接加上就好了,当然这些是扫到数字的时候的时候执行的,当遇到符号的时候就直接让那个int定量加一下,例如刚开始是a[i],扫到符号后下一次遇到数字就存到a[i+1]
|
|
要开longlong啊
题目 3074 动物园
2025-10-16 16:54:29
|
|
所以说HS到底是谁?
题目 2875 梦那边的美好
2025-10-14 20:27:15
|
|
阴
题目 3175 [HSOI 2019] HS与小鲜肉
2025-10-12 21:53:24
|
|
来源里的璃月港算法竞赛太细节了
|
|
好难啊
题目 3068 HS读法书
2025-10-12 19:26:16
|
|
- 通行后到达时间为 $T'' = T' + 1$,余数为 $(r + 1) \bmod k$;
- 用 $T''$ 更新 $d[v][(r+1) \bmod k]$。 最终答案为 $\min_{0 \leq r < k} d[n][r]$。 |