E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
P1052
P1052
[NOIP2005 提高组] 过河,线性dp,离散化,裴蜀定理
P1052
[NOIP2005提高组]过河-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。
Landing_on_Mars
·
2023-11-09 00:52
#
离散化
hash
kmp
数论
数学
#
线性dp
算法
数据结构
CSP 2021考前每日2题(09-25) 洛谷 P5683 道路拆除 +
P1052
过河·
文章目录P5683[CSP-J2019江西]道路拆除
P1052
[NOIP2005提高组]过河P5683[CSP-J2019江西]道路拆除#include#include#include#include#
yaohua小猴子
·
2023-10-14 22:01
2021每日2题
c语言
算法
c++
csp
P1052
[NOIP2005 提高组] 过河
[P1052NOIP2005提高组]过河-洛谷|计算机科学教育新生态(luogu.com.cn)问题描述:给定长度L,和一次可以跳动的长度s到t,给定m个石头的位置,求最少经过多少个石头可以超过L。思路:如果L很小的话,就是简单dp。ifi有石头F(i)=min(F(i),F(i−j)+1)j∈[s,t]elseF(i)=min(F(i),F(i−j))j∈[s,t]if\quadi有石头\qua
golitter.
·
2023-08-27 01:29
算法题
算法
数据结构
动态规划
P1052
[NOIP2005 提高组] 过河(数学 + dp)
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,⋯,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当
不给糖吃就胡闹
·
2023-08-10 08:18
数论和线性代数
动态规划
算法
数据结构
P1052
[NOIP2005 提高组] 过河 (dp)
[NOIP2005提高组]过河-洛谷题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,\cdots,L0,1,⋯,L(其中LL是桥的长度)。坐标为00的点表示桥的起点,坐标为LL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点
Jack_00_
·
2023-02-17 17:40
ACM的日与夜
#
dp
#
思维题
动态规划
算法
贪心算法
c++
蓝桥杯
【05NOIP提高组】T2 过河
P1052
过河题目传送门思路:设f[i]为在i点上的最少踩石子数则在前面(i-s)到(i-t)的点都可以改变i点的值,因此我们可以取f[i-s]-f[i-t]之中的最小值,另外如果有石头就加上1,如果没有就不加值
degenerates—こんにゃく
·
2020-08-23 05:19
CSP-S提高组
状态压缩
P1052
过河 (状压DP)
P1052
过河(状压DP)题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
碳酸钙的01妖精
·
2020-08-23 04:13
c++
动态规划
P1052
过河(状态压缩)
P1052
过河(状态压缩)题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
weixin_33716941
·
2020-08-23 03:53
洛谷
P1052
过河 (压缩路径)
P1052
过河题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
weixin_30908103
·
2020-08-23 03:19
noip 2005 luogu cogs
P1052
过河 WD
111.[NOIP2005]过河★★★输入文件:river.in输出文件:river.out简单对比时间限制:1s内存限制:128MB【问题描述】在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的
weixin_30765319
·
2020-08-23 03:11
Luogu
P1052
过河
思路动态规划不用说,而且这道题的转移方程非常简单,连我都能推出来。难就难在怎么去优化空间和时间。因为$\large{L\le10^9}$,直接开数组的话不仅空间会炸的连渣都不剩,而且枚举的时候时间也会炸的连渣都不剩。看了题解后,我感到了世界对我的恶意我好弱鸡。用离散化的方法缩小复杂度。输入之后将石头的位置排序。首先保证它们是递增的,那么相邻的两个石头之间肯定没有其他石头了。所以相邻的两个石头坑定能
weixin_30709809
·
2020-08-23 03:08
P1052
过河 线性dp 路径压缩
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L0,1,…,L(其中LL是桥的长度)。坐标为00的点表示桥的起点,坐标为LL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是SS到TT之间的任意
weixin_30618985
·
2020-08-23 03:31
【luogu1052】 过河 [动态规划]
P1052
过河把ppt上的内容搬上来QAQ容易想到如下DP方法f[x]表示跳到坐标x的位置上最少需要踩到的石子个数f[x]=min(f[x-j]+stone[x]),s=p*(p-1)时,p*x+(p+
weixin_30548917
·
2020-08-23 03:27
luogu
P1052
过河
先看一下题面。背景这道2005年的提高组时至今日仍然评级在提高+/省选-,由此可见这题确实不简单。虽然都说是很简单的DP了,但是坑点依然很多。分析不过我开始并没有看出来是DP。那自然考虑搜索啦~首先考虑搜索在渡河的途中,踩到的最小石子数量。然而1..10^9长度的桥。就算是O(n)的算法也不能在一秒内出解。那么尝试去搜搜石子吧?搜一个石子就需要考虑来源和去路,导致算法更困难了。。。那么就只能DP了
weixin_30435261
·
2020-08-23 03:50
P1052
过河 题解
复习dp(迪皮)的时候刷到了一道简单路径压缩的题目(一点不会qwq)题目描述链接。正解:首先呢,我们看到题目,自然而然的会想到这种思路:设状态变量dp[i]表示从第一个格子开始经过一些跳跃跳到第i个格子上所踩到的最小石子数目。那么,根据每一次跳s~t个格子,我们可以得出dp[i]可以从dp[i-t]到dp[i-s]转移过来,要综合考虑的话呢,就要在所有之前的情况中取一个石子数最小的在加上当前位置是
weixin_30438813
·
2020-08-23 03:50
洛谷
P1052
过河
这道题的DP还是很简单的,只不过要离散一波,然后在网上查的很多代码都没有说明原因,这一片博客讲得很好,刚好补了一个自己的漏洞.(还是数学太差,竟然用到扩展欧几里德)转载:过河题解
风灵无畏YY
·
2020-08-23 02:38
线性DP
DP +状态压缩 洛谷
P1052
过河
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。
pxlsdz
·
2020-08-23 02:54
算法基础--动态规划
过河(离散,dp)
题目链接:洛谷
P1052
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
Han Gang
·
2020-08-23 02:20
dp
acm
[luogu 1052] 过河 {动态规划+路径压缩}
题目https://www.luogu.org/problemnew/show/
P1052
结题思路step1理解题意在做这道题之前,一定要理解好题意,有一个需要特别注意注意的地方:青蛙不是一定要跳到石头上
心有猛虎|细嗅蔷薇
·
2020-08-23 02:36
离散化
动态规划(/线性DP)
P1052
过河(状压dp)
https://www.luogu.org/problem/show?pid=1052观察数据,L到10^9,就是O(n)也不可以。然后再观察数据,发现共才100个石子,对于桥的长度来说石子非常稀疏,中间有一大块空白区域。状态转移方程:f[i]=min(f[i],f[i-j]+v[i]);发现,f[i]的状态只跟f[i-t]~f[i-s]有关,所以中间会有一大块区域无用(可以这么说),于是就考虑到
河渔船
·
2020-08-23 02:10
DP
luogu
p1052
过河
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点\(0,1,…,L\)(其中\(L\)是桥的长度).坐标为\(0\)的点表示桥的起点,坐标为\(L\)的点表示桥的终点.青蛙从桥的起点开始,不停的向终点方向跳跃.一次跳跃的距离是\(S\)
baishie04506
·
2020-08-23 01:39
P1052
过河(状态压缩dp)
https://www.luogu.org/problemnew/show/
P1052
题解很容易得出状态转移方程dp[i]=dp[i-k]+stone[i],susingnamespacestd;constintmaxn
Link_Ray
·
2020-08-23 00:30
动态规划
Luogu
P1052
过河___动态规划
题目大意:分析:将两个石头间的距离压缩,然后dp即可代码:#include#definerep(i,st,ed)for(inti=st;i=st;i--)#defineinf0x7fffffff#defineM105*105#defineN105usingnamespacestd;intvis[M],dp[M],a[N],b[N],L,s,t,m,num,ans;intread(int&x){in
disPlayLzy_
·
2020-08-23 00:13
C++
动态规划
洛谷
P1052
过河
读完题目想到的应该是动态规划,状态转移方程为f[i]=min(f[i],f[j]+v[i])(v[]表示当前点的石头,j∈[i-s,i-t]),但是转移的是每个点,而数据范围有1000000000那么大,只动规是不行的。考虑到每次跳跃的范围1#include#include#includeusingnamespacestd;intl,s,b,t,m,ans;inta[105],f[100001],
Cliu__
·
2020-08-23 00:55
动态规划
压缩路径
P1052
过河 动态规划 C++和java全解
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当
漫步星云
·
2020-08-23 00:47
C++与算法
P1052
过河
P1052
过河题意:给个长度为1e9的桥,青蛙从0开始每次能跳[s,t]的距离,给m个石头在桥上,求青蛙最少踩几个石头。
weixin_30920091
·
2020-08-23 00:36
洛谷
P1052
过河
P1052
过河题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
weixin_30764771
·
2020-08-23 00:36
【NOIP2005】过河
本题在洛谷上的链接:https://www.luogu.org/problemnew/show/
P1052
显然可以拿到30分暴力分,直接开一个10^9的数组,然后跑最裸的DP就可以了。但怎么优化呢?
weixin_30655569
·
2020-08-23 00:35
P1052
过河
动态规划的好题状态转移很简单,dp[i]=dp[i-k]+st[i],k是移动距离,st[i]判断i位置是否有石头,但是距离太大,需要压缩路径。K∈[1,10],lcm[1,10]=2520,将石子间的距离距离对2520取模。而后进行DP递推即可#include#include#include#include#include#include#includeusingnamespacestd;#de
weixin_30352645
·
2020-08-23 00:31
数据结构与算法
P1052
过河(状压dp)
状压dp:如果a[i]-a[i-1]>=t时(a[i]-a[i-1])%t+t;否则a[i]-a[i-1]表示两点之间的距离期间用v标记石子位置,最终长度为0—cnt;然后利用dp就行。题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:
CSYZ!!!
·
2020-08-23 00:06
动态规划
[
P1052
]过河
原题链接先把代码粘上具体的之后再写#include#include#include#include#include#include#include#include#include#include#include#defineMOD10007#defineLLlonglongusingnamespacestd;intl,s,t,m,i,j,k,stu[105],ans,vis[10005],f[10
TirpitzOVO
·
2020-08-23 00:01
刷题
P1052
过河(路径压缩)
P1052
过河题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
海马有力量
·
2020-08-23 00:23
洛谷
线性dp
P1052
过河题意:求一只青蛙过独木桥,最少踩到的石子数思路:设dp[i]dp[i]dp[i]表示青蛙在第i个点,踩过的石子数。
Cheng Yu
·
2020-08-23 00:23
dp
洛谷
P1052
过河
这个是题干:https://www.luogu.org/problemnew/show/P1052#sub这是一道NOIP2005年的提高组的题,那道题一看,就是要用动态规划,状态转移方程也十分简单。只需要考虑是从哪个地方来的,看看即将到达的点是否有石子。用一维数组f[x]表示第X位的步数(额,这只是30分的写法,L的取值太大,数组承受不了)之后,我又想骗一点分,就特判了一下s==t的情况,结果竟
ljp946
·
2020-08-23 00:17
C++
洛谷
P1052
过河
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。
Amber_lylovely
·
2020-08-23 00:15
DP
P1052
过河
https://www.luogu.org/problemnew/show/P1052step2状态转移方程这是一个比较简单方程式。首先设f[i]为在i点上的最少踩石子数则在前面(i-s)到(i-t)的点都可以改变i点的值,因此我们可以取f[i-s]-f[i-t]之中的最小值,另外如果有石头就加上1,如果没有就不加值,这里我们直接用flag[i]表示该点有无石头(有则为1,无则为0)。因此我们可以
Cyq Stark
·
2020-08-23 00:39
DP
P1052
过河
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当
dingjinhui4074
·
2020-08-23 00:05
【题解】洛谷
P1052
[NOIP2005TG] 过河(DP+离散化)
题目来源:洛谷
P1052
思路一开始觉得是贪心但是仔细一想不对是DP再仔细一看数据不对有点大如果直接存下的话显然会炸那么就需要考虑离散化因为一步最大跳10格那么我们考虑从1到10都跳一遍所以最大公倍数为2520
diaowei9349
·
2020-08-23 00:04
洛谷
P1052
过河(NOIp2005)
DP题目传送门DP应该比较好想,主要是怎么压缩距离。因为L有1e9,而s和t只有10,因此我们可以考虑在s和t上做文章。压缩距离需要保证不管怎么跳,最终状态都是等价的。设lcm=LCM(s,s+1,…,t),则对于所有间隔>lcm的石子,把距离%lcm+lcm。因为不论怎么跳,总会跳到lcm这个点。而两个石子之间不会有石子,因此可以把lcm这块给省掉去。然后直接做DP就可以啦!代码:#includ
forezxl
·
2020-08-23 00:55
DP---一般DP
洛谷
蒟蒻zxl的Blog专栏
洛谷
p1052
过河
原题先想一下思路,由于是区间跳跃,不能用贪心,那么f[i]表示跳到i时最少踩到的石子数,i只能由i-t~i-s转移过来,所以选择其中的最小值跳,保证f[i]最小。但是l太大了,1e9,但是m和t很小,就是1e9中有很多没有用的空间,我们求终点的值,所以中间废掉的空间可以省略,缩点之后用还能用单调队列优化一下。#include#include#include#include#includeusing
Tekim
·
2020-08-23 00:22
dp
(Luogu)
P1052
过河 (状压dp)
传送门解题思路:这题的状态转移方程还是很好想的,dp[i]代表跳到第i点踩到的最少石头,dp[i]=dp[i-j]+stone[i],j位距离,即跳j个距离到i点,stone[i]表示这里是否有石子。但是这里l非常大,只是循环也会超时,所以需要状态压缩。这里压缩的方法有90缩,72缩(戳我)还有2520缩,这里我写的是2520缩,这个很好理解,2520是1~10的最小公倍数,就是从i点出发,每个点
给我一瓶AC钙
·
2020-08-23 00:22
Luogu
动态规划
P1052
过河(dp+路径压缩)
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L0,1,…,L(其中LL是桥的长度)。坐标为00的点表示桥的起点,坐标为LL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是SS到TT之间的任意
一击必杀心得
·
2020-08-23 00:42
洛谷
洛谷
P1052
过河题解--zhengjun
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L0,1,…,L0,1,…,L(其中LLL是桥的长度)。坐标为000的点表示桥的起点,坐标为LLL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是
A_zjzj
·
2020-08-23 00:09
洛谷
P1052
过河(状压dp)
题目链接:https://www.luogu.org/problemnew/show/
P1052
题意:在一条长为LL的独木桥上有很多石子,坐标为mimi有一只青蛙要从坐标零点跳到LL处或者跳过LL,每次青蛙可以跳过
elorole
·
2020-08-23 00:35
DP
洛谷
P1052
过河
-https://www.luogu.org/problemnew/show/
P1052
解题思路和前几天写的吃药问题差不多,l的范围太大,无法作为数组下标,所以先离散化,再DP。
Snow_in_winter
·
2020-08-23 00:04
洛谷
P1052
过河【线性dp】【离散化】
题目:https://www.luogu.org/problemnew/show/
P1052
题意:青蛙要从0跳到超过$l$的地方,每一次可以跳$s$到$t$之间的任意数。
你狗
·
2020-08-23 00:03
洛谷
P1052
过河 (离散化+dp)
dp非常好想,f[i]=min(f[i-len]+stone[i])s#include#include#defineREP(i,a,b)for(inti=(a);i#include#include#defineREP(i,a,b)for(inti=(a);it)d[i]=(d[i]%t)+t;}_for(i,1,n)a[i]=a[i-1]+d[i],stone[a[i]]=1;L=a[n];mem
weixin_33755554
·
2020-08-23 00:03
洛谷
P1052
过河
题目:过河思路:因为L的值太大,而实际有石子的地方却并不多,所以要先进行离散化。即将每个石子之间的差距都控制在刚好比t大一点的位置,这样就不会影响最终结果。令f[i]表示跳过前i个位置需要最少踩得石头数量,转移方程f[i]=min(f[i+j]+cnt[i],f[i]),j∈[s,t]。注意最后的输出是min{f[i]},i∈[L,L+t)。代码:#includeusingnamespacestd
ZarOuaoan
·
2020-08-23 00:31
动态规划
常见技巧
离散化
【题解】洛谷
P1052
过河[NOIP2005T2] 线性DP
题目链接题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L0,1,…,L(其中LL是桥的长度)。坐标为00的点表示桥的起点,坐标为LL的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是SS到TT之
不进清北不改名
·
2020-08-23 00:59
洛谷
线性DP
NOIP
洛谷
P1052
过河
洛谷
P1052
过河题意:题意很明了,就不赘述了(其实是我语文水平有限还很懒…)分析:dp很好想,状态转移方程也简单:dp[i]=min(dp[i],dp[i−j]+mark[i]);dp[i]=min(
Endeavor_yu
·
2020-08-23 00:59
DP
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他