随笔分类 - 《算法竞赛入门经典》笔记
记录紫书上完成的题目,方便自己以后归档查找,算是记录自己的学习历程吧
摘要:子集生成 给定一个集合,枚举所有可能的子集。在这里的集合是{0,1,2...n 1} 1.增量构造法 感觉紫书上这段代码不是很好理解,画了一个图来辅助理解。这里的集合是{0,1,2...n 1},也可以看作是下标的集合,对任意集合,只要能输出它的下标的子集,也就能够输出该集合的子集。 这段代码还使用
阅读全文
摘要:Uva11059 最大乘积 题目描述: 输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,应输出0(表示无解)。 思路: 记录起点和终点,两遍循环找到这个最大的值。这里子序列的最小长度为1。 代码: cpp include include define LL
阅读全文
摘要:Uva725 除法 题目描述: 输入正整数n,按从小到大的顺序输出所有形如$abcde/fghij=n$的表达式,其中$a j$恰好为数字0 9的一个排列(可以有前导0)。 思路: 枚举$fghij$,然后计算出$abcde$,看所有的数字是否重复。这里主要是要注意判断0 9数字分别出现一次时的效率
阅读全文
摘要:题目描述: 机器人从一个$m\times n$网格的左上角$(1,1)$走到右下角$(m,n)$。网格中的一些格子是空地,用$0$表示,其他格子是障碍,用$1$表示。机器人每次可以往四个方向走一格,但不能连续地穿越$k$个障碍,求最短路的长度。起点和中点保证是空地。 思路: 还是BFS求最短路,但是
阅读全文
摘要:Uva 1595对称轴 题目描述: 给出平面上N个点,问是否可以找到一条竖线,使得所有点左右对称。 思路: 这个题我的思路是将所有高度(y)相同的点求每组高度的坐标x的平均值,如果总个数N是偶数,那么只要每组高度的x平均值相同,就能找到一个对称轴,而N是奇数,则需要平均值相同的基础上找出所有点的坐标
阅读全文
摘要:Uva 712 S树 题目描述: 给出一棵满二叉树,每一层代表一个01变量,取0时往左走,取1时往右走。每层用一个变量$x_i$表示,那么这棵树可以等价于若干$x_i$之间的位运算,给出所有叶子节点的值以及一些查询($x_i$的值),求每个查询到达的叶子节点的值。 题目链接:https://vjud
阅读全文
摘要:Uva 673平衡的括号 题目描述: 思路: 就是普通的括号匹配问题,用栈来模拟操作。需要注意的地方是,有输入为空的情况,所以不要用 来读取,而是用 。 代码: cpp include include include include using namespace std; int main() {
阅读全文
摘要:题目描述: 给出一个按字母序排列的单词列表,找到其中存在的复合词。复合词的定义是由单词列表中其他的两个单词拼接而成。所有单词均为小写。 思路: 如果直接两层遍历所有的单词组合,看他们加在一起是否是单词列表中的一个,在输入如此大的情况下,肯定会超时。我的做法是,定义 ,将单词按首字母分别存放在 里,对
阅读全文
摘要:题目描述:题目很长,就贴一下题目连接吧=_=。。https://vjudge.net/problem/UVA-1103 大意是输入一个H行W列的字符矩阵(H<=200, W<=50)。每个字符为4个相邻像素点的十六进制(即10011100对应的是9c),这样可以得到一副图片,然后找出图片中包含的题目
阅读全文
摘要:题目描述:题目大意是有n个学生想交换到其他学校学习,规定每一个想从A交换到B的学生必须有一个想从B到A的学生与之配对,才能进行交换。最后如果每个人都能找到配对的学生,那么交换可以进行,输出YES,反之输出NO。 思路: 1. 因为从A到B的学生可以有多个,以及也可以有从A到C的情况,所以不能用map
阅读全文
摘要:题目描述:给两个整数作除法,找到他们的循环小数部分。 思路: 最重要的就是出现循环节的条件--当做长除法时除得的余数在此前出现过,那么循环就开始了。对这个题而言,需要将每次除得的余数和商都保存下来,再之后找到重复的那个余数后,记录出现的位置,这样可以知道括号的位置。 这个题我是完全对着测试数据来调的
阅读全文
摘要:题目描述:对代码进行对齐,具体形式参看输入输出。 思路: 1. 用getline()读取每一行,再将每一行单词存入一个vector之中 2. 再用一个vector存放每一行的vector 3. 需要找的是每一行对应位置(pi)的单词的最大长度,其它行对应的单词都是按这个最大长度来对齐(填充空格)。找
阅读全文
摘要:题目描述:给一个字符串,找它的重复周期 思路: 假设周期从1~N,依次看是否能成为该字符串的重复周期。需要注意: 1.若周期串没有周期,其重复周期就是本身长度N 2.假设的周期k如果不能被N整除,自然就不是周期,不必考虑 3.N长的字符串等分成k长的子部,找每一个k长子部对应位置的字符是否相等即可
阅读全文
摘要:题目描述:前n个整数写在一起,问0~9各出现多少次。 思路:从1到N,取出每个数字的各位,放在统计每个数字出现次数的数组里面。 代码:
阅读全文
摘要:题目描述:根据分子式来计算其摩尔质量 思路: 字母后面的数字表示了它的系数,读入整个字符串,因此需要判断每个字符是字母还是数字。 题意很明确,就是根据这个分子式来计算摩尔质量,需要注意的地方是: 1.若一个字母后面跟着的是字母或者该字母后面没有更多的字符,那么其系数为1,直接加上就OK 2. 如果字
阅读全文
摘要:题目描述: 思路:读入字符串,扫描一遍,连续出现的O递增分数,累加在总得分上,出现X就将递增分数归为为1。
阅读全文

浙公网安备 33010602011771号