社区讨论

如果你 WA on #3 95pts

P9755[CSP-S 2023] 种树参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhk7g83u
此快照首次捕获于
2025/11/04 14:45
4 个月前
此快照最后确认于
2025/11/04 14:45
4 个月前
查看原帖
像这样,那么你在求区间生长高度时的 ci<0c_i \lt 0 注意分界时间的边界条件。
CPP
inline LL128 calc(int ver, int l, int r)
{
    if (val[ver].c >= 0)
        return (LL128)(r - l + 1) * val[ver].b + (LL128)(l + r) * (r - l + 1) / 2 * val[ver].c;
    LL128 divs = (1 - val[ver].b) / val[ver].c, res = 0;
    if (divs <= l) return (r - l + 1);
    // 改成 divs < l 即可
else if (divs > r) return (LL128)(r - l + 1) * val[ver].b + (LL128)(l + r) * (r - l + 1) / 2 * val[ver].c;
    res = (LL128)(divs - l + 1) * val[ver].b + (LL128)(divs - l + 1) * (l + divs) / 2 * val[ver].c;
    res += r - divs;
    return res;
}
附上 #3 的数据:
CPP
Input:
20
8711196809241382 866431622 -26
12338190 56486490 -751942578
1592174753724827 319217044 -32
4992314209553308 484821039 -13
10779700847116122 404833961 76
2403722922189903 293525604 -16
873521103768048 347197602 -69
10178465446375981 769434836 9
2900422388953204 637228359 -70
53813051603 668492735 -3406898
6584127210092267 422594092 18
416482361699033290 76338741 734917963
157991653963 142394644 -63517
12338184 880023927 -818649801
686538639348 7947607 -46
176353160 892215477 -364100257
12338185 3978020 -287788818
6279818338239579 70967629 71
7585540542175642 688830826 -12
455266095398331618 290359314 633276435
1 2
12 3
15 4
15 5
17 6
1 7
14 8
19 9
2 10
4 11
13 12
15 13
5 14
1 15
1 16
5 17
16 18
15 19
15 20

Output:
12338199

回复

2 条回复,欢迎继续交流。

正在加载回复...