树状数组
Formiko
这个作者很懒,什么都没留下…
展开
-
数列操作
数列操作问题 Description 假设有一列数{Ai}(1≤i≤n),支持如下两种操作: 将Ak的值加D。(k, D是输入的数) 输出As+As+1+…+At。(s, t都是输入的数,S≤T) Input 第一行一个整数n, 第二行为n个整数,表示{Ai}的初始值≤10000。 第三行为一个整数m,表示操作数 下接m行,每行描述一个操作,有如下两种情况: ADD原创 2015-06-17 17:47:21 · 1088 阅读 · 0 评论 -
校门外有很多树
相当于求线段相交。 与[a,b]相交线段条数=总的线段条数-起点在[0, a-1]的线段条数-起点在[b+1, n]的线段条数。 #include #define maxn 50000 struct node{int a, b, l, r, cnt;}StartTree[maxn*2+9], EndTree[maxn*2+9]; int StartTot=0, EndTot=0; void原创 2015-06-12 13:31:21 · 935 阅读 · 2 评论