Fork me on GitHub
摘要: 这题用线段树的话简直就是一个水题。。不过刚学树状数组,要用一下。题意:每次给你a,b,表明a~b之间涂色,然后最后一次输出每个气球被涂色的次数。要用树状数组就要考虑怎么转化为前缀和问题,这题可以这样做:每次输入a,b,令A[a] = 1,A[b+1] = -1; 然后更新和,查询的时候容易知:a~b之间都被涂了一次,求前缀和结果也为一次,多次插入a,b,性质不变,插入后即可直接输出。复杂度很小,这也是树状数组的好处。。#include #include #include #include #include using namespace std;#define N 100100int c[N] 阅读全文
posted @ 2014-01-18 22:24 whatbeg 阅读(234) 评论(0) 推荐(0)