2016.11.12【初中部 NOIP普及組 】模擬賽
阿新 • • 發佈:2019-02-04
T1:
小數加法高精度,注意進位
T2:很明顯只需要列舉側面的點數,其餘面不管怎麼擺和都為7
T3:比較有意思。
題目描述:
給定一01串,讓你分出最多段使得每段的0和1的比例相等。
很顯然的一個貪心思路,能分就分,因為當到第i位時,當前擁有的0與1的比例與所有0和1的比例相等,那麼就分段,因為分了之後並不會對接下來的01分段造成影響。
想到這一點之後,還需注意,因為串的長度為10^9,則如果逐個列舉是會超時的,所以只能列舉n(<=10^5)
假設列舉到第i段,0的個數為k0,1的個數為k1,而0的總個數為tot0,1的總個數為tot1,當第i段加的是0的個數時,我們需要判斷1,當加1時,我們需要判斷0。
——因為每次分不可能一定可以分完整,所以當加0的個數時,當前肯定是以0結尾,所以我們判斷——tot1/tot0(需被整除)*tot0就是0被分的個數w,注意,如果前i-1段0的個數就大於w,我們還不能分,直到前i-1段0的個數小於等於w,且加上第i段0的個數後就大於w才分。
為什麼?
很簡單,如果對於前i-1段的0就大於w,則肯定會有餘下的0,那麼如果有餘下的0就不符合題意了。
T4:
很明顯因為求個正方形,我們只需列舉其中的兩點就可以推知其他點了,那麼這樣子的話,時間就很快了。