题意: 给出n个木棒,每次询问区间[l,r],问你选择任意三根木棒能够构成的最大的三角形,如果不存在三角形,输出-1 题解: 肯定都知道三角形的三边的定理,任意俩边之和大于第三边, 假设从最小的三角形都不匹配, 1,2,3,5,8,13,,,, 形成了斐波那契数列,第44项超过1e9,那么只需枚举前44项三角形就行了,如果还是没有符合的输出-1 找第k大值可以用主席树区间查找 代码:#include <bits/stdc++.h> using namespace std; #define ll long long const int maxx = 2e5+7; int n,m,q,...