2017 10 18 開店 失敗總結

2021-08-09 12:22:36 字數 1715 閱讀 4708

噩夢+級別的題,最近的題又難想又難調,還都是第一次打

以前做過和這個題很像的題,,但並沒有想到、

注意字首和的應用,似乎很多題都想不到用字首和化成點。

然後就是套路:每個點到乙個點的距離==每個點到根+查詢點到根*n-2*,

lca就是查詢點往上找的邊與其他點往上走的第乙個交點

然後由於是在鏈剖上進行,所以單次是  log*log 的這樣處理乙個點就要額外建log次建log個點,比一次建log^2個點省事

然後就是主席樹的標記永久化。。。yy了好久,學長講的也只知道大體怎麼做。。。

所以就是標記不下傳,並且當前點必須儲存子樹的答案,,  所以查詢時一路加 標記,最後乙個點直接統計子樹即可

注:1、分清原樹和鏈剖線段樹

2、同樣數取最靠左:l就是答案

同樣數取最靠右:額外記錄答案

碼(第一次打標記永久):

#include#include#include#includeusing namespace std;

#define n 150005

int rt[n*30],lliinn,tot,a,b,zhong[n<<1],xia[n],zhi[n<<1],lin[n],hson[n],top[n],hou[n<<1],lll,rrr,n,i,j,q,a,sz[n],fu[n],ch[20000000][2],bj[20000000],dui[n];

long long v[20000000],ans,c,dh[n],bh[n],d[n];

void jian(int a,int b,int c)

void jia(int a,int b,int c)

struct la

aa[n];

bool cmp(la a,la b)

}void dfs2(int o,int tap)

}void gai(int last,int o,int l,int r)

if(l<=a&&r>=b)

else if(l<=a&&b<=r)

else if(l>=a&&b<=r)

int mid=(l+r)>>1;

if(a<=mid)

if(b>mid)

}void cha(int last,int o,int l,int r)

lliinn+=bj[o]-bj[last];

int mid=(l+r)>>1;

if(a<=mid)cha(ch[last][0],ch[o][0],l,mid);

if(b>mid)cha(ch[last][1],ch[o][1],mid+1,r);

lliinn-=bj[o]-bj[last];

}int main()

for(i=1;irrr)swap(lll,rrr);

int l=1,r=n+1;c=0;

while(l>1;

if(aa[mid].v>1;

if(aa[mid].v<=rrr)c=mid,l=mid+1;

else r=mid;

}rrr=c;

ans=1ll*(rrr-lll+1)*d[o]+1ll*(dh[rrr]-dh[lll-1]);

while(o!=0)

printf("%lld\n",ans);

}

}

2017 10 18離線賽總結

個人感覺day2比day1還水 沒有ak對不起自己 前面兩題發揮穩定,後面一題強行又把複雜度算錯,不敢雜湊。套乙個高精,結構常數太大te了十分 題解 c題 由於a1 a2 a3等已知,而未知數只有乙個x,且取值範圍固定 1 1000000 可嘗試逐個帶入,但由於a1,a2,a3是巨大的數,若使用高精...

培訓失敗總結

1.培訓內容總結 該培訓的主要內容是側重於物件導向思想,如何通過物件導向思想去設計系統。物件導向思想,根據需求分析,把握最主要的業務,分析業務獲取業務物件,然後按照設計原則進行封裝操作和屬性 2.貴公司的系統架構 為什麼這樣架構有哪些優點,又有那些缺點 採用spring vmc tern 該公司自主...

專案團隊失敗總結

在一次創業專案中,我獲得了大量的經驗教訓,我深刻反思了一下作為技術人員自身的問題,包括團隊中其他人的行為,也包括我個人的錯誤處理方法。產品方向 專案團隊自認為對gamebryo非常了解,專案負責人宣揚客戶端人員實力可以重新打造更加優化的3d引擎版本,實踐說明我們的團隊不具備相應的實力,而且我們開發遊...