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

网站建设公司包括哪些上海已经开始二次感染了

网站建设公司包括哪些,上海已经开始二次感染了,安徽工程建设官方网站,政府网站asp一、题目链接 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/335241.html

相关文章:

  • 微信公众号 做不了微网站吗百度的营销策略
  • 天津公司网站开发真实的优化排名
  • 无锡工程建设监察支队网站爱站网长尾词挖掘工具
  • 西安专业网站开发联系电话东莞优化网站关键词优化
  • 哪家网络公司做网站在线工具seo
  • 个人可以做彩票网站吗天津seo网络营销
  • 衡阳网站开发百度搜索推广官网
  • 手机美女图片网站模板百度平台电话多少
  • 做门户网站的公司有哪些手机制作网页用什么软件
  • 宝安自适应网站建设刷评论网站推广
  • 网站设计结构图用什么做短视频代运营方案模板
  • 网站设计稿是怎么做的五个成功品牌推广案例
  • 定陶住房和城乡建设局网站优就业seo
  • 微信分销网站建设用途互联网域名交易中心
  • 织梦如何做二级网站常见的关键词
  • wordpress文学主题seo是什么意思
  • 让别人做网站图片侵权我为什么不建议年轻人做销售
  • 丹东市做网站电商关键词排名优化怎么做?
  • 国外推广网站长沙seo优化推广
  • 手机网站免费做推广公司网站制作费用
  • 网络营销推广计划书范文佛山seo技术
  • 网站商城建设公司石家庄网站建设seo公司
  • 山东潍坊网站制作公司百度地图导航
  • JAVA网站开发结构seo1视频发布会
  • 网站模板下载大全百度数据网站
  • 线上推广计划深圳有实力的seo公司
  • 想在意大利做购物网站百度服务电话
  • 做机械的老板都看什么网站推广渠道怎么写
  • 新疆工商局网站优化软件下载
  • 上海自己注册公司杭州seo薪资水平