【1134】Vertex Cover (25分)【hash散列】

简介: 【1134】Vertex Cover (25分)【hash散列】【1134】Vertex Cover (25分)【hash散列】
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
using namespace std;  
/*hash思想:a(num)到i点组成的t号边=v[num][t],即v[num][t]号边
注意t号边指该点的第几条边,v[num][t]号边为总边号,遍历时以他为下标的hash数组元素赋1*/
//法2:用set,s.insert(v[num][t]),打印时就判断s.size()为m则YES
int main(){   
  int n,m,k,nv,a,b,num;
  scanf("%d%d",&n,&m);//n点m边
  //vector<int> v[n]; //我的vs在n飙红。。
  vector<vector<int>> v(n);
  for(int i=0;i<m;i++){
    scanf("%d%d",&a,&b);
    v[a].push_back(i);
    v[b].push_back(i);
  }
  scanf("%d",&k);//k次查询
  for(int i=0;i<k;i++){
    scanf("%d",&nv);//点集合的点数
    int flag=0;
    vector<int> hash(m,0);
    for(int j=0;j<nv;j++){
      scanf("%d",&num);//点集合的点编号
      for(int t=0;t<v[num].size();t++)
        //遍历num点的所有边
        hash[ v[num][t] ]=1;
        //v[num][t]为num点所在的t号边的编号
        //法2:s.insert(v[num][t])下面判断打印的if:s.size()==m则YES
    }
    for(int j=0;j<m;j++){
      if(hash[j]==0){
        printf("No\n");
        flag=1;
        break;
      }
    }
    if(flag==0) printf("Yes\n");//flag细节
  }
  system("pause");
    return 0;   
}
相关文章
|
5月前
|
存储 算法 安全
C++ 通过CryptoPP计算Hash值
Crypto++ (CryptoPP) 是一个用于密码学和加密的 C++ 库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码 (MAC)、数字签名等。Crypto++ 的目标是提供高性能和可靠的密码学工具,以满足软件开发中对安全性的需求。该库包含了许多常见的密码学算法,如AES、DES、RSA、DSA、SHA等,使开发者能够轻松地在他们的应用程序中实现安全性和加密功能。Crypto++ 是以面向对象的方式设计的,因此它的使用通常涉及使用类和对象来表示不同的密码学概念和算法。
43 1
C++ 通过CryptoPP计算Hash值
|
7月前
|
存储 数据安全/隐私保护
均匀散列函数(Uniform Hash Function)
均匀散列函数(Uniform Hash Function)是一种将不同长度的输入数据映射到相同大小的输出数据的散列函数。均匀散列函数的主要特点是,对于相同的输入数据,无论其长度如何,都会得到相同的输出散列值。这种散列函数常用于数据结构的存储和查找,例如哈希表、散列表等。
102 3
|
6月前
|
算法
hot100-哈希
hot100-哈希
|
8月前
|
机器学习/深度学习
CF1000C Covered Points Count(拆分思想,分成2种类型)
CF1000C Covered Points Count(拆分思想,分成2种类型)
45 0
|
存储 算法 安全
Hash 算法详细介绍与实现 (二)
书接上回,昨天写了第一部分,《Hash 算法详细介绍与实现 (一)》详细介绍了Hash表和Hash算法的相关概念以及算法的基本原理。同时简单介绍几种hash算法的实现:直接取余法和乘法取整法;本文接着详细唠唠Hash算法和Hash表这个数据结构的具体实现以及Hash算法和Hash表常见问题的解决方案,比如解决Hash表的冲突问题等等.相关的理论知识已在上篇文章详细介绍,这里就不再赘述,多的不说少的不唠,直接进入今天的主题:利用Hash算法实现Hash表
396 1
ML之Hash_EditDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用编辑距离算法进行判别
ML之Hash_EditDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用编辑距离算法进行判别
ML之Hash_EditDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用编辑距离算法进行判别
|
算法 计算机视觉
ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法进行判别
ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法进行判别
ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法进行判别
|
存储 算法 安全
什么是 Hash 算法?
散列算法(Hash Algorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,散列算法就是一种以较短的信息来保证文件唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。因此,当原有文件发生改变时,其标志值也会发生改变,从而告诉文件使用者当前的文件已经不是你所需求的文件。
什么是 Hash 算法?
|
存储 算法
Hash 算法有哪些?
Hash 算法有哪些?
162 0
Hash 算法有哪些?
【1145】Hashing - Average Search Time (25分)【hash 平方探测法】
【1145】Hashing - Average Search Time (25分)【hash 平方探测法】 【1145】Hashing - Average Search Time (25分)【hash 平方探测法】
89 0