2020牛客寒假算法基础集训营2 I题建通道

牛客网链接:https://ac.nowcoder.com/acm/contest/3003/I

 

 

 

 

 题解:第一眼最小生成树,然后算一波时间复杂度超时...(比赛完大佬说最小生成树可以过......)

放一下官方题解:

tai 6 le 

#include <cstdio>
#include <algorithm>
#include <cassert>
using namespace std;
const int N = 2e5 + 5;
int n, k;
int v[N], va, vo, ans;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++)
    scanf("%d", &v[i]);
  sort(v + 1, v + n + 1);
  va = 0x7fffffff;
  for (int i = 1; i <= n; i++) {
    va &= v[i];
    vo |= v[i];
  }
  v[n + 1] = 2e9;
  for (int i = n; i; i--)
    k += (v[i] != v[i + 1]);
  va ^= vo;
  for (int i = 0; i <= 30; i++) {
    int cur = 1 << i;
    if (va & cur) {
      ans = cur * (k - 1);
      break;
    }
  }
  printf("%d\n", ans);
  return 0;
}

 

全部评论

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务