數論進入第二天的學習!今天的主題是基礎歸納,這是一種重要的方法!
題解:
日期序號題目名稱
輸入檔名
輸出檔名
時限記憶體
演算法難度
分類081105
1燒水問題
heat.in
heat.out
1s256mb數學2
03數論_歸納
120912
2六邊形
hexagons.in
hexagons.in
1s256m數論1
03數論_歸納
081106
3最大子序和
max.in
max.out
1s256mb
字首和2
03數論_字首
111008
4哥德**矩陣
pmatrix.in
pmatrix.out
1s128m
字首和2
03數論_字首
【題目描述】
把總質量為1kg的水分裝在
n個杯子裡,每杯水的質量均為
(1/n)kg
,初始溫度均為
0℃。現需要把每一杯水都燒開。我們可以對任意一杯水進行加熱。把一杯水的溫度公升高
t℃所需的能量為
(4200*t/n)j
,其中,「
j」是能量單位「焦耳」。如果一旦某杯水的溫度達到
100℃,那麼這杯水的溫度就不能再繼續公升高,此時我們認為這杯水已經被燒開。顯然地,如果直接把水一杯一杯地燒開,所需的總能量為
(4200*100)j。
在燒水的過程中,我們隨時可以在兩杯溫度不同的水之間進行熱傳遞操作。熱量只能從溫度較高的那杯水傳遞到溫度較低的那杯水。由於兩杯水的質量相同,所以進行熱傳遞操作之後,原來溫度較高的那杯水所降低的溫度總是等於原來溫度較低的那杯水所公升高的溫度。
一旦兩杯水的溫度相同,熱傳遞立刻停止。
為了把問題簡化,我們假設:
沒有進行加熱或熱傳遞操作時,水的溫度不會變化。
加熱時所花費的能量全部被水吸收,杯子不吸收能量。
熱傳遞總是隔著杯子進行,n杯水永遠不會互相混合。
熱傳遞符合能量守恆,而且沒有任何的熱量損耗。
在這個問題裡,只要求把每杯水都至少燒開一遍就可以了,而不要求最終每杯水的溫度都是100℃。我們可以用如下操作把兩杯水燒開:先把一杯水加熱到
100℃,花費能量
(4200*100/2)j
,然後兩杯水進行熱傳遞,直到它們的溫度都變成
50℃為止,最後把原來沒有加熱到
100℃的那杯水加熱到
100℃,花費能量
(4200*50/2)j
,此時兩杯水都被燒開過了,當前溫度一杯
100℃,一杯
50℃,花費的總能量為
(4200*75)j
,比直接燒開所需的
(4200*100)j
少花費了
25%的能量。
你的任務是設計乙個最佳的操作方案使得n杯水都至少被燒開一遍所需的總能量最少。
【輸入檔案】輸入檔案只有乙個數n。(1≤
n≤50000)
【輸出檔案】輸出n杯水都至少被燒開一遍所需的最少的總能量,單位為
j,四捨五入到小數點後兩位。
【輸入樣例】2
【輸出樣例】315000.00
【試題描述】
有乙個由小正六邊形拼成的大六邊形,對邊的長度是相同的
(形狀如圖)
(圖中所示的是
a=2,b=3,c=4
的情況)
現在給出 a, b, c,求構成六邊形的小正六邊形的數量
【輸入格式】
一行三個整數 a,b,c
【輸出格式】乙個整數表示答案
【輸入樣例】2 3 4
【輸出樣例】18
【資料規模】
【題目描述】輸入乙個長度為n的整數序列(a1,a2,……,an),從中找出一段連續的長度不小於a,且不超過
b的子串行,使得這個子串行的和最大。
例如:序列 1, -3, 5, 1, -2, 3
當a=2,
b=2或3時 s=5+1=6
當a=3,
b=4時 s=5+1+(-2)+3=7
【輸入檔案】第一行三個整數n,a,b(1<=a<=b<=n)。
第二行為n整數,每個整數用空格隔開,表示該整數序列。
【輸出檔案】輸出檔案僅乙個整數,為最大子序和。
【輸入樣例】
6 3 4
1 -3 5 1 -2 3
【輸出樣例】
7
【資料規模和約定】
對於30%的資料
n<=1000;
對於100%的資料
n<=500000。
【題目描述】
根據哥德**猜想(每個不小於6的偶數都可以表示為兩個奇素數之和),定義哥德**矩陣a如下:對於正整數對(i,j),若i+j為偶數且i,j均為奇素數,則a[i,j]=1,否則a[i,j]=0。現在有若干詢問(x1,y1,x2,y2),你需要回答
的值是多少。
【輸入格式】
第一行乙個整數m;
接下來m行,每行四個整數x1 y1 x2 y2,表示乙個詢問。
【輸出格式】m行,每行乙個整數,表示對應詢問的答案。
【樣例輸入】 1
1 1 3 5
【樣例輸出】2
【資料範圍】
30%的資料保證x2,y2,m≤100
100%的資料保證1≤x1≤x2≤106;1≤y1≤y2≤106;m≤1000
C 基礎筆記 Day2
跑了一天回歸測試,留乙個小時補補進度。console.writeline the is p 1.1 方法的第乙個引數 字串 包含稱為佔位符的。佔位符會在執行時替換成字串後的表示式 p 1.1 的值。相較於將表示式p 1.1的值轉換成字串,再用 操作符把它連線到字串後面,這個技術顯然更好。p.s.1這...
Python基礎學習 Day2
python基礎學習 day2 pop 可以移除列表指定位置的物件並返回被刪除物件的值,注意該方法預設值為列表中的最後乙個元素且有返回值 del 移除列表中指定位置的多個物件,del 方式可以刪除整個列表,且列表刪除後無法訪問。拷貝分為copy 拷貝父物件,不會拷貝物件的內部的子物件和deepcop...
軟體測試基礎 day2
我們在測試過程中,一定要小心邊界值 極值 因為在程式中這些邊界最容易出問題 具體測試用例書寫思路 找到邊界值和它兩端的值,分別進行測試 總結 邊界值思想應該是選到邊界和剛超過的值,來進行測試,也要根據實際情況來選擇 邊界值和等價類是相輔相成的關係,配合使用的。因 輸入條件 果 輸出條件 出結果 適用...