字節跳動冬令營網絡賽題解 3/10

好難啊。。爭取一題一題填吧。。
csdn沒有代碼縮起來的操作。。貼出來太醜了。。要代碼的就自己去牛客拿吧。

現在做了幾題了: 3/10

B.Origami

通過觀察可以發現,題目等價於從1開始按順序把所有東西串起來,每個點只可以被串進來一次和出去一次,等價於很多個區間,互不相交。。判一下就好了
具體證明也不是很會。。
一開始互不相交寫錯了。。很久才反應過來。。但實際上有一個很好寫的做法,就是可以觀察到他是一個括號序列模型,用棧維護就好了

C.Continued Story

如果邊權爲1,就是簡單的刪邊博弈
可以猜想
當邊權不爲1時,邊權偶數,轉移sg;邊權大於1的奇數,轉移sg^1
通過和論文同樣的方法可以證明
然後就可以直接做了
輸出方案也比較簡單,做多一次dfs即可,這裏不做詳細說明了

The Easiest One

先考慮,如果給你一個x,y你怎麼把答案算出來
很容易發現,1-1操作只會至多做一次,然後就可以O(n)O(n)做了
但是如果只觀察到這一個結論是不夠的
我們要繼續分析一下這個問題
從高位往低位來看
如果,對於一個位,x和y是是一樣的,那麼他們不作出貢獻
當我們找到最後一個位i,滿足xi>yix_i>y_i,且他在最前的一個位j,滿足xj<yjx_j<y_j的前面
那麼你會發現,決策就只有一種,就是把[i+1,n][i+1,n]全部變爲0,然後進行1-1操作,然後剩下就是直接匹配的就OK了
討論一下各種情況,可以發現,答案等價於,x裏面1的個數減去y裏面1的個數再加上(ni)(n-i)
想到這裏,就可以直接數位DP了,過程比較簡單,這裏就不詳細說明了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章