最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 问题 BI: L9-6 差分进阶 - 练习5

    正文概述 网友投稿   2026-01-22 11:17:25  

    题目描述

    变色龙今天要去的觅食地点看成一条直线并从1到n编号,觅食点之间一共有n-1条路,这些路上都散落着落叶。对于第i条路,变色龙每次通过这条路都要花费ai的时间,它也可以选择先花费ci的时间清理这条路上的落叶,清理落叶之后每次它经过的时候,只需要花费bi的时间就可以通过了。变色龙今天计划去m个觅食点,它将按照p1、p2、p3、...、pm的顺序去觅食,同一个觅食点可能经过多次,顺序相邻的觅食点的位置不一定相邻,大聪明想知道变色龙今天在路上花费的总时间最少是多少。请你补充完整这个程序,帮大聪明解决这个问题吧。

    #include <algorithm>
    #include <iostream>
    using namespace std;
    int n, m, ans;
    int cnt[1005],d[1005],p[1005],a[1005],b[1005],c[1005];
    void add(int l, int r)
    {
        if (l > r)
            swap(l, r);
        r--;
        d[r + 1]--;
        d[l]++;
    }   
    int main()
    {
        cin >> n >> m;
        for (int i = 1; i <= m; i++)
        {
            cin >> p[i];
        }
        for (int i = 1; i < n; i++)
        {
            cin >> a[i] >> b[i] >> c[i];
        }
        for (int i = 2; i <= m; i++)
        {
            add(p[i-1],p[i]);
        }
        for (int i = 1; i <= n; i++)
        {
            ——————————————————
            ——————————————————
        }
        cout << ans;
        return 0;
    }

    输入

    第一行两个整数n和m。(1≤n,m≤1000)

    第二行m个整数,分别表示p1,p2,p3...pm。

    接下来n-1行,表示第i条路的ai,bi,ci。(0≤ai,bi,ci≤1000,bi<ai)

    输出

    一个整数,表示最少花费。

    样例输入

    3 5
    1 2 1 2 3
    3 0 2
    1 1 1

    样例输出

    3
    信息学奥赛网,一个优质的源码资源平台!
    信息学奥赛网 » 问题 BI: L9-6 差分进阶 - 练习5