1 条题解

  • 0
    @ 2025-8-24 22:40:08

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar zhang_kevin
    不拿7级蓝钩不改签

    搬运于2025-08-24 22:40:08,当前版本为作者最后更新于2022-10-02 19:27:45,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这道题需要用到排列组合的知识,不会的建议去看我的博客

    我们可以先从这 nn 种金属入手。

    对于任意一种金属,它可以被任意 1k1 \sim k 个熔炉所造出来,方案总数为:

    $$C^1_k+C^2_k+C^3_k+\cdots\cdots+C^{k-1}_k+C^k_k = 2^k-1 $$

    现在有 nn 种金属,每一种金属有 2k12^k-1 种方法,总方案数为 (2k1)n(2^k-1)^n,配上快速幂模板即可。

    #include<bits/stdc++.h>
    #define int unsigned long long
    #define endl '\n'
    using namespace std;
    const int mod = 998244353;
    
    int ksm(int a, int b){
        int ans = 1;
        while(b){
            if(b & 1)
    			ans = ans * a % mod;
            b >>= 1;
            a = a * a % mod;
        }
        return ans;
    }
    
    int32_t main(){
    	ios::sync_with_stdio(false);
    	cin.tie(nullptr);
    	cout.tie(nullptr);
    	int n, k, ans = 0;
    	cin >> n >> k;
    	cout << ksm(ksm(2, k)-1, n) << endl;
    	return 0;
    }
    
    • 1

    信息

    ID
    5626
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者