BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】
生活随笔
收集整理的這篇文章主要介紹了
BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Description
Input
輸入包含一行兩個(gè)整數(shù)N和K,1<=N,K<=10^9
Output
一行一個(gè)整數(shù),表示不同方案數(shù)目模1,000,000,007的值。
Sample Input
2 2
Sample Output
16
思路
首先因?yàn)槊總€(gè)元素都是獨(dú)立的,所以可以分開考慮
然后如果只有一個(gè)元素,可以考慮\(dp_{i}\)表示i行i列的方案數(shù)
第i+1行如果放了前k個(gè),那么前面的前k個(gè)都必須要放,所以只剩下一個(gè)\(dp_{i-1-k}\)
然后歸納一下發(fā)現(xiàn)就是\(2^k\)
所以答案是\(2^{nk}\)
#include<bits/stdc++.h>using namespace std;const int Mod = 1e9 + 7;int mul(int a, int b) {return 1ll * a * b % Mod; }int fast_pow(int a, int b) {int res = 1;while (b) {if (b & 1) res = mul(a, res);b >>= 1;a = mul(a, a);}return res; }int main() {int n, k; cin >> n >> k;cout << fast_pow(fast_pow(2, n), k);return 0; }
轉(zhuǎn)載于:https://www.cnblogs.com/dream-maker-yk/p/10085674.html
總結(jié)
以上是生活随笔為你收集整理的BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 设置 myeclipse 编码格式
- 下一篇: spark 执行流程及各组件执行