算法入门经典及训练指南uva题解
专栏包含算法竞赛经典书籍——《算法竞赛入门经典》及《算法竞赛入门经典——训练指南》中的笔记、例题、所涉及的uva oj题目的题解报告。
weiye1234
这个作者很懒,什么都没留下…
展开
-
uva - 113 - Power of Cryptography
题目大意:输入n、p,n代表一个数的指数,p代表结果,求这个数的底数。P可以达到10^101。解题思路:因为数字非常大,可以用long double,可以达到10^4932。但是注意输出,数太大默认的输出是科学计数法,WA,要改成普通输出。cout AC代码:#include #include #include #inclu原创 2014-01-26 10:24:14 · 844 阅读 · 0 评论 -
uva - 10790 - How Many Points of Intersection?
题目大意:两条平行的边,输入a,b代表上下两条边的点数,求上边点和下边点连线的交点个数,不会相交于同一点。解题思路:用公式进行推导可得结果等于 a*(a-1)*b*(b-1)/4 。注意用 long long int 型数据。AC代码:(没弄出来,看的别人的)//#define Local#include #include #inclu原创 2014-01-26 09:36:13 · 857 阅读 · 0 评论 -
uva - 539 - The Settlers of Catand
类型:暴力求解中的回溯法题目要求:输入n、m,n代表点的个数,m代表这n之间边的个数,找出这个图中的最长路径长度。解题思路:不用用数据结构的算法,用回溯就行,主要注意这是一个无向图,从哪个点开始都行。用数组类似邻接矩阵表示图。细节注意:1、注意是无向图,所以输入的时候要赋值两个,并且要DFS每个结点找最大的。也就是main中的那个循环原创 2014-01-24 23:33:40 · 845 阅读 · 0 评论 -
uva - 639 - Don't Get Rooked
类型:暴力求解中的回溯法。题目要求:给你一个n,1-4,代表一个n*n的棋盘,然后输入这个棋盘,‘.’表示这个位置可以放置城堡,X表示这个位置有城墙。放在在同一行或列的城堡会相互进攻,除非他们之间有城墙。你的任务就是输入一个棋盘,输出这个棋盘上最多可以同时存在几个城堡。解题思路:用回溯法去枚举,vis数组中0表示可以放置城堡,1表示这个位原创 2014-01-24 16:58:19 · 984 阅读 · 0 评论 -
uva - 216 - Getting in Line
题目要求:给出2-8个坐标,代表八台电脑,找出把这些电脑连成一串的最小的线长。最后要加上16*(N-1),预留的线长。解题思路:8!不是很大,所以可以枚举,求出所有顺序的长度,如果细节注意:输出很多,注意输出的细节问题,WA一次因为输出语句落了最后的'.'。AC代码://#define Local#include #include原创 2014-01-24 13:02:25 · 666 阅读 · 0 评论 -
uva - 846 - Steps
题目大意:一个人沿直线走路,第一步和最后一步必须是1,每次走的长度也必须是正的,而且比上一步长度多或少一或相等,求最短步数。解题思路:让x=sqrt(dis),如果dis=x^2,则count=2*n-1;如果dis-x^2n,多加两步。AC代码://#define Local#include #include #include #include #include原创 2014-01-24 10:58:16 · 1497 阅读 · 0 评论 -
uva - 729 - The Hamming Distance Problem
题目地址http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=670题目大意:输入两个数H、N,H表示一个字符串的长度,该字符串由0,1组成,按字典序输出字符串包含N个1时候的各个组合。#define Local原创 2014-01-23 17:24:22 · 696 阅读 · 0 评论 -
uva - 10098 - Generating Fast
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=1039题目大意:同Q146,比146还要简单,按照字典序输出输入序列的所有排列。#include #include #include原创 2014-01-23 14:48:27 · 942 阅读 · 0 评论 -
uva - 146 - ID Codes
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=82分类:Brute Force题目要求: 输入一段字符串,求出字符串按照字典序的下一个排列。例如 abc 的下一个 为 acb。 Input: 以‘#“结原创 2014-01-23 14:11:02 · 1026 阅读 · 0 评论