f. 校門外的樹
記憶體限制:512 mib
時間限制:1000 ms
標準輸入輸出
題目型別:傳統
評測方式:文字比較
題目描述
原題來自:vijos p1448
輸入格式
第一行 表示道路總長為 ,共有 個操作;
接下來 行為 個操作。
輸出格式
對於每個 輸出乙個答案。
樣例樣例輸入
5 41 1 3
2 2 5
1 2 4
2 3 5
樣例輸出12
資料範圍與提示
對於 的資料,;
對於 的資料,;
對於 的資料,,保證 。
1.首先第一反應肯定是,區間修改,區間查詢。不過這是修改,但輸出就解決不了,所以,肯定要換乙個思路
2.定義兩個陣列,suml[i]表示i之前的left端點,sumr[i]表示i之前的right端點
仔細一想,會發現
1.suml[i]表示,i之前一共包含多少種樹
2.sumr[i]表示,i之前一共有多少完整的區間
所以,ans=suml[r]-sumr[l-1];
#include #include #include using namespace std;
long long int n,m;
long long int a[1000005];
long long int lsh[1000005];
long long int bit[1000005][2];
int pd;
long long l,r;
long long int lowbit(long long x)
void update(long long k,long long x,int f)
}long long sum(long long k,int f)
return ans;
}/*void read(long long &x)
s=getchar();
} while(s>='0'&&s<='9')
x*=f;
}*/int main()
else
}}
校門外的樹
描述 某校大門外長度為 l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸 0的位置,另一端在 l的位置 數軸上的每個整數點,即0,1,2 l,都種有一棵樹。馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起...
校門外的樹
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止...
校門外的樹
校門外的樹 題目描述 某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知...