[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...