題意:有n個千層糕,從每乙個千層糕的[a, b]層中選取一層,把所有層數相加剛好可以被5取模,問這個選取有多少種情況。
題解:當我們拿第乙個千層糕的其中一層,那麼我們可以得到餘0、餘1、...、餘4的所有答案。當我們要拿第二個千層糕的其中一層,假設我們選取的層數模5餘1,那麼它和前面餘0相乘可以獲得餘1的答案,它和前面餘1相乘可以獲得餘2的答案,同理可以獲得所有餘0、餘1、...、餘4的答案。
因此我們可以設計乙個dp公式:dp[i][j](其中i代表拿第i個千層糕,j代表拿了其中一層模5餘j的種類,一下mod0表示[a, b]中可以被5取模與0的個數,同理mod1、...、mod4)
dp[i][0] = dp[i][0] * mod0 + dp[i][1] * mod4 + dp[i][2] * mod3 + dp[i][3] * mod2 + dp[i][4] * mod1;
dp[i][1] = dp[i][1] * mod0 + dp[i][2] * mod4 + dp[i][3] * mod3 + dp[i][4] * mod2 + dp[i][0] * mod1;
...dp[i][4] = dp[i][4] * mod0 + dp[i][0] * mod4 + dp[i][1] * mod3 + dp[i][2] * mod2 + dp[i][3] * mod1;
題意:求陣列中的中位數,如果是偶數個,則取中間兩個的平均值。
題解:直接排個序,奇數個取中間值,偶數個取中間兩個和的平均值。
題目中說資料在int範圍內,那麼偶數個取平均值時候相加肯定會爆int範圍,可以兩邊各取一般,其他方法也可以。
題意:有n個密碼,有m個猜測密碼。如果猜測密碼的長度小於或等於密碼且是其中乙個密碼的字首,或者測密碼的長度大於密碼且其中乙個密碼是猜測密碼的字首,就可以輸出「yes」,否則輸出「no」。
題解:解法多種,只說一種。
構建乙個結構體,裡面儲存[0,9]的結構體陣列,鍊錶形式進行建十叉樹,將密碼從頭遍歷儲存在結構體煉表中。當我們去查詢猜測密碼是否符合條件時,可以從樹根搜尋,到沒有分支或者猜測密碼結束時則符合條件,否則不符合。
題意:有乙個長度為2*n-1的陣列,找出其中只存在一次的元素。
題解:資料範圍比較小,可以用乙個長度為1000的陣列記錄[1,1000]中某些元素出現次數,之後遍歷一次陣列,輸出只出現一次的數。異或,排序等方法都可以。
題意:a1 = 1,a2 = 2,a3 = 5*a2 + 3*2*1,...,an = 5*an-1 + n*(n-1)*(n-2)。
b1 = 1,b2 = 3,b3 = 4*b2 - b1 + 2*1,...,bn = 4*bn-1 - bn-2 + (n-1)*(n-2)。
輸出an - bn。
題解:an = 5*an-1 + n*(n-1)*(n-2);
an-1 = 5*an-2 + (n-1)*(n-2)*(n-3);
n*(n-1)*(n-2) = (n-1)*(n-2)*(n-3) + 3*(n-1)*(n-2);
n*(n-1) = (n-1)*(n-2) + 2*(n-1);
n = n-1 + 1;
因此可以構建右矩陣為:
因此可以構建右矩陣為:
因為有一樣的代表資料可以構建右矩陣:
根據上面給出的公式,構建左矩陣:
題意:有1000個千層糕,某些是士多啤梨口味的,讓你去掉一些士多啤梨口味的千層糕使得每乙個區間長度為m內的千層糕口味不超過k個,求最少去掉士多啤梨口味的個數。
題解:貪心題,在[1, m]區間內我們優先刪除後面的士多啤梨口味,同理[2, m+1]、...、[n-m+1, n]都是優先刪除後面的士多啤梨口味。所以遍歷一遍記錄要刪除的個數即可輸出答案。
題意:求區間內不同數的和。
題解:莫隊演算法模板題(線段樹+離線也闊以)。
離線處理區間,通過mark標記出現的數並記錄次數來維護區間和。
注意,要離散化陣列的數,如果有其他辦法記錄也是ok的。
題意:製作乙個簡單模擬oj排名的程式,輸出某個人的排名。
題解:可以構建乙個結構體來儲存乙個人的狀態,比如:姓名、過題數、罰時等。
將結構體按照過題數優先罰時其次的規則排序,遍歷一次名字輸出名次即可。
凱東源杯 物流設計大賽決賽在北師大珠海分校圓滿落幕
11 月 17 日,凱東源杯 物流設計大賽決賽在北京師範大學珠海分校物流學院 以下簡稱物流學院 木鐸樓報告廳順利舉行。前海凱東源總裁黃喜煌先生 人力資源總監曾夏鳳女士蒞臨比賽現場並擔任評委,物流學院院長楊蓉教授 副院長童年成教授 燕珍副教授及其他專業課老師也親臨決賽現場進行指導點評。北師大珠海分校物...
北師大複試
近來真忙,想要保持寫點東西的習慣不容易。複試 招聘進行時。招聘 想不停,推了許多招聘的面試筆試。有自己想要的路了。今天去的是北師大複試。早上8點開始,上午筆試加機試,下午是面試。題目做得還行,機試提早交卷了,最後一道實在沒思路。面試是1點鐘開始,輪到我時已4點半了。面試流程是中文自我介紹,專業基礎知...
北師大上機題 三 c
題目 輸入一堆要完成的任務,每個任務有開始時間和要完成的時間,求把這些任務做完最快要多久。原題是回憶版題目,題意表述不是很明確,這裡簡單認為個任務可以在相同時間段內進行不會衝突,時間的格式採用的是整數 輸入格式 輸入任務的總數 各個任務開始的時間和所需要的時間 輸出格式 所需時間 輸入樣例 5 2 ...