
算法
崖丫
怕什么真理无穷,得一寸有一寸的欢喜
展开
-
连连看
题目解释剪枝的搜索,BFS与DFS都可以代码//连连看#include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<queue>using namespace std;struct xjf{ int x, y, loststop, fan;}now,well;int dis[4][2] = { {0,1 }, { 0,-1 }原创 2021-03-27 18:21:06 · 120 阅读 · 0 评论 -
C++语言的输入输出(杂记)
前言最开始我是拒绝写这篇博客的,常言道“大行不顾细谨,大礼不辞小让”。为了以后有个查验的方式,就写吧。限定宽度#include<iostream>#include<iomanip>using namespace std;int main(){ cout << setw(3) << 12 << endl;//宽度三 return 0;}//默认右对齐//如果长度宽过3,setw失效限定补位#include<iost原创 2020-11-27 14:58:12 · 199 阅读 · 0 评论 -
大数问题(杂记)
前言大数是一个基本操作,用于大型数据,本代码以斐布纳契数列(兔子繁殖)为例,不了解的自行百度数据结构建立一个二维数组备用int arr[1001][1001];//备用思想基础用字符型代替整型,扩充范围核心代码void fld() { int s, n = 0;//s表示数字,n表示进位 memset(arr, 0, sizeof(arr)); arr[1][1...原创 2019-10-17 22:48:32 · 198 阅读 · 1 评论 -
最短路(杂记)
最短路是树中一个常规用法。我的学习是从两篇博客开始的,链接放下面了:Floyd算法:https://blog.youkuaiyun.com/shaonianbz/article/details/79709408综合:https://blog.youkuaiyun.com/createprogram/article/details/86710519OK,下面是我自己的理解。Floyd算法Floyd最简单的最短路,...原创 2019-07-25 16:00:45 · 108 阅读 · 0 评论 -
网络流(杂记)
简单的说一下网络流,用于判断图中S到T的最大流量的一种算法,不难,好好看。下面先推荐几篇博客:(代码参考第二篇)先看这个:https://blog.youkuaiyun.com/mmy1996/article/details/71056041最详细讲述:https://blog.youkuaiyun.com/x_y_q_/article/details/51999466进阶:https://blog.csdn.ne...原创 2019-07-29 09:17:33 · 109 阅读 · 0 评论 -
快速排序(杂记)
快排在C语言中比较有用,但是在C++中用途不大,完全可以用sort函数代替(复杂度差不多)。关于各种排序算法的复杂度推荐看一个视频来比较,视频链接:https://www.bilibili.com/video/av14429343/关于各种排序算法的简介推荐看一个网页来学习,网页链接:https://mp.weixin.qq.com/s/qG4S3WjhGkaXM2B-P5M75wOK,言归...原创 2019-06-09 20:39:09 · 119 阅读 · 0 评论 -
KMP(杂记)
#include #include #include #include #include using namespace std;int next[100],n,s=0,S=0,m;char arr[100],brr[100];void Next(){int i=1,j=0;next[0]=-1;while(i<n){if(brr[i]brr[j]||j-1){i+...原创 2019-06-08 00:38:24 · 144 阅读 · 0 评论 -
最小生成树(杂记)
事先声明,最小生成树的有专门的专题的,这里为什么要单独列出来呢?因为我会!说一下思路(请准备一个充满想象力的大脑)OK,让我们先想象一个3*3的矩阵(就像手机解锁一样),规定左上角是(1,1),右下角是(3,3),选择我要遍历所以的点,我应该怎么做呢?那么让我们想象一个画面,我们站在(1,1)这个点上,现在我们有8个选择,我们会怎么选呢?反正我会选最近的那个点。假如我们的选择是(1,2),那么...原创 2019-05-17 09:16:06 · 107 阅读 · 0 评论 -
动态规划 二 (手记)
这次说一下DAG,什么是DAG呢?不重要。只要知道DAG是动态规划的一部分,很多问题都可以转换为DAG(只要是有向无环图都可以试试)。下面说两个DAG的模型一.嵌套矩形模型顾名思义,就是判断小矩形是否可以放着大矩形里,然后求出最多可以套几个矩形。先想一想嵌套的判断条件,设两个矩形长宽分别是a,b,c,d。当a>b&&c>d或a>d&&b>...原创 2019-04-16 20:51:24 · 151 阅读 · 0 评论 -
动态规划 一(手记)
个人认为,动态规划是每一个ACM练习人的槛,动态规划不一定是一个具体的算法,更像是一个思维,不断更新,不断判断,即使动态规划的优点也是它的磨人之处。今天就是介绍一个最简单的问题——数塔。上图就是数塔,题目要求你去找一条路,让这条路的和最大。先说一下思路:首先,作为一个学过搜索的人,最先想到的就是把所有的可能都存进队列,直到最后一列。从原理上来说是可行,但是有点麻烦,而且容易超时。所以,介...原创 2019-04-11 19:47:33 · 142 阅读 · 5 评论 -
快速幂(杂记)
快速幂快速幂主要解决高次方的幂位乘法。例如1000^10000如果使用常规的计算思路,计算机会超时,所以需要快捷的计算方式先拓宽一下思考,计算机是标准是二进制,所以如果在优化上出现问题就先去考虑能不能利用二进制,快速幂就是二进制思想的体现首先要考虑的是分解对象,有两个选择:1.基数;2.指数。如果分解基数的话就会把一个数字是幂乘变成多个数的幂乘,显然会更加麻烦,所以分解对象就是指数。直接上...原创 2019-03-21 17:26:40 · 100 阅读 · 1 评论 -
搜索(手记)
作为一个算法初学者,简单写一下对搜索的感受和经验。搜索分为深搜和广搜两种,下面会分别介绍一下。深搜如何插入一段漂亮的代码片去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.// An highlighted blockvar foo = 'bar';生成一个适合你的列表项目项目项目项目1项目2项目3 计划任务 完成任务...原创 2019-03-17 12:23:24 · 430 阅读 · 2 评论