ACM-ICPC 2018 徐州赛区网络预赛 A. Hard to prepare 圆形排列染色

题目链接:https://nanti.jisuanke.com/t/A2000
题目大意:有n个人和(2^k)种不同颜色帽子。每种帽子有无数顶。问:使所有人和相邻的人的帽子都不同的方案数?

图片说明

#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int mod=1e9+7;

LL qpow(LL a, LL b){
    if(!a) return 0;
    LL ans=1;
    while(b){
        if(b&1){
            ans=ans*a%mod;
        }
        a=a*a%mod;
        b>>=1;
    }
    return ans;
}

LL pow2[1000005]={1};
LL DP(LL n, LL k){
    if(n==1) return pow2[k];
    if(n==2) return pow2[k]*(pow2[k]-1)%mod;
    LL ans=(pow2[k]*qpow(pow2[k]-1, n-2)%mod)*(pow2[k]-2);
    ans=(ans+mod+DP(n-2, k))%mod;
    return ans;
}

int main() {
    for(int i=1; i<1000005; i++){
        pow2[i]=pow2[i-1]*2%mod;
    }
    int T; scanf("%d", &T);
    while(T--){
        int n, k; scanf("%d%d", &n, &k);
        printf("%lld\n", DP(n, k));
    }

    return 0;
}
全部评论

相关推荐

给我发了笔试链接,想着等晚上回去做,结果还没做流程就终止了
伟大的小黄鸭在学习:我猜就是笔试几乎没用,就是用来给用人部门拖时间复筛简历的,可能用人部门筛到你简历觉得不合适就提前挂了
投递小鹏汽车等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 22:48
牛马人的牛马人生:建议就是把北邮几个字放大就行了。北邮本硕按理来说完全不用担心啊
点赞 评论 收藏
分享
06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务