思路:

离散化之后dp,dp[i][j]表示完成前i个任务并且处在第j个点所需要的最小代价。

实现:

 #include <bits/stdc++.h>
using namespace std;
pair<int, int> a[];
int dp[][];
int main()
{
ios::sync_with_stdio(false);
int T, n; cin >> T;
while (T--)
{
cin >> n;
vector<int> v;
for (int i = ; i <= n; i++)
{
cin >> a[i].first >> a[i].second;
v.push_back(a[i].first);
v.push_back(a[i].second);
if (a[i].first < a[i].second - )
{
v.push_back(a[i].first + );
v.push_back(a[i].second - );
}
}
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
int m = v.size();
for (int i = ; i <= n; i++)
{
a[i].first = lower_bound(v.begin(), v.end(), a[i].first) - v.begin();
a[i].second = lower_bound(v.begin(), v.end(), a[i].second) - v.begin();
}
for (int i = ; i < m; i++) dp[][i] = ;
for (int i = ; i <= n; i++)
{
int l = a[i].first, r = a[i].second;
for (int j = l; j <= r; j++) dp[i][j] = dp[i - ][j];
for (int j = ; j < l; j++)
{
dp[i][j] = dp[i][l] + (abs(v[j] - v[l]) + >> );
if (l < r)
dp[i][j] = min(dp[i][j],
dp[i][l + ] + (abs(v[j] - v[l + ]) + >> ));
}
for (int j = r + ; j < m; j++)
{
dp[i][j] = dp[i][r] + (abs(v[j] - v[r] + ) >> );
if (l < r)
dp[i][j] = min(dp[i][j],
dp[i][r - ] + (abs(v[j] - v[r - ]) + >> ));
}
}
cout << *min_element(dp[n], dp[n] + m) << endl;
}
return ;
}

百度之星2019第一场1002 Game的更多相关文章

  1. 2014百度之星预赛(第二场)——Best Financing

    2014百度之星预赛(第二场)--Best Financing Problem Description 小A想通过合理投资银行理財产品达到收益最大化.已知小A在未来一段时间中的收入情况,描写叙述为两个 ...

  2. HDU6579 2019HDU多校训练赛第一场1002 (线性基)

    HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...

  3. 2014百度之星初赛第二场hdu 4831 Scenic Popularity

    Scenic Popularity Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  4. 2019年杭电多校第一场 1002题Operation(HDU6579+线性基)

    题目链接 传送门 题意 初始时有\(n\)个数,现在有\(q\)次操作: 查询\([l,r]\)内选择一些数使得异或和最大: 在末尾加入一个数. 题目强制在线. 思路 对于\(i\)我们记录\([1, ...

  5. 「CSP-S模拟赛」2019第一场

    目录 T1 小奇取石子 题目 考场思路 正解 T2 「CCO 2017」专业网络 题目 考场思路 题解 T3 「ZJOI2017」线段树 题目 考场思路 正解 这场考试感觉很奇怪. \(T1.T2\) ...

  6. 2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)

    Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取.为了提高效率,须要人为安排磁盘读取.然而,在现实中,这样的做法非常复杂.我们考虑一个相对简单的场景.磁盘有 ...

  7. 2014年百度之星资格赛第一题Energy Conversion

    Problem Description 魔法师百小度也有遇到难题的时候-- 如今.百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这样的魔法文字须要耗费大量的能量和大量的脑力. 过了许久 ...

  8. 2015 多校赛 第一场 1002 (hdu 5289)

    Description Tom owns a company and he is the boss. There are n staffs which are numbered from 1 to n ...

  9. 【百度之星2019】Strassen

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6719 在本题中,我们只有两种方法计算两个的矩阵的乘积,第一种为定义法,需要次乘法和次加法.第二种为 ...

随机推荐

  1. 表达式* ptr ++和++ * ptr是否相同?

    两种表达都不同.让我们看一个示例代码来理解两个表达式之间的区别.   1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h>   int m ...

  2. Java8-Lock-No.05

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...

  3. 自定义错误throw

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. springboot2.0入门(七)-- 自定义配置文件+xml配置文件引入

    一.加载自定义配置文件: 1.新建一个family.yam文件,将上application.yml对象复制进入family family: family-name: dad: name: levi a ...

  5. mysql远程服务密码修改

    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";    FLUSH PRIVILEGE ...

  6. 011_9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)

    #!/bin/bashfor i in `seq 9`do    for j in `seq $i`        do           echo -n "$i*$j=$[i*j] &q ...

  7. [Luogu] 均分数据

    题面:https://www.luogu.org/problemnew/show/P2503 题解:https://www.zybuluo.com/wsndy-xx/note/1141736

  8. 【线性代数】5-3:克莱姆法则,逆和体积(Cramer's Rule,Inverses,and Volumes)

    title: [线性代数]5-3:克莱姆法则,逆和体积(Cramer's Rule,Inverses,and Volumes) categories: Mathematic Linear Algebr ...

  9. vue 重置data中表单form的值 重置变量

    export default { data() { return { form:{ name:"张三", age:13, sex:1, address:"" } ...

  10. Feeding Chicken

    D - Feeding Chicken 从左上角开始,往右下角开始遍历,但是遍历的时候需要注意一点,就是遍历的时候需要连起来,就比如第一行从左往右进行遍历,但是第二行不能从左往右了,因为这样就分开了, ...