摘要:
题面: 给一个序列,求最长的合法区间,合法被定义为这个序列的gcd=区间最小值 输出最长合法区间个数,r-l长度 接下来输出每个合法区间的左端点 题解: 由于区间gcd满足单调性,所以我们可以二分区间长度,用st表维护区间最小值和gcd即可 阅读全文
摘要:
题意: 求区间max-min st表模板 阅读全文
摘要:
题面: 给出一群牛,每个牛牛有一个坐标和val,每两对牛牛之间的w被定义为 dis(x[i],x[j])*max(val[i],val[j]) 求w的和 题解: 我们如果按val排序,对于i来说,和他构成的权值乘的是val[i]的显然是1~i-1的牛牛 设有a个牛在他前面,b个牛在他后面 公式变成v 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #define N 40010 5 using namespace std; 6 int t[N],n,x,y,sum[N]; 7 void modify(int x) 8 { 9 while (x0) 16 ret+=t[x],x-=x&-x; 17 return ret; 18 }... 阅读全文