顯示具有 TOI練習賽 標籤的文章。 顯示所有文章
顯示具有 TOI練習賽 標籤的文章。 顯示所有文章

2016年6月1日 星期三

TOI 五月份練習賽 懶人包

題目:
Pencil : https://www.dropbox.com/s/ug80z73gink518a/Pencil.pdf?dl=0
Base Conversion : https://www.dropbox.com/s/dlja1czffsnuamo/Base%20Conversion.pdf?dl=0

我AC的Code:
Pencil : http://codepad.org/3FY0uRhl
Base Conversion : http://codepad.org/xbtXbiLz

題解:

Pencil :
先有個greedy個概念:如果這個三角形的最大值已經確定,那麼如果要造成最大面積,那一定是選擇剩下的數值中最大的兩個。

那麼,基於這個greedy概念,我可以先sort所有的數值,再從大的往小的看,這樣就okay了。

複雜度:P(n lg n + n)

Base Conversion :
認真做就好了XDDD,開個long long 比較保險

2016年4月2日 星期六

TOI 3月份練習賽 懶人包

題目:

1. Card World : https://www.dropbox.com/s/7wehq59hqwgtjhy/Card%20world.pdf?dl=0
2. Loudspeaker : https://www.dropbox.com/s/2puwdvea84mgmdv/Loudspeaker.pdf?dl=0

第一題Card World :
基本上就是好好實作就好了XDDD
要小心陣列維度處理的問題

code : http://codepad.org/qP23deHx

第二題Loudspeaker :
認真想想,會發現他有二分搜的性質(如果ans可以,那ans+0.1, ans+0.2 ...也一定可以),那當我們確定二分搜可以之後呢,我們就要二分搜答案。

那要怎麼判斷當前距離ans是否可以呢?可以使用greedy的技巧,當現在可以覆蓋的面積沒有辦法覆蓋的pos[i]的家時,那我們就把一個喇叭放在pos[i] + ans的地方,讓覆蓋的距離延伸到pos[i] + 2 * ans

實作上還有一些些小細節,就看code自己想囉!

code : http://codepad.org/iEpS82wC