[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(差分 + 思维?)
树状数组
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?