CF1205B

由鸽巢原理n比较大的时候直接输出3

然后剩下的就可以跑最小环

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int inf = 0x3f3f3f3f;
int n,m,d[185][185],w[202],f[185][185];
LL a[100001],k; int main()
{
memset(d,0x3f,sizeof(d));
memset(f,0x3f,sizeof(f));
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
cin>>k;
if(k>0) a[++n]=k;
}
if(n>=180)
{
printf("3");
return 0;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i!=j && (a[i] & a[j])) f[i][j]=d[j][i]=1;
int res=inf;
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i!=j && j!=k && i!=k && f[i][j]!=inf && d[i][k]!=inf && d[k][j]!=inf)
res=min(res,d[i][k]+d[k][j]+f[i][j]); for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
} if(res!=inf) printf("%d",res);
else printf("-1");
}

CF1205B的更多相关文章

  1. 并不对劲的复健训练-CF1205B Shortest Cycle

    题目大意 有\(n\)(\(n\leq 10^5\))个数\(a_1,...,a_n\)(\(a\leq 10^{18}\)).有一个图用这个方法生成:若\(a_i\)按位与\(a_j\)不为0,则在 ...

  2. 在$CF$水题の记录

    CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...

随机推荐

  1. Redis 系列(02)数据结构

    目录 Redis 系列(02)数据结构 Redis 系列目录 1. String 1.1 基本操作 1.2 数据结构 1.3 Redis数据存储结构 2. Hash 2.1 基本操作 2.2 数据结构 ...

  2. POI解析读写EXCEL,复制SHEET,兼容EXCEL93-2003,2007

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apa ...

  3. BCrypt密码加密

    快速入门 (1)我们从官网下载源码 BCrypt 官网 http://www.mindrot.org/projects/jBCrypt/ (2)新建工程,将源码类BCrypt拷贝到工程 (3)新建测试 ...

  4. HDU 1709 The Balance( DP )

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. windows 如何配置 Go 环境(Zip archive 方式)?

    windows 如何配置 Go 环境(Zip archive 方式)? 下载地址:https://dl.google.com/go/go1.12.5.windows-amd64.zip 解压 go1. ...

  6. VIM编辑器使用及插件配置

    1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...

  7. emqtt 分布集群及节点桥接搭建

    目录 分布集群 emq@s1.emqtt.io 节点设置 emq@s2.emqtt.io 节点设置 节点加入集群 节点退出集群 节点发现与自动集群 manual 手动创建集群 基于 static 节点 ...

  8. LeetCode--Longest Consecutive Sequence(最长连续序列) Python

    题目描述: Longest Consecutive Sequence(最长连续序列) 中文: 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 英文: Given ...

  9. mysql协议解析

    目录 目录 1 交互过程 1.1 握手认证阶段 1.2 命令执行阶段 2 基本类型 2.1 整型值 2.2 字符串(以NULL结尾)(Null-Terminated String) 2.3 二进制数据 ...

  10. C语言之——__attribute__

    __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法.这个功能是跟操作系统没关系,跟编译器有关 . __ ...