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

网站建设与管理技能测试题专业的seo外包公司

网站建设与管理技能测试题,专业的seo外包公司,wordpress 花生壳,陕西省市建设委员会网站一、题目链接 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/189069.html

相关文章:

  • 网站建设最好的公司新冠疫情最新消息今天
  • 淘宝客云建站官网百度seo词条优化
  • 腾讯企点有什么用window优化大师
  • 网站建设的几大要素提高工作效率英语
  • 齐河网站建设百度推广账号出售
  • 那种web网站开发文档今天最新新闻摘抄
  • 如何编写一套网站模板关键词搜索排行榜
  • ssp网站怎么做培训后的收获和感想
  • 做的网站加载太慢怎么办网络推广的基本方法
  • 企业需求做网站在哪儿交易网页自动点击软件
  • 做任务得钱的网站优秀软文范例
  • 网站建设合同 简单网站权重怎么提高
  • 晚上做羞羞的事情视频网站网络推广都是收费
  • 网络干什么赚钱嘉兴seo排名外包
  • 免费网站制作范例搜索引擎营销优化的方法
  • 2016年网站推广方法太原seo招聘
  • 网站怎么做弹幕播放器seo服务顾问
  • 云南网站建设运营网络营销解释
  • 大连网站制作公司58seo查询系统源码
  • 温州网站建设温州网站制作教育培训机构排名前十
  • 网站建设多少钱京icp备推广策略都有哪些
  • 建功能网站seo技术优化服务
  • 公司网站功能企业seo顾问服务阿亮
  • 网上购物网站开发报价汕头网站建设方案优化
  • 罗湖建网站公司广州网络营销推广
  • 昆明php网站建设互联网广告是做什么的
  • 婚庆网站建设必要性seo服务外包客服
  • 重庆手机网站建设站牛网是做什么的
  • 好的建网站的公司站长工具查询网
  • 如何做网站的搜索栏做网站一般需要多少钱