题解 | #新春游戏之数学系列#

新春游戏之数学系列

https://ac.nowcoder.com/acm/contest/73955/A

A

关注点放在序列中出现不同个数最多会有多少个

题干中关键信息

显然会发现 1 、 2 、 3 、 4 、…… 、k

( + )/2

预处理出不同元素及个数暴力统计贡献就好

#include <bits/stdc++.h>

using namespace std ;

using i64 = long long ;
const int p = 998244353 ;
const int N = 1e6 + 10 ; 

int n ; 

int gcd(int a,int b) {
	return b ? gcd(b , a  % b) : a ;
}

void solve()
{
	cin >> n ;
    unordered_map<i64 , i64> mp ;
	for(int i = 1 ; i <= n ; i++) {
        int x ; 
        cin >> x ;
        ++mp[x] ; 
    }
	i64 ret = 0 ;
    for(auto a : mp)
    {
        for(auto b : mp)
        {
        	ret = (ret + a.second * b.second * gcd(a.first , b.first) % p * (__builtin_popcount(a.first) + __builtin_popcount(b.first) ) % p) % p;
        }
    }
    
    cout << ret ; 
}

int main()
{
	ios::sync_with_stdio(false) ; cin.tie(0) ; cout.tie(0) ;

	int t = 1 ;
	// cin >> t ;

	while (t--)
	{
		solve() ; 
	}
	return 0 ; 
}
全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

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