
算法
崖丫
怕什么真理无穷,得一寸有一寸的欢喜
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
连连看
题目 解释 剪枝的搜索,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 · 128 阅读 · 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 · 208 阅读 · 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 · 209 阅读 · 1 评论 -
最短路(杂记)
最短路是树中一个常规用法。我的学习是从两篇博客开始的,链接放下面了: Floyd算法:https://blog.youkuaiyun.com/shaonianbz/article/details/79709408 综合:https://blog.youkuaiyun.com/createprogram/article/details/86710519 OK,下面是我自己的理解。 Floyd算法 Floyd最简单的最短路,...原创 2019-07-25 16:00:45 · 112 阅读 · 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 · 113 阅读 · 0 评论 -
快速排序(杂记)
快排在C语言中比较有用,但是在C++中用途不大,完全可以用sort函数代替(复杂度差不多)。 关于各种排序算法的复杂度推荐看一个视频来比较,视频链接:https://www.bilibili.com/video/av14429343/ 关于各种排序算法的简介推荐看一个网页来学习,网页链接:https://mp.weixin.qq.com/s/qG4S3WjhGkaXM2B-P5M75w OK,言归...原创 2019-06-09 20:39:09 · 123 阅读 · 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 · 148 阅读 · 0 评论 -
最小生成树(杂记)
事先声明,最小生成树的有专门的专题的,这里为什么要单独列出来呢?因为我会! 说一下思路(请准备一个充满想象力的大脑) OK,让我们先想象一个3*3的矩阵(就像手机解锁一样),规定左上角是(1,1),右下角是(3,3),选择我要遍历所以的点,我应该怎么做呢?那么让我们想象一个画面,我们站在(1,1)这个点上,现在我们有8个选择,我们会怎么选呢?反正我会选最近的那个点。假如我们的选择是(1,2),那么...原创 2019-05-17 09:16:06 · 113 阅读 · 0 评论 -
动态规划 二 (手记)
这次说一下DAG,什么是DAG呢?不重要。只要知道DAG是动态规划的一部分,很多问题都可以转换为DAG(只要是有向无环图都可以试试)。下面说两个DAG的模型 一.嵌套矩形模型 顾名思义,就是判断小矩形是否可以放着大矩形里,然后求出最多可以套几个矩形。先想一想嵌套的判断条件,设两个矩形长宽分别是a,b,c,d。当a>b&&c>d或a>d&&b>...原创 2019-04-16 20:51:24 · 162 阅读 · 0 评论 -
动态规划 一(手记)
个人认为,动态规划是每一个ACM练习人的槛,动态规划不一定是一个具体的算法,更像是一个思维,不断更新,不断判断,即使动态规划的优点也是它的磨人之处。今天就是介绍一个最简单的问题——数塔。 上图就是数塔,题目要求你去找一条路,让这条路的和最大。 先说一下思路: 首先,作为一个学过搜索的人,最先想到的就是把所有的可能都存进队列,直到最后一列。从原理上来说是可行,但是有点麻烦,而且容易超时。 所以,介...原创 2019-04-11 19:47:33 · 153 阅读 · 5 评论 -
快速幂(杂记)
快速幂 快速幂主要解决高次方的幂位乘法。例如1000^10000如果使用常规的计算思路,计算机会超时,所以需要快捷的计算方式 先拓宽一下思考,计算机是标准是二进制,所以如果在优化上出现问题就先去考虑能不能利用二进制,快速幂就是二进制思想的体现 首先要考虑的是分解对象,有两个选择:1.基数;2.指数。如果分解基数的话就会把一个数字是幂乘变成多个数的幂乘,显然会更加麻烦,所以分解对象就是指数。 直接上...原创 2019-03-21 17:26:40 · 105 阅读 · 1 评论 -
搜索(手记)
作为一个算法初学者,简单写一下对搜索的感受和经验。 搜索分为深搜和广搜两种,下面会分别介绍一下。 深搜 如何插入一段漂亮的代码片 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片. // An highlighted block var foo = 'bar'; 生成一个适合你的列表 项目 项目 项目 项目1 项目2 项目3 计划任务 完成任务...原创 2019-03-17 12:23:24 · 439 阅读 · 2 评论