![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
一些有趣的较难的算法
文章平均质量分 75
一些有趣的较难的算法
_WuZHua
初入软件,自学算法,多多指教!
展开
-
日常算法刷题整理
日常算法刷题整理一、字符串处理二、数学三、数据结构1、区间问题1.1、树状数组板子:#include<iostream>#include<vector>#define type intusing namespace std;// n:元素个数,m:操作次数int n, m;vector<type> a, c; // a是原数组,c是树状数组int lowbit(int x){ return x&(-x);}void原创 2020-11-16 10:36:51 · 190 阅读 · 0 评论 -
汉诺塔——已知状态,求步数
题目描述给出一个汉诺塔游戏中的某一个阶段的状态,你能算出它从最初始状态到该状态用了最少的步数吗输入说明第一行输入整数 n (1 \le n \le 60)n(1≤n≤60),表示圆盘的数量,圆盘的标号分别是 1,2,…,n1,2,…,n 。接下来输入三行,第 ii 行输入 kk,表示第 ii 根柱子的圆盘数量,后面接着输入 kk 个数,表示柱子上从上到下圆盘的编号。 保证输入是一个合法的汉诺塔游戏状态。输出说明输出一行,表示到达给的状态的最小步数。样例输入31 32 1 20样例输原创 2020-08-16 22:30:04 · 914 阅读 · 0 评论 -
汉诺塔——已知步数,求状态
#include<iostream>#include<vector>using namespace std;int n, step;vector<int> d;void init(int n) { d.resize(n + 1); d[1] = 1; for(int i = 2; i <= n; ++i) d[i] = 2*d[i-1] + 1;}void f(int num, int step, str.原创 2020-08-16 21:35:52 · 205 阅读 · 0 评论 -
One-Dimensional Battle Ships
One-Dimensional Battle ShipsAlice and Bob love playing one-dimensional battle ships. They play on the field in the form of a line consisting of n square cells (that is, on a 1 × n table).At the beginning of the game Alice puts k ships on the field withou原创 2020-08-13 22:52:07 · 162 阅读 · 0 评论 -
最大回文长度
最大回文长度计算给一个字符串,判断该字符串的最大回文长度Input Specification:输入一个字符串Output Specification:输出一个数字,表示最大回文长度Sample Input 1:ABCBASample Output 1:5Sample Input 2:ABCBDSample Output 2:3代码:#include<iostream>#include<string>using namespace std;原创 2020-06-23 19:19:24 · 251 阅读 · 0 评论 -
后缀数组(Suffix Array)
啥是后缀数组?难不难?后缀数组看上去是一个很高深,很玄妙的东西。但首先,我们要树立一个观点:它!不难!!实际上,他也真的不难。难的只是其中一个想法的操作。除此以外,不难。后缀数组的概念首先,我们需要了解一下什么是后缀后缀,顾名思义,缀在后面的东西。在字符串中,就是缀在字符串后面的东西,大家可以联系一下英语单词中的后缀来理解。举个例子字符串:abaab后缀分别有:abaab, ...原创 2020-04-12 12:53:22 · 1228 阅读 · 0 评论 -
zkw线段树
zkw线段树一、初步认识zkw线段树是普通线段树的更新,具有普通线段树的绝大多数性质。主要区分点就是:普通线段树多用递归实现,zkw线段树主要用循环实现拿求区间最小值来说,普通线段树采用一个结点表示一段区间的最小值,而zkw不是的,详细的可以看下面的对比图。下面给出普通线段树和zkw线段树图形的表示对比。Array[]表示建树时使用的数组。zkw线段树有以下几个优点非递归...原创 2020-03-07 12:08:06 · 582 阅读 · 0 评论 -
普通线段树
线段树一、作用与树状数组类似,用来处理数组的区间查询和元素更新操作。与树状数组类似,用来处理数组的区间查询和元素更新操作。与树状数组类似,用来处理数组的区间查询和元素更新操作。重要的事情说三遍!!!!相较于树状数组,线段树还可以进行区间最大值,最小值的查询,更加的灵活。复杂度更新(update):O(logn)查询(query):O(logn)二、实现1、初识线段树线段...原创 2020-03-04 20:48:11 · 145 阅读 · 0 评论