牛客每日練習 購物,骰 的遊戲,有趣的數學

2021-10-04 17:54:22 字數 2963 閱讀 5657

在遙遠的東方,有一家糖果專賣店。

這家糖果店將會在每天**一些糖果,它每天都會生產出m個糖果,第i天的第j個糖果**為c[i][j]元。

現在的你想要在接下來的n天去糖果店進行選購,你每天可以買多個糖果,也可以選擇不買糖果,但是最多買m個。(因為最多隻生產m個)買來糖果以後,你可以選擇吃掉糖果或者留著之後再吃。糖果不會過期,你需要保證這n天中每天你都能吃到至少乙個糖果。

這家店的老闆看你經常去光顧這家店,感到非常生氣。(因為他不能好好睡覺了)於是他會額外的要求你支付點錢。具體來說,你在某一天購買了 k 個糖果,那麼你在這一天需要額外支付 k2 的費用。

那麼問題來了,你最少需要多少錢才能達成自己的目的呢?

第一行兩個正整數n和m,分別表示天數以及糖果店每天生產的糖果數量。

接下來n行(第2行到第n+1行),每行m個正整數,第x+1行的第y個正整數表示第x天的第y個糖果的費用。

輸出只有乙個正整數,表示你需要支付的最小費用。
示例1

複製

3 2 

1 1100 100

10000 10000

複製

107
示例2

複製

5 5

1 2 3 4 5

2 3 4 5 1

3 4 5 1 2

4 5 1 2 3

5 1 2 3 4

複製

10
對於100%的資料,1 ≤ n, m ≤ 300 , 所有輸入的數均 ≤ 106。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

int a[550][550];

ll sum[550][550],f[550][550],n,m;

int main()

f[0][0]=0;

for(int i=1;i<=n;i++)

for(int j=i;j<=n;j++)

for(int k=0;k<=j&&k<=m;k++)

if(f[i-1][j-k]!=0x3f3f3f3f)

f[i][j]=min(f[i][j],f[i-1][j-k]+sum[i][k]+k*k);

cout《在alice和bob面前的是兩個骰子,上面分別寫了六個數字。

alice和bob輪流丟擲骰子,alice選擇第乙個骰子,而bob選擇第二個,如果誰投擲出的數更大,誰就可以獲勝。

現在給定這兩個骰子上的6個數字,你需要回答是alice獲勝機率更大,還是bob獲勝機率更大。(請注意獲勝機率相同的情況)

第一行乙個數t,表示資料個數。

接下來的每一組資料一共有2行,每一行有6個正整數,第一行是第乙個骰子上的6個數,第二行是第二個骰子上的6個數。

如果alice獲勝機率更大,你需要輸出alice;

如果bob獲勝機率更大,你需要輸出bob;

如果獲勝機率一樣大,你需要輸出tie。

示例1

複製

2

3 3 3 3 3 3

1 1 4 4 4 4

1 2 3 4 5 6

6 5 4 3 2 1

複製

bob

tie

第乙個資料中,alice有三分之一機率獲勝,bob有三分之二機率獲勝;

第二個資料中,alice和bob的骰子完全一致,所以獲勝機率一樣大。

對於30%的資料,1 ≤ t ≤ 10。

對於60%的資料,1 ≤ t ≤ 1000。

對於100%的資料,1 ≤ t ≤ 105,所有輸入的數均 ≤ 107。

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

int a[7],b[7],n,w,l;

int main()

}if(w>l)

cout<<"alice"《在剛剛過去的雙11,對於別人來說是乙個購物的節日,然而對於cjj來說,確是乙個單身狗的光棍節,所以他只能乙個人默默的刷題。

現在,cjj學長遇到了乙個數學問題,如果乙個數的三次方的後兩位是11,那麼他將其稱之為「單身數」,他知道了第乙個「單身數」是71,cjj學長想知道第n個「單身數」是多少。

輸入乙個正整數t(t<=100),表示有t組資料,每組資料報括乙個整數n(1<=n<=1000000)

輸出第n個「單身數」。
示例1

複製

1

1

複製

71
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

int n,t;

int main()

return 0;

}

牛客網 有趣的數字

程式設計題 有趣的數字 時間限制 1秒空間限制 32768k 小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入描述 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2 an 需要計算的資料 保證 1 n 100000,0 ai ...

牛客練習賽7 骰子的遊戲(水)

在alice和bob面前的是兩個骰子,上面分別寫了六個數字。alice和bob輪流丟擲骰子,alice選擇第乙個骰子,而bob選擇第二個,如果誰投擲出的數更大,誰就可以獲勝。現在給定這兩個骰子上的6個數字,你需要回答是alice獲勝機率更大,還是bob獲勝機率更大。請注意獲勝機率相同的情況 第一行乙...

牛客網答題筆記 有趣的數字

小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入描述 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2.an 需要計算的資料 保證 1 n 100000,0 ai int max.輸出描述 對於每組資料,輸出兩個數,第乙個數表...