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

php如何做音乐网站友情链接交换群

php如何做音乐网站,友情链接交换群,衡阳做网站,色块的网站原题链接 https://ac.nowcoder.com/acm/contest/108038/D 题目描述 小红有一个长度为n的数组a,下标从1开始,如果两个数a[i]和a[j]差值为1,则这两个数之间存在一条无向边,问为了使得所有索引之间相互可达,小红至少需…

原题链接

https://ac.nowcoder.com/acm/contest/108038/D

题目描述

小红有一个长度为n的数组a,下标从1开始,如果两个数a[i]和a[j]差值为1,则这两个数之间存在一条无向边,问为了使得所有索引之间相互可达,小红至少需要手动再加多少条边。

解题思路

使用map统计每个数的出现次数,然后从小到大遍历数字,对于每个数字x,假设x有y个,检查x-1是否存在,如果x-1不存在,则需要向比x更小的一个数字连一条边,假设x-1和x+1都不存在,则不仅需要向比x更小的一个数字连一条边,还需要在所有的x之间连边,不难得知需要再连y-1条边。详见代码。

代码(CPP)

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
#define endl "\n"
const int maxn = 2e5 + 10;
const ll INF = 0x3f3f3f3f3f3f3fLL;
int a[maxn];void solve() {int n;cin >> n;map<int, int> mp;for (int i = 1; i <= n; i++) {cin >> a[i];mp[a[i]]++;}int ans = 0;for (auto x : mp) {if (!mp.count(x.first - 1)) {ans++;if (!mp.count(x.first + 1)) {ans += x.second - 1;}}}cout << ans - 1 << endl;
}int main() {
//     freopen("in.txt", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout << fixed;cout.precision(18);int t;cin >> t;while (t--)solve();return 0;
}
http://www.dtcms.com/wzjs/94363.html

相关文章:

  • 网站建设岗位说明书网络营销策略
  • 网站流量被黑怎么做好销售
  • 凡网站创建怎样制作网站教程
  • 政府网站栏目建设网络营销的方法有哪些?
  • 女生做网站编辑怎么样企业营销策划有限公司
  • 中国建筑建设通的网站友链交换有什么作用
  • 广西网站建设百度互联网营销
  • 国家建设部网站倪虹全世界足球排名国家
  • 南宁市建设厅网站河南网站推广那家好
  • bitget wallet官方网站下载自己做网站的软件
  • 达县网站制作国外seo
  • 坦洲网站建设公司哪家好b站引流推广网站
  • 聊城做网站多少钱今日头条收录入口
  • 做网站买域名要多少钱网络推广长沙网络推广
  • wordpress菜单定制seo关键词优化经验技巧
  • 来年做哪些网站能致富sem优化软件选哪家
  • 做网站公司怎么选谷歌推广代理公司
  • 一级a做爰片免费的网站有吗烟台seo
  • 毕节网站怎么做seo制作网站的基本流程
  • 做网站需要多少职务百度知道一下首页
  • 做seo网站的公司网络营销策划书怎么写
  • 不备案的网站能打开吗seo策略分析
  • 网站建设合理性福建搜索引擎优化
  • 校园网站建设公司广东省新闻
  • 网站的建设与运维帮忙推广的平台
  • 云南网站备案查询培训公司
  • 网站服务器用什么好处网站测试
  • b2c电子商务网站购物车设计原理热搜榜百度一下你就知道
  • 做网站一定要服务器吗百度站长平台网站提交
  • 松江网站建设平台网络推广和网络营销的区别