
算法复习
文章平均质量分 84
底层程序媛
等一个自然而然的晴天
展开
-
DFS与BFS小结
DFS!!!1、2020蓝桥杯决赛A组E题《玩具蛇》难度:**题意 :在4*4矩阵中放入1-16号数字,使得连续的数字相邻,则放法有多少种(设每个格子均不同)思路:1个1个放,上下左右探索。巩固深搜语法——visit置1,搜索下一层,visit置0。int visit[4][4],cnt=0; //设置是否经过,计数int x[4]={-1,0,1,0},y[4]={0,-1,0,1}; //探索方向void init(){ //重新开始的初始化函数 for (int i=0;i原创 2021-04-14 21:29:33 · 363 阅读 · 1 评论 -
分治专题小结
(4.22算法机考,慌得一批啥也不会来写点东西认真准备三次机考考了第7、8、6名,比上不足比下有余。。。1、入门——快速幂题目:给定整数n、c、m,求(n的c次方)mod m思路:1)当c为偶数时,nc= nc/2 * nc/22)当c为奇数时,nc = nc/2 * nc/2 * n而(a*b) mod m = (a mod m) * (b mod m)则代码如下:#include <iostream>using namespace std;typedef long lo原创 2021-04-21 23:50:34 · 117 阅读 · 0 评论 -
动态规划小结
dp常将时间复杂度降低为O(n2),而以空间复杂度提高为代价。二维数组maxn=100左右,所以当题目范围超出时,记得将dp数组改成一个变量,赋值完实时进行比较。1、整齐打印题目:考虑在一个打印机上整齐地打印一段文章的问题。输入的正文是n个长度分别为L1、L2、……、Ln(以字符个数度量)的单词构成的序列。我们希望将这个段落在一些行上整齐地打印出来,每行至多M个字符。“整齐度”的标准如下:如果某一行包含从i到j的单词(i<j),且单词之间只留一个空格,则在行末多余的空格字符个数为 M - (j-i原创 2021-04-24 20:32:03 · 356 阅读 · 0 评论 -
贪心算法小结
1、摇摆序列题目: 若整数序列相邻元素的差 正负交替出现则其为摇摆序列。给定随机序列,求序列满足摇摆序列定义的最长子序列长度。思路: 当出现连续递增或递减时,为形成摇摆子序列只需保留连续的递增或递减的首尾元素,使得尾部的后一个元素成为摇摆子序列的下个元素。定义三个状态:起始、上升、下降,以及当前数字与所存储数字作比较。代码:int main(){ int n,in[maxn]; cin>>n; for (int i=0;i<n;i++) cin>&g原创 2022-03-04 16:14:16 · 610 阅读 · 0 评论