vector的哈希值 Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C
http://codeforces.com/contest/757/problem/C
题目大意:有n个导管,每个体育馆有k种神奇宝贝,然后所有的n个体育馆中,一共有m中神奇宝贝。可知,每个神奇宝贝中都可以相互转化。问,有多少种转化方式,使得每个体育馆里面的所有类型的数目不变(可以所有的不转化)
思路:我第一次知道vector竟然可以通过hash的方式来解决问题!!!
定义vector<int> ve[i]表示第i种神奇宝贝属于哪些道馆,然后我们sort(ve + 1, ve + 1 + m),再判断ve[i] == ve[i-1]即可。
//看看会不会爆int!数组会不会少了一维! //取物问题一定要小心先手胜利的条件 #include <bits/stdc++.h> #pragma comment(linker,"/STACK:102400000,102400000") #define LL long long #define ALL(a) a.begin(), a.end() #define pb push_back #define mk make_pair #define fi first #define se second #define haha printf("haha\n") const int maxn = 1e6 + 5; std::vector<int> ve[maxn]; const LL mod = 1e9 + 7; int n, m;int main(){std::cin >> n >> m;for (int i = 1; i <= n; i++){int k; scanf("%d", &k);while (k--){int u; scanf("%d", &u);ve[u].push_back(i);}}std::sort(ve + 1, ve + 1 + m);LL ans = 1, cnt = 1;for (int i = 2; i <= m; i++){if (ve[i] == ve[i - 1]){ans = ans * (++cnt) % mod;}else cnt = 1;}std::cout << ans << std::endl;return 0; }
View Code
转载于:https://www.cnblogs.com/heimao5027/p/6430738.html
vector的哈希值 Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C相关推荐
- Educational Codeforces Round 101 (Rated for Div. 2) F. Power Sockets 哈希 + 乱搞
传送门 题意: 给一个二进制串aaa,让后定义两个串相似为有至少一个相同位置相等.现在让你找一个字典序最小的长度为kkk的串使其与aaa中每个长度为kkk的字串相似. 思路: 首先我们知道所有可能的串 ...
- Educational Codeforces Round 95 (Rated for Div. 2)D. Trash Problem(权值线段树+离散化)
题目描述 Vova decided to clean his room. The room can be represented as the coordinate axis OX. There ar ...
- NTL::SHA256:hash映射(不可逆)(生成数据哈希值)
参考文献:https://zhuanlan.zhihu.com/p/431372152 参考书籍:<密码学原理与实践> 参考代码:https://libntl.org/ 算法流程详见:ht ...
- 获取文件哈希值_浅谈查找---哈希查找
在上一篇综述中,我给出了排序是为了更快的查找这个观点.也介绍了查找的一些典型应用场景如: 1.判断一个给定值,是否在一个数组 2.mysql 的查询优化 3.再到给定a.b两个文件,各存放50亿个ur ...
- 区块链学习(2) 计算区块的哈希值
本文的目的:根据一个区块的信息算出他的哈希值 区块信息: https://www.blockchain.com/zh/btc/block-height/20000 区块头格式: 共80个字节,上图中都 ...
- 通过python利用哈希值实现比较两个文件的一致性
背景 近来学习到python的内置函数hash(),深入发现通过python的哈希值可以做很多的事情,最典型的可能就是文件加密了,在我们现实生活中大约有如下一些用途: 加密网站注册用户的密码. 网站用 ...
- 图像相似度计算之哈希值方法OpenCV实现
感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个"指纹"(fingerprint)字符串,然后比较不同图像的指纹.结果越接近,就说明 ...
- Merkle 树——空间换时间,分而治之的hash表,通过根节点是由它的两个子节点内容的哈希值组成来校验数据完整性,定位篡改的数据位置...
Merkle 树 图 1.5.6.1 - Merkle 树示例 默克尔树(又叫哈希树)是一种二叉树,由一个根节点.一组中间节点和一组叶节点组成.最下面的叶节点包含存储数据或其哈希值,每个中间节点是它的 ...
- 2021-11-18哈希值
1.哈希值 DemoHashCode.java package HashCode;/** 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实 ...
- boost::hash_combine模块实现json哈希值的测试程序
boost::hash_combine模块实现json哈希值的测试程序 实现功能 C++实现代码 实现功能 boost::hash_combine模块实现json哈希值的测试程序 C++实现代码 #i ...
最新文章
- Active Directory 账号迁移配置介绍
- java 注解的几大作用及使用方法详解(转载)
- 数据结构课上笔记10
- Datawhale组队-Pandas(下)时序数据(打卡)
- [SHOI2012]魔法树 链剖
- java怎么把弹框设置为圆角_自定义圆角Dialog
- App调试内存泄露之Context篇(下)-App调试内存泄露之Context篇(下)
- linux 按时间查找文件,linux 文件三种时间 和 find 按时间查找
- arm linux 内存压力测试,嵌入式中如何给内存做压力测试?
- ECharts实操手册
- CUDA编程-02: 初识CUDA编程
- 移动通信-多径效应,多普勒效应,菲涅尔区,阴影效应,快衰落,慢衰落
- 计算机课电脑如何提网速,一个简单的优化网速方法,以提高Windows7系统电脑网速教程...
- 【微信小程序】关于getCurrentPages()的使用
- 红米note3android耗电,红米Note3全网 flyme6 完美精简 省电优化 DPI设置 流畅实用-刷机之家...
- 所谓情商高就是会说话(摘录)
- Android API 29 百度步行导航语音tts集成
- 基于MATLAB的图像融合设计
- Java 上传--upload
- “粽”使相距千里,也要长“酒”团圆