2019.02.16【NOIP提高組】模擬 B 組總結

100+100+10+0=210
題目難度兩極分化
T1:
我們發現,n的方案可以是n-1的方案後面後面放個1,也可以是n-2的方案後面放00。
由此可見f[i]=f[i-1]+f[i-2]
找規律也可以找出
簽到題1號

T2:
一開始想到快排之後,每個數的前後兩個數與這個數差距最小(錯的)
然後又看到每個人最多打兩場,最多與一個等級比他高的和一個等級比他低的打
排序後等級比他高的最優必然是他後面一個
等級比他低的最優必然是他前面一個
那麼就能保證正確了
把前後兩個數的差存下來排個序
求前k小的和就好了。。。
這題條件把題目弱化了很多
不然好像挺難的。

T3:
一開始沒看懂題
後來有人給我解釋了一下那個|是什麼
聽人說他們有想法
但是沒切
想到單調隊列,但是是錯的
暴力度日
我們要求s[i,j]的最小值
可以把它當成求b[j]-b[i]的最小值(前綴和)
由於b[j]-b[i]>=k
所以b[j]-k>=b[i]
我們用權值線段樹存下b[i](i<j)
找到小於等於b[j]-k的最大的b[i]
記得左邊界爲0

T4:
暴力
看來沒有m=1的數據。
分三十二種情況
其實狀壓就可以枚舉
pascal被卡了。
大部分(就一個不是)pascal都是86.7
可我不會C++!!!
一個同學幫忙翻譯了
然後把那個出錯的數據判掉
AC

T4數據有bug
T4數據有bug
T4數據有bug
有一個數據點數不夠多

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