每日一練 19 2 15

2021-09-10 23:36:35 字數 3603 閱讀 5944

題目描述

給定乙個多項式(by+ax)k,請求出多項式展開後xn * ym 項的係數。

輸入

共一行,包含5 個整數,分別為 a ,b ,k ,n ,m,每兩個整數之間用乙個空格隔開。0≤k≤1000, 0≤n,m≤k 且 n+m=k, 0≤a,b≤100,000

輸出

輸出共1 行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對10007 取模後的結果。

樣例輸入

1 1 3 1 2

樣例輸出

3思路

通過公式

借用楊輝三角,即可推出答案

**實現

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpa;

const int mod=10007;

const int n=10005;

ll s[n][n];

ll qpow(ll k,ll n)

return ans;

}int main()

cout<題目描述

麗江河邊有 n 家很有特色的客棧,客棧按照其位置順序從 1 到n 編號。每家客棧都按照某一種色調進行裝飾(總共 k 種,用整數 0 ~ k-1 表示),且每家客棧都設有一家咖啡店,每家咖啡店均有各自的最低消費。

輸入

輸入共n+1行。

第一行三個整數 n,k,p,每兩個整數之間用乙個空格隔開,分別表示客棧的個數,色調的數目和能接受的最低消費的最高值;

接下來的 n行,第 i+1 行兩個整數,之間用乙個空格隔開,分別表示 i 號客棧的裝飾色調和 i 號客棧的咖啡店的最低消費。

2 ≤n ≤200,000,0輸出

輸出只有一行,乙個整數,表示可選的住宿方案的總數。

樣例輸入

5 2 3

0 51 3

0 21 4

1 5樣例輸出

3提示

輸入輸出樣例說明:

客棧編號 1 2 3 4 5

色調 0 1 0 1 1

最低消費 5 3 2 4 5

2 人要住同樣色調的客棧,所有可選的住宿方案包括:住客棧①③,②④,②⑤,④⑤,

但是若選擇住 4、5 號客棧的話,4、5 號客棧之間的咖啡店的最低消費是 4,而兩人能承受

的最低消費是 3 元,所以不滿足要求。因此只有前 3 種方案可選。

思路:

從右向左看,如果其左邊又符合條件的咖啡店,並且存在相同顏色的客棧,則方案數加一,那麼如果以這個右邊的旅店作為對應點,將所有在左邊而且顏色與之相

同的旅店數相加,就能得出很多種住宿方法了。那麼用這個辦法,用所有的對應點對應過去,就能最快的時間內找出所用的酒店了。

**實現

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpa;

const int mod=10007;

const int n=2000005;

int t[n],last[n],num[n];

int ans,now;

int main()

printf("%d\n",ans);

return 0;

}

題目描述傳說很遙遠的藏寶樓頂層藏著誘人的寶藏。小明歷盡千辛萬苦終於找到傳說中的這個藏寶樓,藏寶樓的門口豎著乙個木板,上面寫有幾個大字:尋寶說明書。說明書的內容如下:

藏寶樓共有n+1層,最上面一層是頂層,頂層有乙個房間裡面藏著寶藏。除了頂層外,藏寶樓另有n層,每層m個房間,這m個房間圍成一圈並按逆時針方 向依次編號為0,…,m-1。其中一些房間有通往上一層的樓梯,每層樓的樓梯設計可能不同。每個房間裡有乙個指示牌,指示牌上有乙個數字x,表示從這個房 間開始按逆時針方向選擇第x個有樓梯的房間(假定該房間的編號為k),從該房間上樓,上樓後到達上一層的k號房間。比如當前房間的指示牌上寫著2,則按逆 時針方向開始嘗試,找到第2個有樓梯的房間,從該房間上樓。如果當前房間本身就有樓梯通向上層,該房間作為第乙個有樓梯的房間。

尋寶說明書的最後用紅色大號字型寫著:「尋寶須知:幫助你找到每層上樓房間的指示牌上的數字(即每層第乙個進入的房間內指示牌上的數字)總和為開啟寶箱的金鑰」。

請幫助小明算出這個開啟寶箱的金鑰。

輸入

第一行2個整數n和m,之間用乙個空格隔開。n表示除了頂層外藏寶樓共n層樓,m表示除頂層外每層樓有m個房間。

接下來n*m行,每行兩個整數,之間用乙個空格隔開,每行描述乙個房間內的情況,其中第(i-1)*m+j行表示第i層j-1號房間的情況 (i=1,2,…, n;j=1,2,…,m)。第乙個整數表示該房間是否有樓梯通往上一層(0表示沒有,1表示有),第二個整數表示指示牌上的數字。注意,從j號房間的樓梯 爬到上一層到達的房間一定也是j號房間。

最後一行,乙個整數,表示小明從藏寶樓底層的幾號房間進入開始尋寶(注:房間編號從0開始)。

0輸出

輸出只有一行,乙個整數,表示開啟寶箱的金鑰,這個數可能會很大,請輸出對20123取模的結果即可。

樣例輸入

2 31 2

0 31 4

0 11 5

1 21

樣例輸出

5思路:

模擬小明上樓的過程,在輸入資料是記錄每一層有樓梯房間的個數,以提高效率

**實現

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpa;

const int mod=20123;

const int n=10005;

bool lt[n][105];

int c[n],ro[n][105];

int ans;

int main()}}

printf("%d\n",dp[n][m]);

return 0;

}

每日一練4

員工表emp 員工編號eid,姓名ename,工作職位title,僱傭日期hiretime,工資salary,獎金bonus,部門depart 部門表dept 部門編號did,名稱dname,部門領導leader 員工資料 1001,張三 銷售 1999 12 1 3000.0,1100.0,102...

每日一練25

請描述 mysql 從安裝到配置的全部詳細過程 確保一台新電腦可以順利使用 mysql mysql安裝嚮導啟動,按 next 繼續 選擇安裝型別,有 typical 預設 complete 完全 custom 使用者自定義 三個選項,我們選擇 custom 有更多的選項,也方便熟悉安裝過程 選擇配置...

每日一練 13

談談你對ajax 的理解?概念 特點 作用 select 教師號,sum case when 星期號 1 and 是否有課 有 then 1 else 0 end as 星期一,sum case when 星期號 2 and 是否有課 有 then 1 else 0 end as 星期二,sum c...