對於$100 \%$的資料,$1≤n,m≤1e6 \ \ \ 0<=x_i,y_i<20170927 \ \ \ 1≤l_i,r_i≤n $
一開始沒看懂題。後來大致理解了一下,所謂的v是乙個二維向量,有x和y兩個引數。那個$\times$是叉乘,即$(x_i y_j-x_j y_i)$。
所以題意就是給你乙個x序列和y序列,對於每次詢問的區間$[l,r]$,求$\sum \limits _ ans &=& \sum \limits_^ \sum \limits_^r (x_i^2y_j^2+x_j^2y_i^2-2x_iy_ix_jy_j) \\ &=& \sum \limits_^r \sum \limits_^r x_i^2y_j^2 + \sum \limits_^r \sum \limits_^r x_j^2y_i^2 - \sum \limits_^r \sum \limits_^r 2x_iy_ix_jy_j \\ &=& \sum \limits_^r \sum \limits_^r [i \neq j]*x_i^2y_j^2 - \sum \limits_^r \sum \limits_^r [i \neq j]*x_iy_ix_jy_j \\ &=& \sum \limits_^r x_i^2 (\sum \limits_^r y_j^2 -y_i^2) - (\sum \limits_^r x_iy_i (\sum \limits_^r x_jy_j - x_iy_i)) \\ &=& \sum \limits_^r x_i^2 \sum \limits_^r y_j^2 - \sum \limits_^r x_i^2y_i^2 - (\sum \limits_^r x_iy_i \sum \limits_^r x_jy_j - \sum \limits_^r x_i^2 y_i^2) \\ &=& \sum \limits_^r x_i^2* \sum \limits_^ry_i^2 - (\sum \limits_^r x_iy_i)^2\end$
然後開三個樹狀陣列分別維護$^2,^2,x_i y_i$即可。
#include#include#includeusing namespace std;#define pa pairtypedef long long ll;
const ll mod=20170927;
ll read()
while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
return x*f;
}const int n=1e6+5;
int n,m;
ll c[3][n];
pa v[n];
int lb(int x)
void add(int x,ll val,int id)
ll query(int x,int id)
ll ask(int l,int r,int id)
int main()
while(m--)
if(op==2)
}return 0;
}
資訊學奧賽一本通 小球(drop)
許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個節點的布林值。最初,所有的節點都是false,當訪問到乙個節點時...
資訊學奧賽一本通 小球(drop)
this drop is gonna last forever!許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個...
資訊學奧賽一本通(C 版)
資訊學奧賽一本通 c 版 總目錄 1.資訊學奧賽一本通 c 版 刷題 記錄 2.資訊學奧賽一本通 c 版 第一部分 c 語言 第一章 c 語言入門 3.資訊學奧賽一本通 c 版 第一部分 c 語言 第二章 順序結構程式設計 4.資訊學奧賽一本通 c 版 第一部分 c 語言 第三章 程式的控制結構 5...