当前位置: 首页 > wzjs >正文

网站建设与管理技能测试题关键词优化系统

网站建设与管理技能测试题,关键词优化系统,如何做网站卖衣服,高端网站建设jm3q一、题目链接 P10726 [GESP202406 八级] 空间跳跃 - 洛谷 二、解题思路 我们要对输入的挡板进行排序,按高度从高到低(从小到大)。 排序之后s和t都要更新。 struct Baffle {int l, r;int h;int id; } b[1005];void Sort() {sort(b 1, b 1 n…

一、题目链接

P10726 [GESP202406 八级] 空间跳跃 - 洛谷

二、解题思路

我们要对输入的挡板进行排序,按高度从高到低(从小到大)。

排序之后s和t都要更新。

struct Baffle {int l, r;int h;int id;
} b[1005];void Sort() {sort(b + 1, b + 1 + n, cmp);for (int i = 1; i <= n; i++) {if (b[i].id == os)s = i;if (b[i].id == ot)t = i;}
}

对于每个挡板,我们都计算出跳到它左端的最小用时跳到它右端的最小用时,因为要想继续跳到另一个挡板上,必须先到达出发挡板的左端或者右端再往下跳。

如图,要想从A到B,只有从左侧下从右侧下两种方式。

那么,我们把到板块i左端点的最短时间记为dp[i][0]

同理,我们把到板块i右端点的最短时间记为dp[i][1]

根据上方规则,我们可以推断出:

// 从右跳下
dp[j][0] = min(dp[j][0], dp[i][1] + b[i].h - b[j].h + b[i].r - b[j].l);
dp[j][1] = min(dp[j][1], dp[i][1] + b[i].h - b[j].h + b[j].r - b[i].r);
// 道理同上
for (int i = s; i <= t; i++) {// 从左跳下for (int j = i + 1; j <= t; j++) {if (b[i].l >= b[j].l && b[i].l <= b[j].r && b[i].h > b[j].h) {if (j == t)ans = min(ans, dp[i][0] + b[i].h - b[j].h);dp[j][0] = min(dp[j][0], dp[i][0] + b[i].h - b[j].h + b[i].l - b[j].l);dp[j][1] = min(dp[j][1], dp[i][0] + b[i].h - b[j].h + b[j].r - b[i].l);break;}}// 从右跳下for (int j = i + 1; j <= t; j++) {if (b[i].r >= b[j].l && b[i].r <= b[j].r && b[i].h > b[j].h) {if (j == t)ans = min(ans, dp[i][1] + b[i].h - b[j].h);dp[j][0] = min(dp[j][0], dp[i][1] + b[i].h - b[j].h + b[i].r - b[j].l);dp[j][1] = min(dp[j][1], dp[i][1] + b[i].h - b[j].h + b[j].r - b[i].r);break;}}}

三、完整代码

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;struct Baffle {int l, r;int h;int id;
} b[1005];int n, s, t,os,ot;bool cmp(const Baffle& a, const Baffle& b) {if(a.h != b.h)return a.h > b.h;return a.l < b.l;
}void Sort() {sort(b + 1, b + 1 + n, cmp);for (int i = 1; i <= n; i++) {if (b[i].id == os)s = i;if (b[i].id == ot)t = i;}
}int main() {cin >> n >> os >> ot;for (int i = 1; i <= n; i++)cin >> b[i].l >> b[i].r >> b[i].h, b[i].id = i;Sort();int dp[1005][2], ans = 0x3f3f3f3f;memset(dp, 0x3f, sizeof (dp));dp[s][0] = 0, dp[s][1] = b[s].r - b[s].l;for (int i = s; i <= t; i++) {// 从左跳下for (int j = i + 1; j <= t; j++) {if (b[i].l >= b[j].l && b[i].l <= b[j].r && b[i].h > b[j].h) {if (j == t)ans = min(ans, dp[i][0] + b[i].h - b[j].h);dp[j][0] = min(dp[j][0], dp[i][0] + b[i].h - b[j].h + b[i].l - b[j].l);dp[j][1] = min(dp[j][1], dp[i][0] + b[i].h - b[j].h + b[j].r - b[i].l);break;}}// 从右跳下for (int j = i + 1; j <= t; j++) {if (b[i].r >= b[j].l && b[i].r <= b[j].r && b[i].h > b[j].h) {if (j == t)ans = min(ans, dp[i][1] + b[i].h - b[j].h);dp[j][0] = min(dp[j][0], dp[i][1] + b[i].h - b[j].h + b[i].r - b[j].l);dp[j][1] = min(dp[j][1], dp[i][1] + b[i].h - b[j].h + b[j].r - b[i].r);break;}}}cout << (ans == 0x3f3f3f3f ? -1 : ans) << endl;return 0;
}

http://www.dtcms.com/wzjs/12588.html

相关文章:

  • 天津网站制作哪家好薇电商网站开发需要多少钱
  • 上海企业网站怎么建设搜狗seo软件
  • 网站建设那家好疫情放开死亡人数最新消息
  • 泉州网站建设网站建设如何做好互联网营销
  • 最好的设计师网站搜索引擎优化理解
  • 网站和软件的区别淘宝流量平台
  • 学生个人网页制作html动态好的seo网站
  • wordpress登录地址怎么修改宁波seo快速优化课程
  • 关于网站建设的论文河源今日头条新闻最新
  • 国外好看的网站设计网页设计用什么软件做
  • 为什么建设银行网站打不开山西网络营销seo
  • 商贸行业网站建设百度seo优化公司
  • 江西短视频seo搜索报价网站制作优化
  • 拨号服务器做网站nat123深圳网站制作推广
  • 做网站和网页区别河北网站seo策划
  • 德州做网站优化怎么做seo关键词优化
  • 网站开发学徒工作如何全国疫情最新情况
  • 程序员外包网站手机怎么建网站
  • 免费分销系统一键生成太原关键词优化公司
  • 企业网站实名审核中心网站运营包括哪些内容
  • 自己做文字壁纸的网站永久免费自助建站平台
  • 威联通231p做网站独立站seo外链平台
  • wordpress 站点换域名昆明网站seo服务
  • 网站翻页模板网站开发是做什么的
  • 做编程的 网站有哪些方面百度竞价排名又叫
  • 温州网站建设前十公司一个关键词要刷多久
  • 网站建设要学会什么国家市场监督管理总局
  • 自己建私人网站做外贸不好做今日新闻热点
  • 新手学做网站12天婴百度推广
  • wordpress 画线不显示seo站长平台