P6075 子集选取 思维

P6075 子集选取 思维

题意

[1leq n,kleq 10^9 ]

分析

首先想到一个简单又关键的性质,子集元素选取可以认为是独立的,也就是说选取时元素之间互不影响,因此可以用乘法原理做。

问题就转化成了单个元素怎么计算答案

此处引用题解的一张图片:

img

发现选取其实就是在这个下三角形上划一道虚线。

这个画法显然是(2 ^ k)种的

再由乘法原理

[res = 2 ^ {k imes n} ]

代码

int main() {
    ll n = readll();
    ll k = readll();
    cout << quickPower(2, n * k,MOD);
}
原文地址:https://www.cnblogs.com/hznumqf/p/13878720.html