![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Kobe_G
shopee前端开发工程师,一名正在进阶的前端学习者
展开
-
个人GitHub地址
个人GitHub仓库地址:https://github.com/Kobe-G原创 2019-10-24 20:46:49 · 3349 阅读 · 0 评论 -
关于如何求两个字符串的最大公共子串的问题
此方法对于长度较短的字符串效率较高:#include <stdio.h>#include <string.h>int f(char s1[],char s2[]){ int a[100][100]; int len1 = strlen(s1); int len2 = strlen(s2); int i,j; memset(a,...原创 2019-03-20 21:44:49 · 346 阅读 · 0 评论 -
蓝桥杯历届试题-合根植物(并查集)
蓝桥杯历届试题-合根植物是一道简单的并查集问题,并查集算法的核心是把两个点连通起来的函数和找到某个点的根节点的函数,本文把这两个函数定义成join()和find();先写出这两个函数的原型:int find(int x){ return a[x]==x?x:a[x]=find(a[x]);//返回节点x的根节点,并且压缩路径}//如果看不懂压缩路径的写法可以看下面这个int...原创 2019-03-19 20:30:36 · 537 阅读 · 0 评论 -
蓝桥杯历届试题-高僧斗法(博弈论)
蓝桥杯历届试题-高僧斗法是一道尼姆堆博弈论(Nim游戏),本文只对尼姆堆问题进行粗略的解释,不对题目进行讲解,我相信只要搞清楚了尼姆堆这种博弈论问题之后,这道题将会迎刃而解。一般的Nim游戏是这样的:有n个石堆,每堆里有数量一定的石子,两人从其中任意一堆中取任意数量的石子(不能超过这堆石子数的最大值),不能不取,最后某个人取完,所有石堆中的石子数量都为0时,另一个人就为输。这里要先介绍一些概念...原创 2019-03-19 20:12:45 · 814 阅读 · 0 评论 -
关于如何快速筛选素数的问题
在浏览某位大佬学弟的博客时,看到了一种线性筛选素数的方法,觉得很有用,所以给大家分享出来。这种筛选的方法名叫做埃拉托斯特尼筛法:要得到自然数n以内的全部素数,只需要把不大于根号n的所有素数的倍数剔除,剩下的就是素数。思想:假设全部数均为素数,再通过剔除掉所有合数,剩下的数就为素数。代码如下:#include<bits/stdc++.h>using namespace std;i...原创 2019-03-19 19:56:34 · 717 阅读 · 0 评论 -
分解质因数算法
众所周知,任何一个数都可以写成若干个素因数相乘,那么如何找到这些素因数呢,可以用到分解质因数算法:#include<bits/stdc++.h>using namespace std;int main(){ int n,i=2; scanf("%d",&n); while(i<=n) { if(n%i==0) ...原创 2019-03-19 19:45:11 · 3321 阅读 · 1 评论 -
2018年蓝桥杯省赛本科B组-全球变暖(水漫金山)
最近在刷蓝桥杯的题,有这样一道题:题目大意你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右...原创 2019-03-14 21:13:51 · 450 阅读 · 2 评论 -
关于字符串根据字典序排序的方法
首选你要懂得什么是字典序,如果不懂自行百度,本文不再阐述。字典序排序其实和数组排序是类似的,只需要用到strcmy和strcpy函数,可以用类似于数组冒泡排序的方法完成排序,代码如下:方法一:#include&lt;bits/stdc++.h&gt;using namespace std;char s[105][105];char t[105];int main(){ in...原创 2019-03-03 21:19:59 · 12801 阅读 · 7 评论 -
数论-取模问题总结
在ACM比赛中,有很多时候会遇到大数取模问题:比如,我们要求一个数的阶乘对某数取模的结果,或者斐波那契数列中后面的项对某个数取模的结果,这些数用int或者long long是存不下的。为了防止溢出,取模问题有以下几个公式。1.两数相加再取模(m + n) % p = (m%p + n%p) %p2.两数相乘再取模(m * n) % p = (m%p) * (n%p) %p3...原创 2018-10-28 17:32:31 · 4255 阅读 · 5 评论 -
关于如何判断一个数是否是2的整数次方的问题
有这样的一道题:有一串奇怪数列如下:1 2 -3 4 -5 -6 -7 8 -9 ... 即从1-n,碰到2的次方倍则显正,其他则是负数。(2的整次方包括:1,2,4,8,16,32,64,128,....) 现在给你一个n,求出,这个数列的和。直接来判断一个数是不是2的整数次方并不好判断,此时我们可以用位运算来快速解决。我们把2的整数次方的数化成一个二进制数,会发现,所有这样的二...原创 2018-09-28 21:40:39 · 1181 阅读 · 0 评论