自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 线段树初步理解

线段树定义:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。[1]对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。主要遇到的问题:要解决计算某一数组任意区间长度,并且在随机改变...

2019-04-23 18:00:36 130

原创 KMP算法

KMP算法是求一个字串在另一个字串,完全匹配,处于第几个,完全匹配:eg:ABABABCABAABABABAB //test iABABCABA //pattern j这两个字符串从第3个起完全匹配。按照普通的想法就是一个一个比较,遇到不相等的整体向右移动一位,然后再依次比较。此方法计算量太大,下面的KMP算法就可以很好解决这一问题。步骤:1.求...

2019-04-07 15:00:45 110

转载 龟兔赛(动态规划)

Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼,终于练成了绝技,能够毫不休息得以恒定的速度(VR m/s)一直跑。兔子一直想找机会好好得教训一下乌龟,以雪前耻。最近正值HDU举办50周年校庆,社会各大名流齐聚下沙,兔子也趁此机会向乌龟发起挑战。虽然乌龟深知获胜希望...

2019-03-28 22:14:23 259

原创 海岛淹没(DFS)

你有一张某海域NxN像素的照片,”.”表示海洋、”#”表示陆地,如下所示:……..##…..##….….##.…####.…###.…….其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹...

2019-03-23 19:46:36 573 1

转载 等差素数列

标题:等差素数列2,3,5,7,11,13,…是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个...

2019-03-23 19:23:45 184

原创 快速排序

在做历年蓝桥杯的题目的时候,发现考的还挺多的,形式就是代码填空,要填的内容也基本和递归有关。先说一下快排的基本算法:(1)、先随机找一个数(一般取第一个),找到它的位置。a、设找的随机数为a[i]=x,从左向右找比x大的,即满足a[i]<x;i++;找到第一个比x大的停止。b、从右向左找比x小的,即满足a[j]>x; j–;即找到第一个比x小的停止。c、如果i<j;交换...

2019-03-23 14:31:54 91

原创 关于进制输出

汉字码蓝桥杯的一道题目:由此总结一下各个进制的输出形式: printf("%05o\n",n); //按八进制格式输出,保留5位高位补零 printf("%03d\n",n); //按十进制格式输出,保留3位高位补零 printf("%05x\n",n); //按十六进制格式输出,保留5位二进制我没查到,或许没有?但还有另一种方式输出二进制#include&l...

2019-03-22 13:04:37 252

转载 格子中输出

4.格子中输出(新知识点Get)StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码`...

2019-03-20 19:17:08 88

原创 全排列函数

按字典序从小到大输出这个字符串的全排列样例输入abc样例输出abcacbbacbcacabcba组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和prev_permutation(start,end)。这两个函数作用是一样的,区别就在于前者求的是当前排列的下一个排列,后一个求的是当前排列的上一个排列。至于这里的“前...

2019-03-17 22:33:46 1071

原创 01背包与对决匹配(动态规划)

01背包问题;给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。有以下两大类情况1、背包剩余空间小于w[k] //w[k]表示重量则不选这个物品 选前一个物品 B[k][c]=B[k-1][c]2、(1)选这个物品 则B[k][c]=B[k-1][c-w[k]]+v[k];(2)不选这个物品 B[k][c]=B[k-1][c];...

2019-03-03 21:40:16 358

原创 合根植物(并查集)

问题描述  w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?  输入格式    第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1&amp;lt;m,n&amp;l...

2019-02-28 15:41:30 307

转载 n皇后问题

在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?主要运用回溯法有递归及迭代两种代码形式:递归的代码:#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;stdlib.h&amp;amp;gt;const int N=20; //最多放皇后的个数int q[N]; //i表示皇后所在的行.

2019-02-21 17:09:04 126

转载 分解质因数——蓝桥杯基础训练

/问题描述  求出区间[a,b]中所有整数的质因数分解。输入格式  输入两个整数a,b。输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1&lt;=a2&lt;=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=225=56=237=78=2229=3310=2*5提示  先筛出所有素数,然后再分解。数据规模和约定  2...

2019-01-28 17:10:25 131

转载 Java值传递与引用传递

值传递就是在参数里面改变,实体并不会改变。现在主要讨论传引用:代码如下:public class Test2 { public static void main(String[] args) { StringBuffer sb = new StringBuffer(&quot;Hello &quot;); ...

2018-12-27 22:51:57 99

转载 链表的逆置(迭代法与逆置法)

链表翻转操作的顺序对于迭代来说是从链头往链尾,而对于递归是从链尾往链头。1、非递归(迭代)方式node* reverseList(node* H){ if (H == NULL || H-&amp;amp;amp;gt;next == NULL) //链表为空或者仅1个数直接返回 return H; node* p = H, *newH = NULL; while (p !=...

2018-12-27 15:04:27 843

原创 链表的中间结点

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL)...

2018-12-27 14:02:42 147

原创 链表的中间结点

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL)...

2018-12-26 14:57:13 129

原创 链表删除结点

本题要求是删除链表指定结点 注意node为指定删除的结点/** 1. Definition for singly-linked list. 2. struct ListNode { 3. int val; 4. struct ListNode *next; 5. }; */void deleteNode(struct ListNode* node) { n...

2018-12-26 13:58:21 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除