The 15th Zhejiang University Programming Contest
来源:互联网 发布:淘宝关联页是什么 编辑:程序博客网 时间:2024/05/02 06:12
参考http://www.kuangbin.net/archives/15th_zju
I-GCD Expectation
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5471
///参考了kuangbin大神的#include <iostream>#include <cstdio>#include <cstring>#define max(a,b) (a)>(b)?(a):(b)#define N 1000002#define mod 998244353using namespace std;int b[N];long long dp[N];long long pow_m(long long a,long long n){ long long ret = 1; long long tmp = a; while(n){ if(n&1)ret = ret*tmp%mod; tmp = tmp*tmp%mod; n >>= 1; } return ret;}int main(){ int t; scanf("%d",&t); int n,k; while(t--){ scanf("%d%d",&n,&k); memset(b,0,sizeof(b)); int temp,max0=-1;///找出最大数 for(int i=0;i<n;i++){ scanf("%d",&temp); b[temp]++;///集合中有重复的数,建个表方便查 max0=max(max0,temp); } long long sum=0; int cnt;///计算i倍数的个数 for(int i=max0;i>=1;i--) { dp[i]=0; cnt=0; for(int j=i;j<=max0;j=j+i){///顺便求了倍数 cnt+=b[j];///记了有多少个 if(j>i)dp[i]=(dp[i]-dp[j]+mod)%mod;///计算gcd为i的子集个数,需要减去i的倍数才是他单独的 }///求和 ///那么如果i的倍数有x个, 那么gcd为 i的倍数的子集个数就是 2^x - 1 dp[i]=(dp[i]+pow_m(2,cnt)-1+mod)%mod; sum+=dp[i]*pow_m(i,k)%mod;///按要求求和 sum%=mod; } cout<<sum<<endl; } return 0;}
0 0
- The 15th Zhejiang University Programming Contest
- The 15th Zhejiang University Programming Contest
- The 15th Zhejiang University Programming Contest
- The 15th Zhejiang University Programming Contest
- The 12th Zhejiang University Programming Contest
- The 14th Zhejiang University Programming Contest
- The 14th Zhejiang University Programming Contest
- [The 14th Zhejiang University Programming Contest]
- The 16th Zhejiang University Programming Contest-
- The 11th Zhejiang University Programming Contest / 解题报告 4.3
- The 11th Zhejiang University Programming Contest - C/ Chinese Zodiac
- The 11th Zhejiang University Programming Contest - G/ Gaussian Prime
- The 11th Zhejiang University Programming Contest C G J
- 115 - The 12th Zhejiang University Programming Contest - C
- The 14th Zhejiang University Programming Contest(未完工)
- The 16th Zhejiang University Programming Contest - E
- The 11th Zhejiang University Programming Contest - J/ Judge Internal Error
- The 14th Zhejiang University Programming Contest D题&I题
- openmas配置文档
- 说说lighttpd的fastcgi
- 计数排序
- POJ 题目2083 Fractal(分治)
- Unsafe code may only appear if compiling with /unsafe
- The 15th Zhejiang University Programming Contest
- NSFileManager
- lighttpd 配置文件
- Git 删除远程分支报错 error: Could not remove config section 'remote.origin' 解决办法
- iOS——越狱和未越狱iPhone打包测试
- mac 下使用Xcode 5.1 编译Vmime笔记
- 移植ntp服务到arm-linux平台
- # less(less is more, Than# less(less is more, Than css)
- 如何将javaweb项目部署到linux下