![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
onlysky_yy
onlysky-能让我仰望的,只有天空
展开
-
快速幂算法
1.什么是快速幂算法 快速幂算法如其名,是用来快速计算某个数的幂次结果的算法,比如66的666666次方,算法复杂度为.2.快速幂算法实现思路 快速幂的实现核心在于一个公式,故而可以快速的减小幂次.实际算法中多为取a,b为2的幂次数,故而指数是被分为了个,比如=(11的二进制位中对应的这几位就是1)故而算法复杂度为,而2的幂次数随着运算过程叠加出来就好.实际运用中由于结果过...原创 2018-10-28 18:29:37 · 274 阅读 · 0 评论 -
排序算法合集
目录引言:本博客将逐个分析插入排序,冒泡排序,归并排序,堆排序,快速排序,计数排序,基数排序等常见排序算法一.时间复杂度为n*n的算法-插入排序与冒泡排序1.插入排序2.冒泡排序二.时间复杂度为n*logn的算法-归并排序,堆排序,快速排序1.归并排序2.堆排序3.快速排序三.针对特殊输入时间复杂度为n的算法-计数排序,基数排序1.计数排序(输入数据区间小适...原创 2018-09-07 16:38:53 · 464 阅读 · 0 评论 -
快速处理区间合并问题的一个优秀思路(效率取决于区间可取范围)
这算不上算法,只是一个我认为优秀的思路:#include <stdio.h>const int maxm=1000000;int vis[maxm];int main(){ int n; scanf("%d",&n); int l,r; for(int i=0;i<maxm;i++) vis[i]=0; for(int i=0;i<n;i++)...原创 2018-09-09 20:43:43 · 945 阅读 · 4 评论 -
AC自动机-字符串多模匹配神器
目录一.什么是AC自动机?二.AC自动机用来干嘛?三.AC自动机实现思路 第一步:建立字典树 第二步:构造字典树的fail指针 第三步:执行文章与字典树与模式匹配四.模版代码五.经典例题1.hdoj 2222 keywords search(简单模版题)2.hihocoder hiho218 Keywords Filter ...原创 2018-09-04 10:54:11 · 2370 阅读 · 0 评论 -
二分查值法
目录 一.什么是二分查值法?二.二分查值法用来干嘛?三.二分查值实现思路1. 最大化最小值:2. 最小化最大值:四.模版代码1.最大化最小值2.最小化最大值五.例题1.hiho216 Gas Station参考我关于这道题的解题博客: hiho216 Gas Station一.什么是二分查值法? 首先这是一种算法,算法核心思维就是利用二...原创 2018-09-05 09:04:35 · 529 阅读 · 0 评论 -
hihocoder 编程练习赛75(ABCD都有)
hihocoder 编程练习赛75 目录hihocoder 编程练习赛75 题目1 : 工作城市分配题意分析:1.题是什么?2.思路ac代码题目2 : 工作城市分配2题意分析:1.题是什么?2.思路ac代码题目3 : 顺子组合题目分析:1.题是什么?2.思路ac代码题目4 : 栈的加强版题意分析:1.题是什...原创 2018-09-02 14:57:57 · 681 阅读 · 0 评论 -
滚动数组
1.滚动数组是什么? 一个及其小巧的思维,数据结构都算不上,不过非常适用于某些问题节约空间.其实就是一个长度为2的循环队列的概念.2.滚动数组有什么用? 在处理一些问题特别是DP这类问题时经常需要递推,用数组记录数据是必不可少的,然而n过大时开n*n的数组会爆栈,而滚动数组可以将空间缩为2*n. 可处理的问题多表现为多步的数据递推,而且每一步递推只会用到上一次递推...原创 2018-07-22 20:43:46 · 698 阅读 · 0 评论 -
gcd与扩展gcd-poj1061青蛙的约会
目录1.什么是gcd算法,什么又是扩展gcd?2.gcd和扩展gcd有什么用(1).gcd(2).扩展gcd3.例题:1.poj1061 青蛙的约会1.什么是gcd算法,什么又是扩展gcd? 首先gcd算法是一个很古老的用于计算两数最大公约数的算法,而扩展gcd是基于gcd的一个扩展算法,用于求解模线性方程ax≡b (mod n).2.gcd和...原创 2018-07-12 20:17:24 · 473 阅读 · 0 评论 -
素数处理-艾式筛法及其位优化版-hdoj1397
这篇文章介绍了素数处理的常用方法-艾式筛法及其位优化版本.目录1.埃式筛法是什么?2.埃式筛法有什么用?3.埃式筛法实现思路4.模版代码5.例题训练1.hdoj 1397Goldbach's Conjecture1.埃式筛法是什么?首先埃式筛法是一种算法,核心是利用打表法高效获取0到n内的素数,模版型算法.2.埃式筛法有什么用?一般用于解决这种问题:...原创 2018-06-27 14:22:34 · 687 阅读 · 0 评论 -
KMP详解-hdoj2087
目录1.KMP算法是什么?2.KMP算法有什么用?3.KMP实现思路(1)暴力匹配为何低效(3)kmp过程4.模版代码5.例题与源码1.HDOJ 2087剪花布条(模版题)1.KMP算法是什么?kmp算法是一种用于高效进行字符串匹配的算法,KMP的核心就是next数组的构造与使用.2.KMP算法有什么用?一般用于解决这种问题:涉及...原创 2018-06-27 00:06:32 · 812 阅读 · 0 评论 -
我的算法模板(带分析博客)
目录引言:不同的人模版不同,程序是人思维的结晶,最好用自己的代码,殊途同归!(以下模版均有其对应的分析博客,点击标题即可跳转)数据结构篇1.并查集2.字典树3.线段树与树状数组 4.ac自动机5.大根堆算法篇1.KMP算法2.素数处理3.gcd与扩展gcd4.二分查值法(1).最大化最小值(2).最小化最大值5.排序...原创 2018-07-22 00:06:28 · 2446 阅读 · 0 评论 -
N皇后问题-位保存状态思维
1.什么是N皇后问题? 在nxn的棋盘上面所有的皇后不能相互攻击,通俗的讲就是所有的皇后既不在同一行也不在同一列,不在同一对角线。2.思路 利用递归,逐行穷举每一行可能的皇后位置,穷举的同时用32位整数的位保存对应位置是否可用的情况,如下代码: row存当前行因与前面的皇后同列导致不可用的所有位置, ld存当前行因与前面的皇后同左对角线导...原创 2019-07-18 20:42:02 · 155 阅读 · 0 评论