【DP】滑雪场的缆车(jzoj 1257)

滑雪场的缆车

jzoj 1257

题目大意

给你一座山的图(有n个间隔相同的点),现在让你从第一个点连到最后一个点,一条线的两个端点的水平距离不能大于m,且线不能通过地面,最多挨着地面,现在问你最少建多少个点

输入样例

13 4
0
1
0
2
4
6
8
6
8
8
9
11
12

输出样例

5

样例解释

FR最少要修建5根柱子(分别在第1,5,7,9,13个山坡上的点)。钢丝在1-5,5-7,7-9以及12-13这4段上与地面相切。
如果FR只在1,5,9,13这4个点修建柱子,那5-9这一段钢丝就有一部分在地下。如果柱子建在1,7,13这3个点,虽然钢丝都是在地面之上,但这两段钢丝的长度都超过了最大长度限制。对于这组输入数据,找不到一个合法方案,使方案中需要修建的柱子的数目少于5根。

解题思路:

我们可以用hisi\frac{h_i}{s_i}sihi来判断是否会穿过前面的山(h为高度,s为到当前点到i点的距离)
我们设f[i]f[i]f[i]为从1连到iii最少需要的点
然后转移见代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
ll n, m, z, s, h[5500], f[5500];
int main()
{scanf("%lld %lld", &n, &m);for (ll i = 1; i <= n; ++i)scanf("%lld", &h[i]);memset(f, 127/3, sizeof(f));f[1] = 1;for (ll i = 1; i < n; ++i){z = h[i + 1];//最大的hs = 1;//最大的sfor (ll j = 1; j <= m && i + j <= n; ++j)if((z - h[i]) * j <= (h[i + j] - h[i]) * s)//这样可以判断是否会穿过地面,表示平均每一个距离上升多少高度,只有上升地比前面快才能连{z = h[i + j];//更新s = j;f[i + j] = min(f[i + j], f[i] + 1);//求最小的}}printf("%lld", f[n]);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小H和游戏

文章目录题目描述题解&#xff1a;传送时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format:%lld 题目描述 小H正在玩一个战略类游戏&#xff0c;她可以操纵己方的飞机对敌国的N座城市(编号为1~N…

Top Secret Task(dp+滚动数组)

传送门&#xff1a; 题目 dp[i][j][k] 表示 考虑到第i个数 计算前j个数的和 进行了k次操作 则有 若不把第i个数放入前j个数中 dp[i][j][k] dp[i-1][j][k] 若把第i个数放入前j个数中 至少需要把第i个移到第j个&#xff0c;即进行i-j次操作if(k > i-j) dp[i][j][k…

asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

在 asp.net core 发布时&#xff0c;本人先后产生了3个疑问。1、发布的程序为什么不能在docker容器中运行当时在window开发环境中发布后&#xff0c;dotnet xxx.dll可以正常运行&#xff1b;但放入docker容器后就报 *.*.deps.json not found 的错误。后根据下面的文章解决了问题…

[2020.11.25NOIP模拟赛]出租车【dp】

正题 题面链接:https://www.luogu.com.cn/problem/U142298?contestId37766 题目大意 nnn个人有起点和终点&#xff0c;按顺序上车&#xff0c;但下车可以任意顺序&#xff0c;车最多同时只能载444个人。求车的最短路程。 解题思路 显然我们需要把上次上车的人&#xff0c;现…

纪中B组模拟赛总结(2019.12.21)

&#xff08;因为是两人一号&#xff0c;所以不方便显示成绩就不打了&#xff09; 总结&#xff1a; 今天竟有四道题&#xff01;&#xff01;&#xff01; T1看过之后&#xff0c;想了大概10分钟然后想了出来&#xff0c;就是一个单调栈&#xff0c;不算特别难 T2一开始想到…

水题(water)(非详细解答)

传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 其中&#xff0c;f(1)1;f(2)1;Z皇后的方案数&#xff1a;即在ZZ的棋盘上放置Z个皇后&#xff0c;使其互不攻击的方案数。…

网络流小结

最大流&#xff1a; EK算法&#xff1a; #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; const int inf0x7fffffff; const int maxn10010; struct node{int u,v,f,next; }edge[300050]; int s,t,cnt,…

.NET MVC CSRF/XSRF 漏洞

最近我跟一个漏洞还有一群阿三干起来了……背景&#xff1a;我的客户是一个世界知名的药企&#xff0c;最近这个客户上台了一位阿三管理者&#xff0c;这个货上线第一个事儿就是要把现有的软件供应商重新洗牌一遍。由于我们的客户关系维护的非常好&#xff0c;直接对口人提前透…

jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】

正题 题面链接:https://gmoj.net/senior/#main/show/5057 题目大意 n∗mn*mn∗m的网格上有一些炮和敌军&#xff0c;每个炮可以攻击在它方向上一个敌军&#xff0c;但是要求炮弹的轨迹不能交叉。求最多打死多少敌军。 解题思路 我们先把炮分成两类&#xff0c;一类是横着打&a…

【最大流】牛棚安排(jzoj 1259)

牛棚安排 jzoj 1259 题目大意&#xff1a; 有nnn头牛和mmm个牛棚&#xff0c;每头牛有自己第1喜欢&#xff0c;第2喜欢……第mmm喜欢的牛棚&#xff08;开心度分别为m,m−1,m−2……1m,m-1,m-2……1m,m−1,m−2……1&#xff09;&#xff0c;然后读入mmm个数表示第iii个牛棚…

牛客算法周周练2

文章目录A 相反数B Music ProblemC 完全平方数D 小H和游戏E 水题(water)A 相反数 题解 B Music Problem 题解 C 完全平方数 题解 D 小H和游戏 题解 E 水题(water) 题解

讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

正文ASP.NET Core MVC 2.1 特意为构建 HTTP API 提供了一些小特性&#xff0c;今天主角就是 ApiControllerAttribute。0. ApiControllerAttribute 继承自 ControllerAttributeASP.NET Core MVC 已经有了ControllerAttribute&#xff0c;这个用来标注一个类型是否是Controller。…

新的UWP和Win32应用程序分发模型

自2005年引入ClickOnce技术以来&#xff0c;.NET就支持应用程序自动升级。在ClickOnce模型中&#xff0c;WinForms和WPF应用程序在启动时会从预先配置好的位置查找新版本。但是&#xff0c;由于微软试图模仿iOS应用商店模型&#xff0c;所以&#xff0c;该模型未能延续到UWP。微…

[2020.11.25NOIP模拟赛]下棋【dp】

正题 题目链接:https://www.luogu.com.cn/problem/U142297?contestId37766 题目大意 nnn个白棋mmm个黑棋排成一排&#xff0c;要求没有任何一段黑白棋的个数差大于ttt。求方案数。 解题思路 设fi,j,k,lf_{i,j,k,l}fi,j,k,l​表示已经摆了iii个白棋jjj个黑棋&#xff0c;所有…

【结论题(QAQ)】SSL新年欢乐赛暨BPM退役赛 A 送分题(luogu U102372)

送分题 luogu U102372 题目大意 你一开始在xxx轴的原点处&#xff0c;现在给你mmm个命令&#xff0c;分别是向左一位和向右一位&#xff0c;对于所有命令&#xff0c;你可以不走也可以按命令走&#xff0c;问你最后你可能在的位置有所少个 输入样例 4 LRLR输出样例 5数据…

牛客网 【每日一题】4月15日 Treepath

文章目录题目描述题解&#xff1a;代码&#xff1a;传送时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 给定一棵n个点的树&#xff0c;问其中有多少条长度为偶数的路径。路径…

.net core grpc 实现通信(一)

现在系统都服务化&#xff0c;.net core 实现服务化的方式有很多&#xff0c;我们通过grpc实现客户端、服务端通信。grpc(https://grpc.io/)是google发布的一个开源、高性能、通用RPC&#xff08;Remote Procedure Call&#xff09;框架&#xff0c;使用HTTP/2协议&#xff0c;…

【数学】数列(jzoj 2752)

数列 jzoj 2752 题目大意&#xff1a; 给你一个正整数n&#xff08;有多组数据&#xff09;&#xff0c;让你把它分为一个连续的正整数列之和&#xff08;长度大于1&#xff09;&#xff0c;然你求着个数列最短的长度&#xff0c;如果这个序列不存在&#xff0c;那输出-1 输…

NOIP提高组复赛 知识点整理

枚举、模拟、贪心、递推、排序&#xff08;快排&#xff09; 高精度&#xff1a; 加法&#xff0c;减法&#xff0c;乘法&#xff08;应该只会有高精乘单精&#xff09;&#xff0c;高精度除单精 分治: 二分查找 整体二分 CDQ分治 三分 搜索: dfs、剪枝 bfs、双向bfs 启发式搜索…

子序列

牛客网题目 题目描述 给出一个长度为n的序列&#xff0c;你需要计算出所有长度为k的子序列中&#xff0c;除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T&#xff0c;表示数据组数。 对于每组数据&#xff0c;第一行两个整数N&#xff0c;k&#xff0c;含义…