[BZOJ4994] [Usaco2017 Feb]Why Did the Cow Cross the Road III(树状数组)
传送门
1.每个数的左右位置预处理出来,按照左端点排序,因为左端点是从小到大的,我们只需要知道每条线段包含了多少个前面线段的右端点即可,可以用树状数组
2.如果 ai < bj < bi, 也就是说在两个i之间只有一个j那么对答案的贡献为1,所以可以用树状数组,当第一次出现一个数的时候,那个位置+1,当第二次出现的时候,第一次出现的位置再1,也就是把它对答案的贡献去掉,同样是树状数组统计答案
#include <cstdio>#include <iostream>#define N 200001int n, ans;int sum[N], vis[N];inline int read()inline int query(int x)inline void add(int x, int d)int main()std::cout << ans;return 0;}
上一篇:[BZOJ4989] [Usaco2017 Feb]Why Did the Cow Cross the Road(树状数组)
下一篇:[BZOJ4776] [Usaco2017 Open]Modern Art(差分 + 思维?)
树状数组
spc文件怎么看,spc文件用什么打开?
0文件怎么看,0文件用什么打开?
sparseimage文件怎么看,sparseimage文件用什么打开?
sp文件怎么看,sp文件用什么打开?
dv文件怎么看,dv文件用什么打开?
soundpack文件怎么看,soundpack文件用什么打开?
dus文件怎么看,dus文件用什么打开?
dtw文件怎么看,dtw文件用什么打开?
spdf文件怎么看,spdf文件用什么打开?
0文件怎么看,0文件用什么打开?