CF536E.Tavas on the Path

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Tavas 住在 Tavaspolis。Tavaspolis 有 $ n $ 个城市,编号从 $ 1 $ 到 $ n $,通过 $ n-1 $ 条双向道路相连。任意两个城市之间都存在一条路径。每条道路都有一个长度。

Tavas 最喜欢的字符串是二进制字符串(仅包含 00 和 11)。对于任意一个二进制字符串 $ s=s_{1}s_{2}...\ s_{k} $,定义 $ T(s) $ 为其 $ Goodness 。。 T(s) $ 的计算方式如下:

设字符串中恰好有 $ m $ 个连续 11 的区块(即 11 的区块指仅包含 11 的极大连续子串),每个区块的长度为 $ x_{1},x_{2},...,x_{m} $。

定义 其中 $ f $ 是给定的序列(若 $ m=0 $,则 $ T(s)=0 $)。

Tavas 喜欢提问。现在他会提出 $ q $ 个询问。每个询问给出 $ v,u,l $ 让你输出如下的值:

令城市 $ v $ 到城市 $ u $ 之间路径上的道路编号为 $ e_{1},e_{2},...,e_{x} $。

构造一个长度为 $ x $ 的二进制字符串 $ b $,使得:若 $ l \leq w(e_{i}) $,则 $ b_{i}=1 $,否则 $ b_{i}=0 $,其中 $ w(e) $ 表示道路 $ e $ 的长度。

对于每个询问,请输出 $ T(b) $。

输入格式

输入的第一行包含整数 $ n $ 和 $ q (( 2 \leq n \leq 10^{5} ,, 1 \leq q \leq 10^{5} $)。

第二行包含 $ n-1 $ 个用空格分隔的整数 $ f_{1},f_{2},...,f_{n-1} (( |f_{i}| \leq 1000 $)。

接下来 $ n-1 $ 行,每行包含三个整数 $ v,u $ 和 $ w $,表示城市 $ v $ 和 $ u $ 之间有一条长度为 $ w $ 的道路($ 1 \leq v,u \leq n ,, 1 \leq w \leq 10^{9} $)。

接下来 $ q $ 行,每行包含三个整数 $ v,u,l (( 1 \leq v,u \leq n ,, v \neq u ,, 1 \leq l \leq 10^{9} $)。

输出格式

对于每个询问输出一行,每行一个答案。

输入输出样例

  • 输入#1

    2 3
    10
    1 2 3
    1 2 2
    1 2 3
    1 2 4
    

    输出#1

    10
    10
    0
    
  • 输入#2

    6 6
    -5 0 0 2 10
    1 2 1
    2 3 2
    3 4 5
    4 5 1
    5 6 5
    1 6 1
    1 6 2
    1 6 5
    3 6 5
    4 6 4
    1 4 2
    

    输出#2

    10
    -5
    -10
    -10
    -5
    0
    

说明/提示

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页