TJOI2019 甲苯先生的線段樹

2022-02-04 22:08:47 字數 1386 閱讀 3335

[tjoi2019]甲苯先生的線段樹

首先原題:

cf750g new year and binary tree paths

方法:滿二叉樹,鏈長為logn

考慮列舉lca為x,兩個鏈長h1,h2,

發現x是唯一確定的!

找到這個x,

s減去都走左兒子的貢獻,再調整出右兒子

2^n-1->2^n,變成每一位的0/1更好算!只要知道選擇了幾個右兒子即可

然後數字dp

f[i][j][k],i位,選了j個,有無從上一位來的進製

至於本題:

多了乙個路徑編號和

a,b的lca就是二進位制下的lcp(從高位開始)

暴力列舉即可

#include#define reg register int

#define il inline

#define fi first

#define se second

#define mk(a,b) make_pair(a,b)

#define numb (ch^'0')

#define pb push_back

#define solid const auto &

#define enter cout<#define pii pairusing

namespace

std;

typedef

long

long

ll;template

il void rd(t &x)

template

il void output(t x)

template

il void ot(t x)

template

il void prt(t a,int st,int nd)

namespace

miracle}}

}}

return f[tmp][us][0

];}

ll wrk(ll s,

intd)

//cout<<" h1 "}

}return

ans;

}int

main()

ll tmp=lca;

dis=lca;

//cout<<" lca "tmp=lca;

for(reg i=e;i<=d2;++i)

if(c==1

)

else printf("

%lld\n

",wrk(dis,d)-1

); }

return0;

}}signed main()

/*author: *miracle*

*/

TJOI2019 甲苯先生的線段樹(數字DP)

tjoi2019難一點的就只有這道d2t3了,前面五道我共計花了三個小時,這一道花了將近兩個小時。五個小時ak兩天tjoi不是夢 但是說實話這道題並沒有什麼水平,沒考察什麼思維方面的東西,涉及到的性質也極其偏門,天津就靠這個來選拔省隊?怕不是反向選拔,反正天津今年也一塊金牌也沒有,這個鍋省選和省選出...

TJOI2019 平衡樹 甲苯先生的滾榜

描述 甲苯先生在製作乙個online judge,他發現做比賽的人們很關心自己的排名 顯而易見 在acm賽制的比賽中,如果通過題目數量不相等,則通過題目數量多的人排名更靠前,如果通過題目數量相等,則罰時更少的人排名更高。甲苯先生想讓大家幫忙設計乙個程式,每次有人通過之後,就告訴他排名在他的前面有多少...

TJOI2019 甲苯先生和大中鋒的字串

有個叫asuldb的神仙來嘲諷我 說這題sam水題,而且sa過不了 然後我就用sa過了 顯然是乙個height陣列上長為k的滑塊,判一下兩邊,差分一下就可以了 include cstdio include cstring include iostream include algorithm usin...