UVa12096
来源:互联网 发布:java volatile变量 编辑:程序博客网 时间:2024/06/08 13:46
准确点讲,这道题不是我自己写出来,我先照着书上的代码敲了一遍,然后搞懂了思路:
首先, 这道题最重要的是,应该想到:对每一个集合起一个特定的id,每一个集合应该是一个set<int>,其中的int是为了存储该集合中的每一个集合的id.
然后应该设置一个map,用来将每一个集合更它相对应的id结合起来,即map<set<int>, int>,再就是用一个vector把这些每一个大的包含其他元素的集合的id结合起来。
所以就有三个结构。
还有就是对于设置id的实现,map中是没有重复的,用map的count方法去查找是否有集合,有的话就返回ID,没有的话加入一个新的id。
之后要对五个命令进行分析,dup和push,是两个简单操作,利用stack可以很简单的实现,union和insection和and这三个相对来讲复杂一点,但操作名称也给了一定的提示,可以想到algorithm头文件中的set_union和set_insection操作,这两个是对集合的操作。
阅读全文
1 0
- uva12096
- uva12096
- UVa12096
- Uva12096
- uva12096心得
- UVa12096 The SetStack Computer
- UVA12096 - The SetStack Computer
- uva12096集合栈计算机
- e5-5uva12096
- UVA12096 The SetStack Computer
- UVA12096 stack computer
- Uva12096 集合栈计算机
- UVa12096 The SetStack Computer
- UVa12096 The SetStack Computer (stack)
- UVA12096 - The SetStack Computer(set + map映射)
- The SetStack Computer(UVa12096&&POJ3121) (集合栈)
- 对于UVa12096“集合的集合”的理解
- 例题5-5 集合栈计算机 UVa12096
- POJ 1844 Sum 笔记
- 关于CSS内容
- python实现剑指offer系列2:字符串空格替换
- HDU 3342 Legal or Not
- 链表的链性表的c语言实现方式 linklist.h 和 linklist.c
- UVa12096
- C++每日一课(十六)
- MOOC清华《程序设计基础》第5章:数字旋转方阵的填充-算法一
- CRC校验
- 扑克牌大小
- tensorflow的GAN实现讲解
- 20170709_简述DNS的工作原理
- MOOC清华《程序设计基础》第5章:数字旋转方阵的填充-算法二
- java的断点续传