杭電第二週

2021-10-08 14:17:23 字數 1371 閱讀 8534

由題意所得列出式子為fib(k)=a * b - c; 根據式子,求出fib(k) 對應 的值,然後遍歷fib陣列,從而找到k值並輸出。

#include

using

namespace std;

typedef

long

long ll;

const

int n =

30000010

;ll fib[n]

;inline

void

init

(ll &aa)

aa = a;

}int main ()}

return0;

}

在n個裝備中有m個類別,每個裝備有四個屬性,由於資料範圍較小,想要根據所給式子選出裝備,得到最大dmg值,可以直接運用 dfs 演算法一一計算得來。

#include

using

namespace std;

typedef

long

long ll;

const

int n =55;

int class_nums[n]

;int unzero[n]

;int lab[n]

[n][4]

;//n類裝備的第n個裝備下的a、b、c、d值

int n;

//裝備數量

int m;

//裝備型別數

ll res;

void

dfs(

int pos,

int a,

int b,

int c,

int d)if(

!class_nums[pos]

)for

(int i =

1; i <= class_nums[pos]

; i++

)dfs

(pos +

1, a + lab[pos]

[i][0]

, b + lab[pos]

[i][1]

, c + lab[pos]

[i][2]

, d + lab[pos]

[i][3]

);}int main ()}

pos = m +1;

//dfs結束標誌

for(i = m; i >

0; i --

) res =0;

dfs(1,

100,

100,

100,

100)

; cout << res << endl;

}}

杭電第二場 A Total Eclipse

題意 給定乙個無向圖,每個點有乙個點權 有這樣的操作 選定乙個連通塊 每個點的權大於0 將所有節點的權值減一 求最少的操作次數,使得所有點的權為0 題解 並查集 依照題意,貪心地選最大的連通快,每當有點的權值減為0的時候可能會使得連通塊斷裂成多個,我們要維護這個過程 但是這樣做會tle 那我們逆向進...

2019杭電多校第二場

今天也是一條鹹魚orz 場上三題 e,j,k e everything is generated in equal probability 題解 乙個長度為n的排列的逆序期望為c n,2 2 因為每一對下標的貢獻都是1 2.然後設dp i dp i dp i 為長度為i ii的隨機排列的culcul...

2019杭電多校第二場

給定乙個 n 從 1,n 中等概率取出乙個數,再等概率生成乙個 n 的全排列,再計算這個全排列的函式值,求這個函式值的期望。函式表達為輸入乙個全排列,計算其逆序數,再等概率取出乙個子串行 可以是空,可以是原序列 遞迴計算該子串行的函式值,累加返回。include using namespace st...