题目名称 | 3837. [CEOI 2017] Building Bridges |
---|---|
输入输出 | jiaqiao.in/out |
难度等级 | ★★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | yuan 于2023-02-27加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:1, 提交:1, 通过率:100% | ||||
┭┮﹏┭┮ | 100 | 0.259 s | 56.46 MiB | C++ |
本题关联比赛 | |||
2022级DP专题练习赛7 |
关于 Building Bridges 的近10条评论(全部评论) | ||||
---|---|---|---|---|
咕咕咕,LiChaoTree好用!
|
有 $n$ 根柱子依次排列,每根柱子都有一个高度。第 $i$ 根柱子的高度为 $h_i$。
现在想要建造若干座桥,如果一座桥架在第 $i$ 根柱子和第 $j$ 根柱子之间,那么需要 $(h_i-h_j)^2$ 的代价。
在造桥前,所有用不到的柱子都会被拆除,因为他们会干扰造桥进程。第 $i$ 根柱子被拆除的代价为 $w_i$,注意 $w_i$ 不一定非负,因为可能政府希望拆除某些柱子。
现在政府想要知道,通过桥梁把第 $1$ 根柱子和第 $n$ 根柱子连接的最小代价。注意桥梁不能在端点以外的任何地方相交。
第一行一个正整数 $n$。
第二行 $n$ 个空格隔开的整数,依次表示 $h_1,h_2,\cdots,h_n$。
第三行 $n$ 个空格隔开的整数,依次表示 $w_1,w_2,\cdots,w_n$。
输出一行一个整数表示最小代价,注意最小代价不一定是正数。
6 3 8 7 1 6 6 0 -1 9 1 2 0
17
点击下载样例2/3/4
对于 $20\%$ 的数据,$n \le 1000$;
对于 $30\%$ 的数据,$\vert w_i \vert \le 20$,保证存在一种最优方案,除了头尾两根柱子外,最多只保留两根柱子;
对于 $50\%$ 的数据,无特殊限制。
对于 $100\%$ 的数据,有 $2 \le n \le 10^5;0 \le h_i,\vert w_i \vert \le 10^6$。