Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
既然超过 \(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
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
假设两块石子之间全是空地,距离为 \(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
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
青蛙跳到位置 \(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
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
以下内容是根据陈老师讲的后增加的自我总结的内容

题目 111 [NOIP 2005]过河
2025-10-23 22:54:33
Gravatar
llbc1234
积分:20
提交:7 / 20
回复 @hsl_beat :
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [(bg

页面 99 2025开训指南
2025-10-23 20:42:57
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409

Gravatar
2_16鸡扒拌面
积分:135
提交:48 / 150
水题

Gravatar
梦那边的美好CE
积分:626
提交:143 / 366
双倍经验
http://218.28.19.228:8081/cogs/problem/problem.php?pid=vNxXmkqqa
1440. [NOIP 2013]积木大赛

Gravatar
会放牛的鸵鸟
积分:52
提交:70 / 163
回复 @ムラサメ :
文明 @回归运动

Gravatar
PigFlies
积分:12
提交:13 / 36
数据说明错误
在数据说明板块中,对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
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
$ 举个例子,假如你现在遇到的string-b中的元素分别为 1,2,3,4,*,1,2,3,4;$
在第一层循环时 $ a[1] = b[j] $
在下一次时 $ a[i] *= 10 $ $ a[i]+=b[j] $
此时 $ j=1 $
$ a[i]=1*10+2=12 $

同时第三次时
此时 $ j=2 $
$ a[i]=12*10+3=123 $

同时第四次
此时 $ j=3 $
$ a[i]=123*10+4=1234 $

注意,后面我们遇到的符号 ,所以我们将保存数据到一个全新的 $ 数组- c $ 中,其中 $ jsq $ 在判断到遇到符号所以jsq在存储完后加上2(一个存上一个数字,一个存这次的符号)
此时 $ jsq=2 $
$ c[1]=1234 c[2]=* $

Gravatar
hsl_beat
积分:197
提交:28 / 39
说句闲话:http://172.30.1.3/cogs/submit/code.php?id=7SzeaWqgk 5 9 4 7 行 代 码 但没事了我们写出整正解了

Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
回复 @hsl_beat :
啊?我上次交了一个2000行的html小游戏都说文件太大了,大佬求教程

Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
可以不开longlong,我的话是用了一个string,然后先分离,在分离数字时可以搞一个int变量,在遇到数字时直接加上,下一次先乘以10再直接加上就好了,当然这些是扫到数字的时候的时候执行的,当遇到符号的时候就直接让那个int定量加一下,例如刚开始是a[i],扫到符号后下一次遇到数字就存到a[i+1]

Gravatar
陆晨洗
积分:432
提交:108 / 218
要开longlong啊

题目 3074 动物园
2025-10-16 16:54:29
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
所以说HS到底是谁?

题目 2875 梦那边的美好
2025-10-14 20:27:15
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409

Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
来源里的璃月港算法竞赛太细节了

题目 3648 挂分跑步 AAAAA
2025-10-12 20:10:00
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
好难啊

题目 3068 HS读法书
2025-10-12 19:26:16
Gravatar
金牌教师王艳芳
积分:169
提交:68 / 409
- 通行后到达时间为 $T'' = T' + 1$,余数为 $(r + 1) \bmod k$;
- 用 $T''$ 更新 $d[v][(r+1) \bmod k]$。
最终答案为 $\min_{0 \leq r < k} d[n][r]$。