算法竞赛入门经典
文章平均质量分 68
Strive_Buff
面向未来,才能创造未来。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uva 1589
题目大意就是:一个象棋残局,红方有n(2解题思路:用一个棋盘保存红方可以打到的地方,看黑方将是否有其余的地方去,在竖直方向只要判断将能去的大方就可以,也就可以将帅和车一起判断,#include#include#include#includeusing namespace std;char cb[12][10],ab[12][10];vo原创 2016-09-22 15:31:18 · 806 阅读 · 0 评论 -
uva 136 Ugly Numbers(priority_queue的使用)
题目链接:here 就是保存除了不能被2 3 5 以外的素数整除的数#include#include#include#include#include#includeusing namespace std;const int maxn = 1000+10;int main(){ int t; int x=1; //freopen("0原创 2016-09-28 16:26:20 · 401 阅读 · 0 评论 -
uva 540 Team Queue(queue与STL其他容器的综合运用)
题目链接:here思路还是很简单的,,用map[a][i] 表示编号为a 的人在i的队伍里面,然后用队列表示每个队伍;#include#include#include#include#include#includeusing namespace std;const int maxn = 1000+10;int main(){ int t;原创 2016-09-28 16:19:42 · 525 阅读 · 0 评论 -
uva 12096 The SetStack Computer(STL)
题目大意:PUSH:向栈中放一个空集合。DUP:复制栈顶集合。UNION:取栈顶的两个集合,取并集后放回。INTERSECT:取栈顶的两个集合,取交集后放回。ADD:取栈顶两个集合,将第一个集合作为元素放到第二个集合中,并将第二个集合放回栈。解体思路:用每个数字代表不同的集合,用放入容器中的顺序代表集合的数字#include原创 2016-09-27 16:30:57 · 473 阅读 · 0 评论 -
uva 201 Squares
题目大意:有n行n列(2解题思路:模拟,用两个数组模拟行和列,统计时枚举定点扫描#include #include #include #include #include #include using namespace std;int H[10][10];int V[10][10];int main(){ int n,m,x,y,T = 0;原创 2016-09-22 17:11:32 · 709 阅读 · 0 评论 -
UVA 1590 IP Networks
题目大意:给你几个IP求给出ip范围内的最小的ip,(ip范围,可以用一个网络地址和一个子网掩码描述一个ip,其中子网掩码包含32个二进制,前32-n位为1,后n位为0,网络地址的前32-n位任意,后n位为0,所有前32-n位和网络地址相同的ip都属于此网络)题目连接here解题思路:ip的四个部分分别处理,每一部分找出最大值的最小值,然后判断是其二进制最后几位不同,得出子网掩码;原创 2016-09-24 13:23:34 · 1127 阅读 · 1 评论 -
uva 815 Flooded!
题目大意:有n*m(1解题思路:题目挺简单的但是一开始没弄还wa了几发,还是太弱了,把输入的内阁格子排序,从小到大算加上水的高度以后比下一块高不高#include#include#includeusing namespace std;double p[30*30+10];int main(){ int n,m; int q=1;// freopen(原创 2016-09-24 20:54:32 · 614 阅读 · 0 评论 -
uva 12108 Extraordinarily Tired Students(特别困的学生)
题目大意:课堂上有n(ni个学生清醒Ai分钟后睡Bi分钟,然后重复(1解题思路:模拟整个过程直到全部清醒或者时间足够长,用Ci表示在周期中的状态时间#include#includeusing namespace std;const int maxn=15;int a[maxn],b[maxn],c[maxn];int main(){ int n; in原创 2016-09-25 11:06:27 · 766 阅读 · 0 评论 -
uva 10474 Where is the Marble?(大理石在哪儿)
题目大意:有n个大理石,每个大理石上写一个非负整数,首先把各数按照从小到大排序,问Q个问题每个问题问是否一个大理石写着一个数X,如果有,回答那个大理石写着X。题解:就排序查找就行,我觉得二分更快,懒得写0.0,#include#includeusing namespace std;const int maxn=10000000;int a[maxn];int main(){原创 2016-09-25 14:59:30 · 365 阅读 · 0 评论 -
uva 101 The Blocks Problem
题目大意:从左到右有n割木块,编号为0~n-1,要求模拟一下四种操作(下面a,b都是木块编号)move a onto b:把a和b上方的木块全部归位然后把a摞在b上面,move a over b:把a上方的木块全部归位,然后把a放在b所在的木块堆的顶部pile a onto b:把b上方的木块全部归位,然后把a及上面的木块整体摞在b上面pile a over b:把a原创 2016-09-26 19:53:07 · 523 阅读 · 0 评论 -
uva 10815 Andy's First Dictionary
题目大意:输入一个文本,找出所有不同的单词按照字典序排序;解题思路:把所有单词放在set中,输出,要去掉不是单词的多余的变成空格#include#include#include#includeusing namespace std;set dir;int main(){ string s,buf; while(cin>>s){ for原创 2016-09-26 20:01:54 · 364 阅读 · 0 评论 -
uva 156 Ananagrams
题目大意:输入一些单词,找出所有满足条件的单词,该单词不能通过重排,得到输入文本的另一个单词,在判断满足条件时,不区分大小写,但在输出时保留输入的大小写,按字典序排序解体思路:把所有单词保存,在重排后的单词保存在map中,如果map中原来有就键就是0,最后在vector中保存的单词在map中如果有就保存在新的vector中,,最后排序输出#inc原创 2016-09-26 20:08:06 · 365 阅读 · 0 评论 -
算法竞赛入门经典第四章习题
习题4-1:题目大意就是:一个象棋残局,红方有n(2解题思路:用一个棋盘保存红方可以打到的地方,看黑方将是否有其余的地方去,在竖直方向只要判断将能去的大方就可以,也就可以将帅和车一起判断,题解连接:习题4-1,UVA 1589习题4-2:题目大意:有n行n列(2解题思路:模拟,用两个数组模拟行和原创 2016-09-25 11:39:33 · 990 阅读 · 0 评论 -
uva 253 Cube painting
题目大意:给两个正6面体,问二者是否等价,每个面都用6个字母表示;解题思路:固定一个面旋转,有四种可能,一共固定6个面;#include #include #include using namespace std;const int N=20;char str[N],str1[N],str2[N];int dir[6][6]={ {0,1,2,3,4,5},{1,5,2原创 2016-09-22 17:48:34 · 615 阅读 · 0 评论 -
最小树形图
/*本题为不是固定根的最小树形图,我们可以虚拟出一根来,然后在把这个根跟每个点相连,相连的点可以设为无穷大,或者设为所有边和大一点,比如为r,然后就可以利用最小树形图进行计算了,计算出的结果减去r,如果比r还大就可以认为通过这个虚拟节点我们连过原图中两个点,即原图是不连通的,我们就可以认为不存在最小树形图。关于输出最小根也挺简单,在找最小入弧时,如果这条弧的起点是虚拟根,那么这条弧的终点就是要求的原创 2017-12-08 10:28:10 · 407 阅读 · 0 评论
分享