C. Serval and Toxel‘s Arrays
创始人
2024-05-30 15:22:08
0

传送门

题目

给你一个长度为n的数组和m次修改,每次修改会将其中的一个数字修改成另一个数字然后形成一个新数组,初始数组和修改过程的数组保证没有相同的数字,问你所有任意两个数组之间去重之后元素的数量的和。

思路

考虑一下所有数组都不含相同元素的情况,那么就有(1+2+3+…+m-2+m-1+m)=m(m+1)/2对,然后每一对都有2n个,那么res结果为m(m+1)/2。然后考虑如何去重就可以了。

在此我们可以假设一下,如果不改变所有元素,那么每个元素都会出现m+1次,对于每一次修改的元素x和被修改的y,如果接下来x不会被修改的话,那么x会增加m-i+1次(前提为所有数组都没有相同的数字),y会减少m-i+1次遍历一遍找每个元素重复的次数,然后用次数*(次数-1)/2得到每个元素重复所减少的贡献,然后用res减去这些所有的贡献就是最后的结果。

ps:(他奶奶的不会写这个看了题解也不懂,后来才发现每次修改后面的数字都会增加(如果不被修改),属于是题目又没理解到位了qwq)

代码

void slove( )
{int t;sc_int(n),sc_int(m);mapp;for(int i =1;i<=n;i++){cin>>s[i];p[s[i]]=m+1;}ll res=0;for(int i=1;i<=m;i++){int l,y;cin>>l>>y;int x=s[l];p[x]-=m-i+1;p[y]+=m-i+1;s[l]=y;}for(auto i:p){res+= i.second*(i.second-1)/2 ;}cout<<(ll)n*m*(m+1)-res;cout<

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...