首页 > 其他分享 >[LMXOI Round 1] Size

[LMXOI Round 1] Size

时间:2024-01-30 21:55:06浏览次数:29  
标签:2000005 48 int cc && Round LMXOI Size

  • \(\sum d_i <=5*10^7\)一定是解题的突破口;可是,该怎么利用这个条件呢?
  • 不妨更进一步——考虑数据的特征,发现数字的种类是有限的
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int d[2000005],r[2000005];
map<int,long long>q;
int read1()
{
	char cc=getchar();
	while(!(cc>=48&&cc<=57))
	{
		if(cc=='-')
		{
			break;
		}
		cc=getchar();
	}
	bool f=false;
	int s=0;
	if(cc=='-')
	{
		f=true;
	}
	else
	{
		s=cc-48;
	}
	while(1)
	{
		cc=getchar();
		if(cc>=48&&cc<=57)
		{
			s=s*10+cc-48;
		}
		else
		{
			break;
		}
	}
	if(f==true)
	{
		s=-s;
	}
	return s;
}
int lowbit(int n)
{
	return n&(-n);
}
int calc(int x)
{
	int s=0;
	while(x!=0)
	{
		x-=lowbit(x);
		s++;
	}
	return s;
}
int main()
{
	int n;
	cin>>n;
	int cnt=0;
	for(int i=1;i<=n;i++)
	{
		d[i]=read1();
		if(q.find(d[i])==q.end())
		{
			cnt++;
			r[cnt]=d[i];
		}
		q[d[i]]++;
	}
	long long ans=0;
	for(int i=1;i<=cnt;i++)
	{
		for(int j=1;j<=cnt;j++)
		{
			ans=ans+q[r[i]]*q[r[j]]*(calc(r[i]+r[j])+calc(abs(r[i]-r[j])));
		}
	}
	cout<<ans<<endl;
	return 0;
}

标签:2000005,48,int,cc,&&,Round,LMXOI,Size
From: https://www.cnblogs.com/watersail/p/17998075

相关文章

  • 深入了解Java中的Map.size方法
    本文转载自:https://www.python100.com/html/54940.html在Java中,Map是一个非常重要和常用的数据结构,它用于存储键值对映射的集合。在Map中,size()这个方法是用来获取集合大小的,我们经常使用它来获取键值对映射的数量。但是,你知道吗?实际上,Map.size()的实现和使用也是有许多细节和注......
  • 牛客周赛 Round 30
    牛客周赛Round30A代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;voidsolve(){strings;cin>>s;for(inti=0;......
  • 牛客周赛 Round 29
    C题:用桶处理字符串重排小红拿到了一个字符串,其中一定包含连续子串"xiao",和连续子串"hong"。请你将字符串重排,使得该字符串包含"xiaohong"的连续子串。较简单的做法:遍历字符串,给每个字符放到相应的桶中,然后先先输出目标字符串xiaohong,同时对桶进行相对应的调整。最后再按任意顺......
  • 如何修改Azure Kubernetes Services节点池VM Size
    如何修改AzureKubernetesServices节点池大小今天和大家聊聊AzureKubernetesServices(AKS)修改节点池VMSize的问题。这也是很多客户在使用AKS的过程中都会遇到的一个问题。随着AKS群集使用时间的增长,很多客户都会面临扩展或修改AKS节点池VMSize的问题,具体的原因大致如下:性能优化......
  • P10114 [LMXOI Round 1] Size 题解
    题目链接:[LMXOIRound1]Size挺有意思的诈骗题,其实这类题都喜欢批一个外壳,例如数据范围提示之类的。记得以前遇到的很多诈骗题,有一道cf的高分题,问的是区间出现次数的次数\(mex\),这玩意一开始感觉好难,出现次数还简单,还要考虑次数的次数,所以带修莫队的时候,一直没法确定怎么解决......
  • Codeforces Round 921 (Div. 2)
    目录写在前面ABCDE写在最后写在前面比赛地址:https://codeforces.com/contest/1925。在床上躺了两天终于复活了妈的。A发现字符串\(s\)合法当且仅当\(s\)可以被分为至少\(n\)段,其中每段都包含\(k\)种字符至少1次。正确性可以归纳证明,这里懒得写了感性理解下。于是......
  • CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!)
    CodeTONRound7(Div.1+Div.2,Rated,Prizes!)比赛链接A.JaggedSwaps思路:考虑到题目要求,给定的排列第一位必须是1才会构造出可行性序列,如果不是就是没有办法Code#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){ intn; cin......
  • Codeforces Round 921 (Div. 2)
    A-WeGotEverythingCovered!难度:⭐题目大意给定n和k两个整数,要求用前k个小写字母组成一个字符串;该字符串的子串应包含所有由前k个字母组成的长度为n的字符串全排列;要求输出最短的满足条件的字符串;解题思路这题题目挺唬人,但其实是个水题;所谓最短,其实......
  • Codeforces Round 921 (Div. 2)(A~E)
    好久不打用小号水了一场,赛时坑坑拌拌勉强四题,以为美美上分,结果重测时卡掉了我没细想复杂度就交了的B题,这下小丑了 A.WeGotEverythingCovered!直接输出n次连续前k个字母即可#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongsignedmain(){ ios......
  • Codeforces Round 921 (Div. 2)
    CodeforcesRound921(Div.2)A-WeGotEverythingCovered!解题思路:以前\(k\)个字符都出现过至少一次为一轮,构造\(n\)轮即可。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecon......