2017ACM/ICPC广西邀请赛
2017ACM/ICPC廣西邀請賽(感謝廣西大學)
| A | A Math Problem | 數(shù)論 | 簽到題 |
| B | Color it | ||
| C | Counting Stars | ||
| D | Covering | ||
| E | CS Course | 思維 ,二進制 | 思維題 |
| F | Destroy Walls | 最大生成樹 | |
| G | Duizi and Shunzi | 思維題 | |
| H | Law of Commutation | ||
| I | Matching in a Tree | ||
| J | Query on A Tree | ||
| K | Removing Mountains | ||
| L | Yuno And Irotoridori no Sekai |
A HDU 6182 A Math Problem
題目:
給出一個正整數(shù)n,請數(shù)數(shù)有多少正整數(shù)k滿足kk <=n
1≤n≤10^18
題解:
別想太多,。。
經過測試當k =15時,就大于10^18,所以直接循環(huán)枚舉15以內就就行
代碼:
E - CS Course HDU - 6186
題意:
n個數(shù),q個操作,每次操作選擇一個位置,使得除這個之外其他位置的數(shù)進行and,or,xor操作得到解決
題解:
xor好說,直接xor所有,要去掉哪個值就xor哪個
and和or怎么看?
這種問題一般都用二進制思考
我們記錄所有數(shù)在第k位上的貢獻,如果刪去指定的數(shù)后,其他所有數(shù)在第k位上都貢獻了1,那么這個數(shù)and的結果上,這一位就是1
如果其他數(shù)存在在第k位上貢獻1,那么or的結果上,這一位就是1
代碼:
F - Destroy Walls HDU - 6187
題目:
給你一個城堡位置,然后有n個城市(不算城堡),通過m條邊相連,城市的位置,邊權都會給出,現(xiàn)在要求從城堡可以到任何一個地方,問最少刪幾條邊,最少刪的權值是多少
題解:
這個題用不上坐標
當n個點,n-1條邊時,就不存在環(huán),可以暢通所有地方,本質就是求最大生成樹
代碼:
G - Duizi and Shunzi HDU - 6188
題意:
當連續(xù)按相同數(shù)字鍵(比如:2 2)的時候便會釋放“橫斬”技能;當依次按下三個連續(xù)數(shù)字時(比如:2 3 4)的時候便會釋放“縱斬”技能。“橫斬”和“縱斬”的傷害都為 1。
現(xiàn)在給你一串數(shù)字,問最高的傷害是多少?
題解:
我們可以看出橫斬的性價比要高于縱斬,所以優(yōu)先選橫斬,但是有可能遇到樣例里第4個情況
6
1 2 3 3 4 5
所以我們這樣操作,從前往后依次求每個位置的橫斬貢獻,然后計算從這個位置向前兩個位置能否使用縱斬,因為前面經過的位置肯定就沒用了,所以這樣可以做到不浪費技能,巧妙化解上面的情況
代碼:
總結
以上是生活随笔為你收集整理的2017ACM/ICPC广西邀请赛的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地球一小时的宣传标语
- 下一篇: 槐花怎么做好吃呢 这三种做法最简单