考的不是很好,T1T2沒區分度,T3想的太少,考試後期幾乎都是在摸魚,bitset亂搞也不敢打,只拿到了35分,跟前面的差距很大算法
標籤:ui
二進制+貪心spa
題解:blog
首先x,y中必定有一個是R,考慮L的取值:對於每一位分爲x中有沒有討論:排序
1>有 若是這一位不加之後全加能夠>=L則不選,不然選it
2>沒有 若是這一位選上之後全不加也沒法<=R則不選,不然選class
由於位數從高到低枚舉,因此貪心是正確的搜索
標籤:二進制
折半搜索+二分im
題解:
2<=n<=40,顯然是要折半搜索的,答案知足單調性,能夠二分判斷,check時複雜度最好是1<<20,而不是2e7的值域
說實話這道題比T1要簡單
標籤:
啊啊啊起個標籤好藍啊
題解:
首先證實環的數量是$m*sqrt(m)$的:
考慮最壞狀況:必定是一個競賽圖,那麼點數就是$sqrt(m)$,環數最可能是$m*sqrt(m)$
有了這個性質下面的算法便有了複雜度保證:
1>對於第一問:
把每一個點的出邊按w[to]降序排序,考慮枚舉$ x,y((x,y)\in{edge}),z((x,z)\in{edge}) $
只須要找到第一個不是三元環的z點即可以更新答案,複雜度與枚舉到的環有關,而每一個環最多會被枚舉到3次,因此複雜度是對的
2>對於第二問:
考慮容斥:
用每一個點的出點的權值和的平方減去平方的和,
再減去三元環的的狀況,我是枚舉u,v用bitset求出b[u]&b[v].count()即是有u,v的三元環的個數