问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

noip2005 过河 的路径压缩问题

发布网友 发布时间:2022-04-22 02:22

我来回答

4个回答

热心网友 时间:2023-09-04 06:04

问题分析:
此题初看是一个典型的搜索题。从河的一侧到河的另一侧,要找最少踩到的石头数。但从数据范围来看。1..109长度的桥。就算是O(n)的算法也不能在一秒内出解。
如果搜索石子,方法更困难。这要考虑到前面以及后面连续的石子。若换一种方法。用动态规划,以石子分阶段的一维动规,时间复杂度是O(n2)。最多也只有100×100的时间。但是这样分状态就十分复杂。因为石头的分布是没有任何规律,而且会有后效性。
这样只好有回到搜索。搜索石子会和动规一样没有规律。我们一桥的长度为对象进行搜索,然后再加上一个巧妙的剪枝就可以在很短的时间内出解。可以号称为O(m2)。[批注:号称一词已成为湖南OI本世纪流行词汇

题目实现:
先以时间为对象进行搜索。时间复杂度为O(L)。从桥的一侧到另一侧,中间最多只有100个石子。假设桥长为最大值(109),石头数也为最大值(100)。这样中间一定会有很多“空长条” (两个石子中的空地),处理时把这些跳过,就只会有M次运算。关键是找出每一个可以跳过的“空长条”。
我们可以先把青蛙可以跳出的所有可能求出,然后就可以求出可以忽略的“空长条”。

特殊算法:
a[i]:前i个坐标中石子最小个数,初始为第i个坐标的石子个数
b[i]:第i个石子坐标
动规
a[0]=0;
对n>=t
a[n]=min{a[n]+a[n-s],a[n]+a[n-s-1], ...,a[n]+a[n-t]}
对s=<n<t
a[n]=max{a[n]+a[n-s],a[n]+a[n-s-1],...,a[n]+a[0]}
但由于n较大直接动规会超时。所以要将n压缩
查看坐标,可以发现,如果b[i]-b[i-1]>t,显然对于b[i-1]+t<n<b[i],a[n]总是等于a[b[i-1]]..a[b[i-1]+t]中的数,因此可对其进行压缩。
注意,在计算过程中,由于其中有一些坐标是永远走不到的,因此需要用一个布尔型的数组c[n]进行判断。方法是,对于c[n],如果0<n<s,则c[n]为false,如果n>s,c[n-t],c[n-t+1],...,c[n-s]都为false,则c[n]也为false。 (请不要与我的答案重复,谢谢)

热心网友 时间:2023-09-04 06:05

[问题分析]
此题初看是一个典型的搜索题。从河的一侧到河的另一侧,要找最少踩到的石头数。但从数据范围来看。1..109长度的桥。就算是O(n)的算法也不能在一秒内出解。
如果搜索石子,方法更困难。这要考虑到前面以及后面连续的石子。若换一种方法。用动态规划,以石子分阶段的一维动规,时间复杂度是O(n2)。最多也只有100×100的时间。但是这样分状态就十分复杂。因为石头的分布是没有任何规律,而且会有后效性。
这样只好有回到搜索。搜索石子会和动规一样没有规律。我们一桥的长度为对象进行搜索,然后再加上一个巧妙的剪枝就可以在很短的时间内出解。可以号称为O(m2)。[批注:号称一词已成为湖南OI本世纪流行词汇 ]

[题目实现]
先以时间为对象进行搜索。时间复杂度为O(L)。从桥的一侧到另一侧,中间最多只有100个石子。假设桥长为最大值(109),石头数也为最大值(100)。这样中间一定会有很多“空长条” (两个石子中的空地),处理时把这些跳过,就只会有M次运算。关键是找出每一个可以跳过的“空长条”。
我们可以先把青蛙可以跳出的所有可能求出,然后就可以求出可以忽略的“空长条”。

[特殊算法]
a[i]:前i个坐标中石子最小个数,初始为第i个坐标的石子个数
b[i]:第i个石子坐标
动规
a[0]=0;
对n>=t
a[n]=min{a[n]+a[n-s],a[n]+a[n-s-1], ...,a[n]+a[n-t]}
对s=<n<t
a[n]=max{a[n]+a[n-s],a[n]+a[n-s-1],...,a[n]+a[0]}
但由于n较大直接动规会超时。所以要将n压缩
查看坐标,可以发现,如果b[i]-b[i-1]>t,显然对于b[i-1]+t<n<b[i],a[n]总是等于a[b[i-1]]..a[b[i-1]+t]中的数,因此可对其进行压缩。
注意,在计算过程中,由于其中有一些坐标是永远走不到的,因此需要用一个布尔型的数组c[n]进行判断。方法是,对于c[n],如果0<n<s,则c[n]为false,如果n>s,c[n-t],c[n-t+1],...,c[n-s]都为false,则c[n]也为false。

热心网友 时间:2023-09-04 06:05

以前做过,我证明一下:好像ST最大值分别为10,那么我们尽量让ST不重合,也就是S=9,T=10,来看一下,下面是可以跳到的序列:
0, 9,10, 18,19,20, 27,28,29,30, 36,37,38,39,40 ……
90,91,92,93,94,95,96,97,98,99,100.
注意到在前面会有断开的区间,也就是状态不同,而81以后青蛙可以调到任何一个格,所以可以压缩到100.至于为什么不压缩到更低,是因为前面那些便于你理解,实际上是这个公式算的:lcm(max(T),max(T)-1)证明复杂从略。

热心网友 时间:2023-09-04 06:06

这是完整的题目吗?不像啊!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
成都市金牛区年满70的老年人,能否买社保,怎么样购买?需要哪些条件? 请问外地户籍如何在成都五城区购买社保? 对象控制欲强,爱翻手机,怎么让她知道要有自己的空间? 三里屯街道邮编代码 ...个上海旭一汽贸,车都是很便宜,思域6.2万包过户,来回还报销路费... 模拟城市5城市设计图文攻略(第二期) 控制欲强男友的危害 怎样做好托管班招生宣传呢? 2012年安徽理科487分能上洛阳理工学院吗? 2024年湖北492分能考上什么大学? 硬笔书法教师简短精辟评语有哪些? 怎么改变解压缩路径 硬笔书法教师评语怎么写? &quot;你的路径性为压缩或加密,将无法正常安装,请更换安... winrar压缩文件到其他路径怎么操作? 并查集路径压缩(非递归形式)怎么写?复杂度多少? 如何设置压缩文件的解压路径 用winrar压缩文件&nbsp;&nbsp;如何更改路径 佛教看茅台酒? winrar压缩文件的的默认路径是什么 如何消除同事间在工作时的反感? 如何压缩较长的全路径文件名中的路径 (Path) 字串长度 吃鱼不吃鱼,鱼是鱼,鱼非鱼,此鱼非彼鱼,彼鱼非此鱼 如何设置压缩文件的文件名和路径 百事尽除去,唯余酒与诗.一首诗的赏析 怎样设置压缩文件的存储路径? 征集溥彼酒对联 WinRAR如何设置相对路径压缩文件 学佛人如何对待应酬时喝酒的问题 你会倒酒吗,潮汕话怎么说 如何用bat,压缩指定路径的程序 书法评价用语有哪些 批量压缩同一路径内的多个文件夹为各自名称的压缩文件 bat中,在同一目录下将四个文件夹a,b,c,d压缩到一... 你好,我下载电脑管家路径为压缩和加密,无法安装... 如何评价罗扬的硬笔书法? 练习硬笔书法了,评价一下吧? 压缩文件内路径问题 Linux压缩怎样只压缩文件,不要包含路径? 硬笔书法教师评语简短精辟有哪些? 硬笔书法这幅字,评价一下 大师评价 怎样评论硬笔书法字 主要看什么地方评 我写的钢笔字如何?请评价。 王菲《人间》歌词 什么含义? 如何评价荆霄鹏和赵贺新的硬笔书法? 3. 纸巾不可回收的主要原因是 为什么卫生纸属于不可回收垃圾? 卫生纸埋在地下多久能降解?会不会污染环境 卫生纸是否回收再利用呢