牛客演算法周周練5

2021-10-05 18:51:56 字數 1209 閱讀 9483

題解:採用分層圖跑最短路。

#include

using

namespace std;

#define mp make_pair

#define ll long long

#define inf 0x3f3f3f3f

const

int n =

1e6+

100;

int n, m, s, t;

int ne[n<<1]

,head[n]

,e[n<<1]

,w[n<<1]

;int vis[n]

,cnt;

ll dis[n]

;void

add(

int a,

int b,

int c)

void

dijsktra()

}}}int

main()

add(i*n+v, m*n+v,0)

;add

(m*n+v, i*n+v, a)

; u = v;}}

dijsktra()

; ll res=dis[m*n+t];if

(res >= inf) res =-1

; cout << res << endl;

return0;

}

題解:

因為是排列,所以n個數字都不一樣,所以我們 需要改變n-1個數字,每次改變k-1個數字,所以答案就是(n-1)/(k-1)向上取整。

#include

using

namespace std;

intmain()

cout<<

ceil((

double

)(n-1)

/(k-1)

)<}

題解:

bitset的簡單運用,如果我們能夠組成第xi個數字那麼在二進位制中第xi*xi位上就是1,最後有多少個一就有多少種類。

#include

using

namespace std;

signed

main()

printf

("%d\n"

,a.count()

);}

牛客演算法周周練2

a 題意 求乙個數的順序和逆序之和。題解 其實就是個閹割版的高精度加法嘛。其實逆序數忽略前導零這個條件是沒有用的,因為順序數不可能有前導零,自然結果也不會有,然後注意下首位進製不取餘。include using namespace std int a 10 b 10 intmain for k j ...

牛客演算法周周練2

題目鏈結 include define sc x scanf lld x define pf printf define rep i,s,e for int i s i e i define dep i,e,s for int i e i s i using namespace std typede...

牛客演算法周周練3

只寫了乙個,打遊戲去了 就是個搜尋模板,直接寫就行 include include include include include include using namespace std define mid 1000000007 typedef long long ll int book 106 ...