算法入门经典训练指南
夜幕下的ACM之路
通往成功的路注定是孤独的,我不会放弃!!!!
展开
-
指南 第三章 例题5 UVALive 3644 X-Plosives(并查集)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/eab170e979d9683005d958b058d6ce76思路:就是加入后成环的元素不可以被加入。下面是AC代码:#include<cstdio>const int maxn=100000+10;int pre[maxn];int findset(int x){ if(x==pre[x])原创 2016-08-24 20:56:46 · 286 阅读 · 0 评论 -
UVALive - 5135 Mining Your Own Business(【无向图双连通分量】+【超级思维】)
题目链接:https://cn.vjudge.net/problem/UVALive-5135【中文题意】 有一座地下的稀有金属矿由n条隧道和一些连接点组成,其中每条隧道连接两个连接点。任意两个连接点之间最多有一条隧道。为了降低矿工的危险,你的任务是在一些连接点处安装太平井和相应的逃生装置,使得不管哪个连接点倒塌,不在此连接点的所有矿工都能到达太平井逃生(假定除了倒塌的连接点不能通行外,其他所有隧原创 2017-08-12 20:52:34 · 685 阅读 · 0 评论 -
UVALive - 3523 Knights of the Round Table(【点双连通分量】+【二分图判定】)
题目链接:https://cn.vjudge.net/problem/UVALive-3523【中文题意】 有n个骑士经常举行圆桌会议,商讨大事。每次圆桌会议至少应有3个骑士参加,且相互憎恨的其实不能坐在圆桌旁的相邻位置。如果发生意见分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数,以防止赞同票和反对票一样多。知道哪些骑士相互憎恨之后,你的任务是统计有多少个骑士不可能参加任何一个会议。 输原创 2017-08-12 17:53:20 · 409 阅读 · 0 评论 -
UVA 11922 Permutation Transformer(Splay【伸展树】的一些操作)
题目链接:https://cn.vjudge.net/problem/UVA-11922Write a program to transform the permutation 1, 2, 3, … , n according to m instructions. Each instruction (a, b) means to take out the subsequence from the原创 2017-08-09 19:45:39 · 317 阅读 · 0 评论 -
LA 5031 Graph and Queries (【名次树(treap)】+【并查集】+【离线算法】)
题目链接:https://cn.vjudge.net/problem/UVALive-5031You are given an undirected graph with N vertexes and M edges. Every vertex in this graph has an integer value assigned to it at the beginning. You’re al原创 2017-08-08 14:45:11 · 419 阅读 · 0 评论 -
指南第一章 例题 17 UVA 11462 Age Sort(桶排序)
【中文题意】 给你n个人的年龄,让你给这n个人的年龄排序后输出。 【思路分析】利用桶的思想来完成这项任务比较格式。【AC代码】#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[105];int main(){ int n; while(~scanf("%d",&n)原创 2016-11-03 14:03:32 · 339 阅读 · 0 评论 -
入门经典训练指南第三章例题1.UVa 11995 I Can Guess the Data Structure!
题目:http://7xjob4.com1.z0.glb.clouddn.com/5332b565f1539b27a3d913adc0a363ae本题只要熟悉栈,队列,优先队列,直接模拟就可以 过掉 下面是AC代码:#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<vector>#inc原创 2016-08-13 10:46:42 · 346 阅读 · 0 评论 -
指南 第三章 例题3 UVALive 3135 Argus(优先队列的应用)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/46a7c6bdfdd8392f6c8ba9188333d1d2题目思路:记录周期和开始的时间,优先队列的简单应用。下面是AC代码:#include<cstdio>#include<queue>using namespace std;struct Item{ int QNum,Period,Time;原创 2016-08-24 18:35:03 · 425 阅读 · 0 评论 -
指南第5章 例题1 UVA 11624 Fire!(迷宫问题【多源BFS】)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/f08168bf425521a08eac790e3a9ae7e3中文题意: 你的任务是帮助Joe走出一个大火蔓延的迷宫。Joe每分钟可以走到上下左右4个方向的相邻格之一,而所有着火的格子都会往四周蔓延(即如果某个空格与着火格有公共边,则下一分钟这个空格将着火)。迷宫中有一些障碍格,Joe和火都无法进入。当Joe走原创 2016-09-02 17:00:35 · 676 阅读 · 0 评论 -
指南 第三章例题2 UVA 11991 Easy Problem from Rujia Liu?(STL)
本题是一道STL的应用的题目,map+vecrot实现了快速查询的功能。中文题意:给出一个包含n个整数的数组,你需要回答若干询问。每次询问两个整数k和v,输出从左到右第k个v的下标(数组下标从左到右编号为1-n)。如果是一般的排序的话基本会超时,然后使用map大大缩短了查询的时间。 下面是AC代码:#include<cstdio>#include<vector>#include<map>us原创 2016-08-23 19:41:46 · 296 阅读 · 0 评论 -
指南第一章 例题18 UVA 11078 Open Credit System(扫描,维护最大值)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/b4ea9368799f989c139c1843a4b5bcdf中文题意:给一个长度为n的整数序列A0,A1,…….An-1,找出两个整数Ai和Aj(i< j),使得Ai-Aj尽量大。【输入格式】 输入第一行为数据组数T(T<=20)。每组数据的第一行为整数的个数n(2<=n<=100000);原创 2016-09-01 21:57:25 · 611 阅读 · 0 评论 -
指南第一章 例题10 UVA 11384 Help is needed for Dexter(递归求解)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/33af24c925ae62df4c094b22a2ba7e37中文题意:给定正整数n,你的任务是用最少的操作次数把序列1,2…….,n中的所有数都变成0。每次操作可以从序列中选择一个或者多个整数,同时减去一个相同的正整数。比如1,2,3可以把2,3同时减小2,得到1,0,1。 【输入格式】 输入原创 2016-09-01 07:43:38 · 343 阅读 · 0 评论 -
指南第一章 例题4 UVALive 3708 Graveyard(参考系)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/3429fea0c017c718af3757fec7eb0b69中文题意: 在一个周期为10000的圆上等距分布着n个雕塑。现在有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布。这就需要移动其中一些原有的雕塑。要求n的雕塑移动的总距离尽量小。 【输入格式】 输入包含若干原创 2016-08-31 19:56:28 · 308 阅读 · 0 评论 -
指南第一章 例题二 UVA 11729 Commando War(贪心算法)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/f55cd98161c1c3dd5dae37a2fd985b54中文题意:你有n个部下,每个部下需要完成一项任务。第i个部下需要你花费bi分钟交代任务,然后他会独立地、无间断地执行Ji分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽在结束)。注意,不能同时给两个部下交待原创 2016-08-31 18:50:53 · 686 阅读 · 0 评论 -
指南第一章 例题一 UVA 11292 Dragon of Loowater(贪心算法)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/8fb7b725a5a951513d923d6e48ca617e【思路】:先给骑士按能力排序,恶龙按头的直径排序。 然后骑士按能力从小到大扫一遍,用cnt来记录恶龙砍到了第几个,这样可以用最合适的方法去砍恶龙,使得花费最合理。下面是AC代码:#include<cstdio>#include<cstring>#原创 2016-08-31 14:05:38 · 319 阅读 · 0 评论 -
指南第三章 例题八 UVA 11235 Frequent values(RMQ问题)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/31eeaedd10d813ea386928151f516e8a 中文题意: 给出一个非降序排列的整数数组a1,a2,…….,an。你的任务是对于一系列询问(i,j),回答ai,ai+1,…….aj中出现次数最多的值所出现的次数。 【输入格式】 输入包含多组数据。每组数据第一行原创 2016-08-31 13:13:03 · 348 阅读 · 0 评论 -
指南 第三章 例题6 UVALive 3027 Corporative Network(并查集的应用)
题目链接:http://7xjob4.com1.z0.glb.clouddn.com/8709392d143986024ba5de491366d376下面写下中文题意: 有n个结点,初始时每个结点的父结点都不存在。你的任务是执行一次I操作和E操作,格式如下: (1)I u v:把结点u的父结点设为v,距离为|u-v|除以1000的余数。输入保证执行指令前u没有父结点。 (2)E u:询问u到根原创 2016-08-30 18:13:18 · 368 阅读 · 0 评论 -
UVALive - 3211 Now or later (【2-SAT】+【二分】)
题目链接:https://cn.vjudge.net/problem/UVALive-3211【AC代码】#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<vector>#include<map>#include<stack>#include<set原创 2017-08-12 22:01:29 · 325 阅读 · 0 评论