当前位置: 首页 > news >正文

深圳网站优化平台选择佛山顺德网站设计

深圳网站优化平台,选择佛山顺德网站设计,室内设计效果图素材,做网站公司哪好Problem - C - Codeforces 题目大意&#xff1a;有一个长度为n的数组&#xff0c;数组中每个数字互不相同&#xff0c;范围都是0到n&#xff0c;每次操作将每一个数字从左到右依次变成当前数组的MEX&#xff0c;问k次操作后的数组 1<n<1e5&#xff1b;1<k<1e9 思…

Problem - C - Codeforces

题目大意:有一个长度为n的数组,数组中每个数字互不相同,范围都是0到n,每次操作将每一个数字从左到右依次变成当前数组的MEX,问k次操作后的数组

1<=n<=1e5;1<=k<=1e9

思路:因为每个数都互不相同,且数字范围比数组长度正好大1,这样不停的求MEX,猜想肯定会出现循环节,我们不妨用样例多进行几次操作,发现其实操作k次就相当于将n的范围内数组中没有的那个数放到数组最后,然后将数组右移k个数,例如a=[1,2,3,4,5],操作1次就是[0,1,2,3,4],操作2次就是[5,0,1,2,3],操作3次就是[4,5,0,1,2]。

所以我们将0~n内数组中没出现的那个数放到数组末尾,然后令k对(n+1)取模,先输出[n+1-k+1,n+1]部分的数组,再输出[1,n-k]部分的数组

//#include<__msvc_all_public_headers.hpp>
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n;
int a[N];
int cnt[N];
void init()
{for (int i = 0; i <= n; i++){cnt[i] = 0;}
}
void solve()
{int k;cin >> n >> k;init();int mex = 0;for (int i = 1; i <= n; i++){cin >> a[i];cnt[a[i]]++;//记录每个数字是否出现}for (int i = 0; i <= n; i++){if (!cnt[i]){mex = i;//找到当前的MEXbreak;}}a[n + 1] = mex;k = k % (n + 1);for (int i = n + 1 - k + 1; i <= n + 1; i++){cout << a[i] << " ";}for (int i = 1; i <= n - k; i++){cout << a[i] << " ";}cout << endl;
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);int t;cin >> t;while (t--){solve();}
}

http://www.yayakq.cn/news/548564/

相关文章:

  • 现在注册一个公司需要多少费用苏州优化排名推广
  • 杭州建设工程信息网站遵义市建设厅网站
  • 贵州网站备案局创意设计提案
  • 嘉兴优化网站哪家好网站动态好还是静态好
  • 阳泉企业网站建设公司平台网站建设哪家好
  • 网站基础建设和管理暂行办法大连开发区
  • 企业门户网站主要功能网络app推广公司
  • 免费软件网站有哪些wordpress网站统计插件
  • 网站建设费用预算明细做猎头要用的网站知乎
  • 如何做淘客网站源码找客网怎么样
  • 网站建设专业性的评估网站用什么框架做
  • 禾天姿网站建设如何搭建平台运营体系
  • 提供网站建设优势chown wordpress
  • 重庆网站供奉长春网站制作专业
  • 深圳石岩做网站的公司重庆建设集团公司
  • 杭州关键词优化平台新手学seo
  • 做网站里面的内容wordpress 主题编写
  • 北师大 网页制作与网站建设技校平面设计主要做什么
  • 做网站前台和后台是什么如何做网络营销推广服务机构
  • 网站建设策划方案模板余姚网站seo运营
  • 网上购物网站设计wordpress怎么导入html
  • 微信做模板下载网站有哪些内容网络优化工程师面试题
  • 做网站赚什么钱烟台网站建设兼职
  • wordpress文章摘要显示seo公司 引擎
  • 网站建设与维护方案如何自己做app的软件
  • oj网站开发wordpress首页加音乐
  • 网站首页修改网站建设成都市
  • 新国际网站建设游戏开发网
  • 怎么搜索到自己网站一级消防工程师考试难度
  • 网站建设需要php吗上海建设工程检测网官网