1. 程式人生 > >Contest2154 - 2019-2-28 高一noip基礎知識點 測試1 題解版

Contest2154 - 2019-2-28 高一noip基礎知識點 測試1 題解版

如果 知識 pre .cn 簡單 一個 既然 ref 證明

傳送門

預計得分:100+100+100+100=400

實際得分:55+100+60+80=295

細節決定成敗啊!!!


T1

這道題思路很簡單,就是一些細節很變態坑人

首先,數據不一定是有序的,雖然數據給了我們這樣的一個假象

其次,可能有重復的數據(這些牛都非常瘦啊)

所以,我們的思路就來了:排序,去重,差分(算出兩個牛欄之間的距離),再排個序(復雜度看似有點高),再貪個心就可以了

上代碼


T2

最大的最小值——二分答案

但是,我們要對區間進行修改,單點查詢

所以樸素的check函數復雜度O(n^2)的

鬥膽看一下數據範圍,n<=1e5,orz!

考慮優化

1、區間修改,單點查詢在差分後可以變成單點修改,區間查詢 證明 這不是我打的

所以代碼就理所當然的跑過來了

2、既然已經想到了差分,因為是一次查詢,我們也可以用差分數組 方法 仍然是在網上當的一個博客

所以supreme_Ariy的代碼就跑來了


T3

高精減 emm……

雖然我在考場上沒有AC,但是我也沒什麽好講的


T4

問的是有多少是可以的

顯然不能一個一個判斷

首先我們來研究這個數的性質

如果n是合法的,那麽n+1就是合法的

證明:終於自己打了

如果不進位,那麽那個差一定是相等的

如果進位,那麽各位數之和一定減少

證畢 David_Alwal仍然很懶

所以我們就判斷最小的那個合法的就可以了

二分答案

代碼

Contest2154 - 2019-2-28 高一noip基礎知識點 測試1 題解版