|
|
既然超过 \(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
|
|
|
500分留念
感谢小青蛙给一个机会 题解已发布 |
|
|
小凯的疑惑
当s=9,t=10; 互质; 最小不可拼出的为s*t-s-t; 即71; |
|
|
2520压缩法。。
|
|
|
我傻。
|
|
|
第一发状态压缩动态规划
|
|
|
我只说,小心压缩两个石头到同一位置。。。
|
|
|
去年全校大扫除是高一做的,所以今年的全校大扫除应该高二做了,你们也不用觉得不公平,明年就轮到高三做了
|
|
|
#include<iostream>
using namespace std; int main()/*阶段是每走一步,状态是起点到该坐标点最小石子数, 决策是s-t走几步 状态转移方程是f(i)=min{f(i-k)+d【i】)}s《k《t无论怎么说 都要跳到i那里 直接跳到i那里的石子数是看 i那里有木有 而中间不仅要看i还要考虑 所以肯定 是直接跳到那里为最优决策; */ {int d[10000000],stone[101],f[100000000],l,s,t,m; cin>>l>>s>>t>>m; for (int j=1;j<=m;j++) cin>>stone[i]; }
题目 111 [NOIP 2005]过河
2016-09-29 21:09:58
|
|
|
|
|
|
三点注意:
1、可能输入的石子位置是乱序,应先排序(只是可能,体现程序鲁棒性)。 2、要压缩长度,压缩到t*(t-1)。 3、注意循环越界(&&v>=j)。 |
|
|
题目 111 [NOIP 2005]过河
2016-03-25 10:57:55
|
|
|
|
|
|
提交了14次
![]() ① 前10次都有E,今天调的时候发现,我竟然在压缩前就标记了那个石头,10^9的数组不崩就怪了。②memset坐标数组多了一个地方,把计算完的又成0x7fffffff了 这弱智的错误╮(╯▽╰)╭,果然是蒟蒻。
题目 111 [NOIP 2005]过河
2016-03-23 09:12:38
|
|
|
数据三把机房电脑干崩了= = 一定是我的程序有问题。
![]() ![]()
题目 111 [NOIP 2005]过河
2016-03-23 08:30:01
|
|
|
压缩的最优值 max=s*[(s-1)/(t-s)](向上取整)
题目 111 [NOIP 2005]过河
2016-03-20 15:32:05
|
|
|
题目 111 [NOIP 2005]过河
2016-03-19 13:36:17
|