算法
~涛涛涛~
这个作者很懒,什么都没留下…
展开
-
UVA401回文串+镜像串判断
题目链接:https://www.luogu.com.cn/problem/UVA401回文串的判断不难,难点在于镜像串的判断,所谓镜像串就是根据题目的镜像表两次镜像后保持原样就是镜像串,第一次镜像后得到的是这个串的倒像,所以判断一个镜像串的依据就是一次翻转后是这个串的倒像。问题在于怎么镜像,写个函数整个串镜像?还是写个函数只镜像单个字符?显然如果我们镜像整个串会麻烦很多,所以选择镜像单个字符。随之而来的问题是我们怎么存题目给的镜像表,我一开始的想法是用两个string分别存原字符和镜像字符,然后每次镜原创 2020-07-02 11:30:26 · 286 阅读 · 0 评论 -
竖式问题
竖式问题找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。样例输入:2357样例输出:<1>..775X..33----- .23252325.-----25575The number of原创 2020-06-21 18:11:36 · 641 阅读 · 0 评论 -
快速幂取模
洛谷的题目,模板题可供练习https://www.luogu.com.cn/problem/P1226问题:求 ( a ^ b ) % c首先按照最简单的思路去做,b个a 去相乘,乘b次取模,时间复杂度高,a ^ b 太大直接超过long long 没法做了。1.首先解决时间问题b个a乘起来太累,我们可以转化为 ( a * a ) ^ ( b / 2 ),只要 b 是偶数,如果b是奇数可...原创 2020-02-18 12:16:17 · 333 阅读 · 0 评论 -
洛谷p1101单词方阵
https://www.luogu.com.cn/problem/P1101写过迷宫搜索,这道题也是很容易上手,写完才发现没读完题,每次都是一个方向搜。。。。写完搜索我还纳闷自己又写错了,结果发现只能一个方向走到头,这样的话这道题循环做也是可以的,都不需要dfs了,不过写一写算熟悉了。刚开始写搜索函数时,我一个一个字母的判断,后来才发现自己太蠢,用数组判断即可,以后一定不会这样了。在这里插入代...原创 2020-02-16 10:03:44 · 109 阅读 · 0 评论 -
洛谷p1065迷宫-dfs
https://www.luogu.com.cn/problem/P1605求一个点到另一个点的所有路线#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <vector>#include <string>...原创 2020-02-16 08:48:04 · 217 阅读 · 0 评论 -
洛谷p1019单词接龙-dfs
https://www.luogu.com.cn/problem/P1019这道题好难想,刚开始就字符拼接这块写了一大堆,写完搜索不会写了,光找两个字符串的最小重叠部分就写了好多,最后写不下去了,需要太多代码了,于是就去找大佬题解了,确实自己写繁了,梳理一下大佬的思路吧。对所有的字符串循环,对于首字母符合条件的以这个字符串开头进行搜索,所以可能搜索不止一次。由于每个字符串最多出现2次,所以用一...原创 2020-02-15 17:15:44 · 195 阅读 · 0 评论 -
洛谷p1162填涂颜色-深搜或宽搜
https://www.luogu.com.cn/problem/P1162这道题标签是bfs所以先拿Bfs做,但其实dfs更简单一些。思路是把1外围的所有0都标记,然后再浏览整个数组,把所有未标记的0都置2输出即可,但是搜索有一个问题就是只能搜相连通的一片区域,如果外围1把整个图分为了几个区域,那搜索就只能搜索到一片区域,为了解决这个问题,需要给原来的数组扩充一层0,这样就不存在不连通的外围...原创 2020-02-15 10:33:27 · 238 阅读 · 0 评论 -
洛谷p1219八皇后-深度优先搜索
https://www.luogu.com.cn/problem/P1219经典递归回溯问题,八个皇后要不同行,不同列,不同斜线,不同行列还好说,就是这个不同斜线怎么判断,这里就要去找规律。可以发现在一条右斜线上即这样一条斜线 / 上,所有点的横坐标加纵坐标等于一个固定值,并且每条斜线上的值都不相同,所以我们可以用标记数组还标记右斜线,当我们选择另一个点时,不会再去选择这条斜线上的点...原创 2020-02-14 16:11:20 · 248 阅读 · 0 评论 -
洛谷p1094纪念品分组-贪心算法
https://www.luogu.com.cn/problem/P1094一组最多两件纪念品,那么一般小的纪念品都能凑成一对满足要求,但是大的纪念品就只能单独作为一组了,这无疑会增加组数,所以尽量为大的纪念品找小的纪念品凑成一对,这样最终一定会得到最优解#include <iostream>#include <cstdio>#include <algorit...原创 2020-02-13 11:19:10 · 413 阅读 · 0 评论 -
洛谷p1090合并果子 优先队列
https://www.luogu.com.cn/problem/P1090贪心题,第一眼我看这道题,不就是所以果子排个序,从小到大依次相加,最后求sum,毫无疑问wa了,不过还拿了10分,题目给的数据太好了正好可以从小到大加,但是每次加完之后要考虑加完的这堆在所以果子堆中的位置,于是又修改了代码,在每次合并果子时加了排序,结果tle了,翻题解看到简单的方法就是使用优先队列,优先队列与队列的不同...原创 2020-02-13 08:55:37 · 178 阅读 · 0 评论 -
字符串处理洛谷P1012拼数
https://www.luogu.com.cn/problem/P1012刚开始并没有想到字符串排序,想用整数一位一位比较,想了半天感觉太难了,然后想到了字符串排序,写完高兴怎么这么简单,结果一提交wa了一个点,一看原来32,321的组合最大是32321,而字符串排序的话321>32这就有问题了,于是修改了排序#include <iostream>#include <...原创 2020-02-12 11:02:33 · 181 阅读 · 0 评论 -
洛谷p1618三连击(升级版)-搜索
题目链接https://www.luogu.com.cn/problem/P1618题目意思什么明确,最近刚学会搜索于是第一时间想到了全排列找特定的解,但是写完之后发现怎么也不对,一直输出无解,经过不断地调试和思考,我发现自己画蛇添足地在搜索函数中的条件语句中添加了一个判断,如果符合就return,然而如果return的话后面的回溯就不会执行,所以函数在搜索到一半就停止了,在这里告诫自己回溯之...原创 2020-02-06 10:16:15 · 226 阅读 · 0 评论 -
回溯法求n个不同数的全排列
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#define N 6using namespace std;int a[N] = { 1,2,3,4,5,6 };//待排列的数组int b[N];//选择数组int c[N];//标...原创 2020-02-03 11:24:54 · 1249 阅读 · 1 评论 -
回溯-洛谷p1149火柴棒等式
火柴棒等式https://www.luogu.com.cn/problem/P1149这个题可以不用搜索直接枚举就可以,方法很简单,但是不容易想到#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;i...原创 2020-02-03 10:55:44 · 154 阅读 · 0 评论