题目表述不是特别好而且数据没有给全,比如m的数据规模没有给出。 正向的时间复杂度是 后缀数组+差分 实际上影响因子只有最末敌对最大点,也即:如果一个人后面没有比他更大的另一个队伍的人,那么他一定能活下来。 故从后往前看只需要不断锚定最大的点,逐步更新计数即可。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int M = 1e6 + 7; const int N = 50005; int a[N], b[N], v[N], mx[2], c; int main() { ll n, ...