NOIP2016普及組初賽題目整理

2021-10-23 13:33:30 字數 1458 閱讀 3129

(郊遊活動)有 n 名同學參加學校組織的郊遊活動,已知學校給這 n 名同學的郊遊總經費為 a 元,與此同時第 i 位同學自己攜帶了 mi 元。為了方便郊遊,活動地點提供 b(≥n)輛自行車供人租用,租用第 j 輛自行車的**為 cj元,每位同學可以使用自己攜帶的錢或者學校的郊遊經費,為了方便賬務管理,每位同學只能為自己租用自行車,且不會借錢給他人,他們想知道最多有多少位同學能夠租用到自行車。(第

四、五空 2.5 分,其餘 3 分)

本題採用二分法。對於區間[l, r],我們取中間點 mid 並判斷租用到自行車的人數能否達到 mid。判斷的過程是利用貪心演算法實現的。

#include

using

namespace std;

#define maxn 1000000

int n, b, a, m[maxn]

, c[maxn]

, l, r, ans, mid;

bool

check

(int nn)

return3;

}void

sort

(int a,

int l,

int r)}if

(i < r)

sort

(a, i, r);if

(l < j)

sort

(a, l, j);}

intmain()

else

r =5;

} cout << ans << endl;

return0;

}

1.空①,bool check(int nn)函式檢查帶錢最多的nn個同學,能不能在總經費為a的情況下,租到自行車。m陣列已安裝從小到大排序,變數i從第n-nn+1個同學開始,判斷後nn個同學是否滿足要求。

// 檢查x是否滿足某種性質

// 區間[l, r]被劃分成[l, mid]和[mid + 1, r]時使用:

// 檢查x是否滿足某種性質

// 區間[l, r]被劃分成[l, mid - 1]和[mid, r]時使用:

intbsearch

(int l,

int r)

return l;

}

NOIP 2016 普及組 海港

題目鏈結 小k是乙個海港的海關工作人員,每天都有許多船隻到達海港,船上通常有很多來自不同國家的乘客。小k對這些到達海港的船隻非常感興趣,他按照時間記錄下了到達海港的每一艘船隻情況 對於第i艘到達的船,他記錄了這艘船到達的時間ti 單位 秒 船上的乘客數ki,以及每名乘客的國籍 xi,1,xi,2,x...

小結 初賽NOIP2016提高組

92分拿下初賽!這總不能掛了吧 這次總體難度不算太高,因此還不錯,恩。發車!心裡還有些小激動才怪 呢!一路沒有睡覺的打算,只顧腐敗。人員分布分二級階梯 被分作了打殺黨和聊天黨。後面一堆人忙著複習三國歷史,而前面則沉浸於互相調侃之中無法自拔。作為一名合格的司機,怎麼能浪費這大好的開車時光呢?一路 不久...

noip2016普及組複賽總結

9點半從紀中出發,大概11點多來到廣州六中。在六中旁邊一家小餐館吃了中餐,那餐廳真心很貴,一盆飯就要20元,我們那桌吃了四 盆.xc 不想買單啦 啦啦啦 然後就來到六中的某個功能室百無聊賴的休息了一會兒,兩點鐘進考場。兩點半 比賽開始,還是先看題.一二兩題太水了,直接開碼,1小時搞定兩題 三點半 仔...