UVa12096.The SetStack Computer】的更多相关文章

UVA12096 - The SetStack Computer(set + map映射) 题目链接 题目大意:有五个动作: push : 把一个空集合{}放到栈顶. dup : 把栈顶的集合取出来,在入栈两次. add : 出栈两次.把第一个集合作为一个元素放入第二个集合中,再将第二个集合入栈 union: 出栈两次,取这两个集合的并集.将结果入栈. intersect: 出栈两次.取这两个集合的交集,将结果入栈. 每次运行动作后还须要输出眼下栈顶集合的元素个数. 解题思路:这题能够用栈和se…
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3248 13916058 12096 The SetStack Computer Accepted C++ 0.302 2014-07-21 03:43:15 The SetStack Computer Background from Wikipedia: \Set theory i…
代码     typedef  map<Set,  vector<Set> Setcache;                  stack<               cin >> t;              cin >> n;         IDCache.clear();         Setcache.clear();                       cin >> op;                       …
集合栈计算机(The SetStack Computer, ACM/ICPC NWERC 2006,Uva12096) 题目描述 有一个专门为了集合运算而设计的"集合栈"计算机.该机器有一个初始为空的栈,并且支持以下操作: PUSH:空集"{}"入栈 DUP:把当前栈顶元素复制一份后再入栈 UNION:出栈两个集合,然后把两者的并集入栈 INTERSECT:出栈两个集合,然后把二者的交集入栈 ADD:出栈两个集合,然后把先出栈的集合加入到后出栈的集合中,把结果入栈…
Background from Wikipedia: \Set theory is a branch of mathematics created principally by the German mathematician Georg Cantor at the end of the 19th century. Initially controversial, set theory has come to play the role of a foundational theory in m…
UVA.12096 The SetStack Computer ( 好题 栈 STL混合应用) 题意分析 绝对的好题. 先说做完此题的收获: 1.对数据结构又有了宏观的上的认识; 2.熟悉了常用STL(set,map,vector)的常用用法; 3.学习了一种问题转化的方式. 我想如果告诉我这题用STL解决,并且还能独立完成的话,那么STL应该算是过关了. 有下列操作集: 1.PUSH:向栈顶PUSH一个空集合的元素: 2.DUP: 弹出栈顶元素: 3.UNION: 弹出2个栈顶元素,并且去并集…
Background from Wikipedia: “Set theory is a branch of mathematics created principally by the German mathematician Georg Cantor at the end of the 19th century. Initially controversial, set theory has come to play the role of a foundational theory in m…
题目描述: #include<iostream> #include<string> #include<set> #include<map> #include<stack> #include<vector> #include<algorithm> using namespace std; #define ALL(x) x.begin(),x.end() #define INS(x) inserter(x,x.begin())…
突然转进到第五章的low题目的原因是做到图论了(紫书),然后惊喜的发现第一题就做不出来.那么里面用到了这一题的思想,我们就先解决这题.当然,dp必须继续做下去,这是基本功.断不得. 题意分析 这条题真的是一条sb模拟题.但是我们还是可以学些什么:一,标id的思想(后面用到了,就是那条UVa12219).二,set的基本操作.具体思路看代码.但是这题哪里有什么算法...set 和 map 混合应用,真的用板子写的话代码相近度很高 代码 #include <bits/stdc++.h> #defi…
例题5-5 集合栈计算机(The Set Stack Computer,ACM/ICPC NWERC 2006,UVa12096) 有一个专门为了集合运算而设计的"集合栈"计算机.该机器有一个初始为空的栈,并且 支持以下操作. PUSH:空集"{}"入栈. DUP:把当前栈顶元素复制一份后再入栈. UNION:出栈两个集合,然后把二者的并集入栈. INTERSECT:出栈两个集合,然后把二者的交集入栈.ADD:出栈两个集合,然后把先出栈的集合加入到后出栈的集合中,把…
题目传送门 题意:给一些对集合的操作,询问每一次操作后栈顶的集合元素个数 分析:首先{}是空的,每一次add时候,{} -> { {} }变成了有一个元素的集合,利用set和stack,map容器能很方便解决这道题. if (!mp[s1]) mp[s1] = ++cnt; s2.insert (mp[s1]); } sta.push (s2); return s2.size (); } int intersect() { pop (); tmp.clear (); for (it=s1.beg…
点击打开链接uva 12096 思路: STL模拟 分析: 1 题目给定5种操作,每次输出栈顶集合的元素的个数 2 利用stack和set来模拟,set保存集合的元素.遇到push的时候直接在stack里面push入一个空的set,遇到Dup的时候把栈顶的集合在push进stack一次,遇到union的时候把栈顶的两个集合合并,遇到Intersect的时候把栈顶的两个集合进行求交集然后push进stack,遇到Add的时候要注意如果第一个集合是空集那么我们就认为是在第二个集合里面加入2,否则就要…
题意:给出一个空的栈,支持集合的操作,求每次操作后,栈顶集合的元素个数 从紫书给的例子 A={{},{{}}} B={{},{{{}}}} A是栈顶元素,A是一个集合,同时作为一个集合的A,它自身里面也可以集合套集合 #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #include<vector> #inclu…
题意: 有一个集合栈计算机,栈中的元素全部是集合,还有一些相关的操作.输出每次操作后栈顶集合元素的个数. 分析: 这个题感觉有点抽象,集合还能套集合,倒是和题中配的套娃那个图很贴切. 把集合映射成ID,就可以用 stack<int>来模拟题中的集合栈,然后用 vector<Set> 来根据下标进行集合的索引. 代码虽短,但还须多体会. #include <cstdio> #include <string> #include <vector> #i…
题意:初始状态的栈内包含一个空集,对栈进行一下操作: PUSH:向栈内压入一个空集 DUP:复制栈顶,并压入栈内 UNION:将栈顶端两个集合出栈,并将两个元素的并集入栈 INTERSECT:将栈顶端两个集合出栈,并将两个元素的交集入栈 ADD:将栈顶端两个集合出栈,将先出栈元素加入后出栈元素的集合中,而后入栈 对于每次操作,输出栈顶集合的元素数. 思路:声明一个栈st用来存放集合,声明多个堆用于表示集合,声明映射<set,int>表示集合编号,对于每次待入栈的集合进行编号查找工作,若已经有编…
#include<bits/stdc++.h> using namespace std; typedef set<int> Set; map<Set,int> IDcache; vector<Set> Setcache; stack<int> s; int ID(Set x) { if(IDcache.count(x)) return IDcache[x]; Setcache.push_back(x); return IDcache[x]=Set…
题意: 有5种操作: PUSH:加入“{}”空集合入栈. DUP:栈顶元素再入栈. UNION:出栈两个集合,取并集入栈. INTERSECT:出栈两个集合,取交集入栈. ADD:出栈两个集合,将先出栈的加入到后出栈的集合中. 输入不超过2000, 保证操作顺利进行. 分析: 用set<int>(本身又可以映射成一个int)去模拟集合,所以可以将不同的集合映射成int型. 用一个Map<set<int>,int> 去映射成不同的int. 以后需要set做交集并集的时候再…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用set来解决这个问题. 考虑如何表示 { {{}} }这个集合 我们可以把{}这个集合和一个数字映射->1 然后把1加入到某个set里面去 即 {1} 则这就对应了->{ {} } 然后把{1}也用一个int对应->2 然后把2加入一个集合 {2} 则这个就对应了->{ {{}} } 这样,每个集合都能用set来表示了. 则用map < set ,int>来搞映射. 然后正常地用set求交集.并集就好…
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY…
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116…
今天做的题目就是抱佛脚2333 懂的都懂. 这条题目干了好几天,最后还是参考别人的代码敲出来了,但是自己独立思考了两天多,还是有收获的. 思路分析 做这条题我是先按照之前的那条题目(The SetStack Computer)的思路敲了半天,但是efficiency是贼鸡儿低,而且最后我搞不明白怎么输出结果了....然后只好参考了这位同学的代码.思路大致是跟着lrj的走的,具体的实现有些需要注意的地方. 代码 #include <bits/stdc++.h> #define QUICKIO #…
1.LA 5908/UVA1517 Tracking RFIDs 题意:给出s个传感器的位置,以及其感应范围.如果某个方向上有墙,则该方向上感应距离减1.现在有w个墙,给出p个物品的位置,问其能被几个传感器探测到. 思路:传感器用set保存.之后传感器和物品之间是否有墙用线段是否相交来判断. #include<iostream> #include<algorithm> #include<vector> #include<set> #include<cm…
场景重现 今天做一个项目测试,要用到虚拟机,于是在虚拟机(XP 32)上新建了一个共享的文件夹.然后我在Win7 机器上访问它得到如下的error 消息:…
Computer assisted surgery (CAS) represents a surgical concept and set of methods, that use computer technology for presurgical planning, and for guiding or performing surgical interventions. CAS is also known as computer aided surgery, computer assis…
积累记录一些视觉实验室,方便查找 1.  多伦多大学计算机科学系 2.  普林斯顿大学计算机视觉和机器人实验室 3.  牛津大学Torr Vision Group 4.  伯克利视觉和学习中心 Prof. Trevor Darrell CS280 Computer Vision Object Detection and Segmentation for RGB-D Images 5. Carnegie Mellon University(CMU) Compoter Vision Group Kr…
In the 1960s, the legendary Stanford artificial intelligence pioneer, John McCarthy, famously gave a graduate student the job of “solving” computer vision as a summer project. It has occupied an entire community of academic researchers for the past 4…
Vanya and his friend Vova play a computer game where they need to destroy n monsters to pass a level. Vanya's character performs attack with frequency x hits per second and Vova's character performs attack with frequency y hits per second. Each chara…
COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION…
As I walked through the large poster-filled hall at CVPR 2013, I asked myself, “Quo vadis Computer Vision?" (Where are you going, computer vision?)  I see lots of papers which exploit last year’s ideas, copious amounts of incremental research, and an…
一.题目描述 Constraints :Time Limit: 2 secs, Memory Limit: 32 MB Description: We often hear that computer is a magic, a great invention, or even a marvel. But actually computer is just a tool people use everyday. It is a machine that can help people to pr…