【題解】2021暑 DAY2
阿新 • • 發佈:2021-08-22
今天的題都還比較簡單,反正 AK 了(,但是幾乎所有人都 AK 了,所以沒啥可高興的(
大概題目難度都是 普及- 吧
T1:級數求和
本題模擬就行。
定義一個變數 $sum$,表示當前的和,然後一直迴圈,當 $sum>k$ 時,退出迴圈。
while(1){
if(sum > k)break;
tmp++;
sum = sum+((double)1/(double)tmp);
}
T2:過河卒
做法:遞推
首先先定義一個 $map$ 儲存這個棋盤,然後把馬的控制點標記一下,再遞推即可。
注意 $ans_{0,0}$ 為 $1$,還要考慮出界,馬的控制點。
if(map[i-1][j] == 0 && (i-1) >= 0)ans[i][j]=ans[i-1][j]; if(map[i][j-1] == 0 && (j-1) >= 0)ans[i][j]+=ans[i][j-1];
T3:數的計算
做法:遞推
我們定義 $f_i$ 表示初始數為 $i$ 的方案總數。
因為 $i$ 後面可以接上任意一個不大於它一半的數,當然,它自己本身也符合要求。
for(int i=1; i<=1001; i++){
for(int j=1; j<=i/2; j++){
f[i]+=f[j];
}
f[i]++;
}
T4:最大公約數和最小公倍數問題
做法:有些數學題(?)