題目描述
hanayo很喜歡吃公尺飯。
有一天,她拿出了 個碗,第乙個碗裝了 粒公尺飯,第二個碗裝了 粒公尺飯,以此類推,第 個碗裝了 粒公尺飯。
然而,愛搞惡作劇的rin把所有的碗的順序打亂,並拿走了乙個碗。hanayo想知道,rin拿走的碗裡有多少粒公尺飯?
輸入描述:
第一行輸入乙個正整數 。代表原始的總碗數。
第二行輸入 個正整數 a_ai
,代表目前每碗裡公尺飯數量。
保證輸入合法。
輸出描述:
輸出乙個正整數,代表rin拿走的碗裡公尺飯數量。
示例1輸入複製5
2 5 1 3
輸出複製4說明
開始共有5個碗,每個碗內分別有1、2、3、4、5粒公尺飯。rin拿走的是第四碗。這麼簡單的樣例連tairitsu都看得懂好伐~
思路:水題,不過我做麻煩了,後來看題解,用標記法比較簡單。
#include
using
namespace std;
intmain()
for(
int i=
1;i<=n;i++)}
}
題目描述
有一天,kotori發現了乙個和lovelive相似的遊戲:bangdream。令她驚訝的是,這個遊戲和lovelive居然是同乙個公司出的!
kotori經過一段時間的練習後已經變得非常觸,每個音符 x%x% 的概率perfect,獲得 分, (100 -x)%(100−x)% 概率great,獲得 分。
已知一首歌有 個音符。kotori想知道,不考慮連擊加成的話,一首歌得分的期望是多少?
輸入描述:
一行 個整數,用空格隔開。分別是 。
輸出描述:
一首歌得分的期望,保留兩位小數。
示例1輸入
複製100 50 500 400
輸出複製
45000.00
說明如果全perfect是50000分,全great是40000分。由於它們的概率都是50%,即perfect和great五五開,所以期望是45000分。
思路:水題,計算數學期望。
#include
using
namespace std;
intmain()
題目描述
」數論真的太好玩了喵~「——hoshizora rin
rin最近喜歡上了數論。
然而數論實在太複雜了,她只能研究一些簡單的問題。
這天,她在研究正整數因子個數的時候,想到了乙個「快速迭代」演算法。設 為 的因子個數,將 迭代下去,rin猜想任意正整數最終都會變成 。
例如: 。
她希望你幫她驗證一下。她會給你乙個正整數 ,讓你輸出它在迭代過程中,第一次迭代成 的迭代次數。
輸入描述:
乙個正整數
輸出描述:
乙個正整數,為 迭代至 的次數。
示例1輸入
複製12
輸出複製4說明
12的因子:1,2,3,4,6,12。共6個。
6的因子:1,2,3,6。共4個。
4的因子:1,2,4。共3個。
3的因子:1,3。共2個。
12 → 6 → 4 → 3 → 2 , 故迭代了4次。
思路:這個題其實不算特別難,要注意的就是計算乙個數的因子個數時,如果不注意對資料進行處理,容易超時;這就要求在編寫計算因子個數的函式時,對時間複雜度進行處理。
#include
using
namespace std;
typedef
long
long ll;
intsearch
(ll n)
}return count;
}int
main()
printf
("%d"
,j+1);
}return0;
}
尺取法:顧名思義,像尺子一樣取一段,借用挑戰書上面的話說,尺取法通常是對陣列儲存一對下標,即所選取的區間的左右端點,然後根據實際情況不斷地推進區間左右端點以得出答案。尺取法比直接暴力列舉區間效率高很多,尤其是資料量大的時候,所以說尺取法是一種高效的列舉區間的方法,是一種技巧,一般用於求取有一定限制的區間個數或最短的區間等等。當然任何技巧都存在其不足的地方,有些情況下尺取法不可行,無法得出正確答案,所以要先判斷是否可以使用尺取法再進行計算。
使用尺取法時應清楚以下四點:
1、 什麼情況下能使用尺取法? 2、何時推進區間的端點? 3、如何推進區間的端點? 4、何時結束區間的列舉?
題目描述
eli拿到了乙個僅由小寫字母組成的字串。
她想擷取一段連續子串,這個子串包含至少 個相同的某個字母。
她想知道,子串的長度最小值是多少?
注:所謂連續子串,指字串刪除頭部和尾部的部分字元(也可以不刪除)剩下的字串。例如:對於字串\mathit「arcaea」而言,\mathit「arc」、\mathit「rcae」「rcae」都是其子串。而\mathit「car」「car」、\mathit「aa」「aa」則不是它的子串。
輸入描述:
第一行輸入兩個正整數 和
輸入僅有一行,為乙個長度為 的、僅由小寫字母組成的字串。
輸出描述:
如果無論怎麼取都無法滿足條件,輸出 。
否則輸出乙個正整數,為滿足條件的子串長度最小值。
示例1輸入
複製5 2
abeba
輸出複製3說明
選擇\mathit「beb」「beb」子串,長度為3,其中包含相同的兩個』b』
本題做法(寫的很爛)
}除這個題外,我還學了一點快速冪演算法,
int
fastpower
(int a,
int b,
int c)
return ans;
}
2020牛客寒假演算法基礎集訓營
長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...
2020牛客寒假演算法基礎集訓營1
找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...
2020牛客寒假演算法基礎集訓營1
h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...