題解:採用分層圖跑最短路。
#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 ...