自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最小生成树~~prim算法和kruskal算法~~模板

1、什么是最小生成树现在假设有一个很实际的问题:我们要在n个城市中建立一个通信网络,则连通这n个城市需要布置n-1一条通信线路,这个时候我们需要考虑如何在成本最低的情况下建立这个通信网? 于是我们就可以引入连通图来解决我们遇到的问题,n个城市就是图上的n个顶点,然后,边表示两个城市的通信线路,每条边上的权重就是我们搭建这条线路所需要的成本,所以现在我们有n个顶点的连通网可以建立不同的生成树,...

2018-08-16 17:37:39 650

原创 并查集~~HDU1232&1233

 开始还是让我们了解了解什么是并查集!定义:并查集是一种树型的数据结构,用于处理一些不相交集(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。。在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间...

2018-08-15 11:24:47 175

原创 2.第一个HelloWorld程序

Hello World虽然简单但是对于刚入门的小菜鸡来说为了选择编译器给自己搭建环境还是不容易(哈哈菜鸡就是改不了喜欢给自己找借口的毛病)那么下面就来展示一下我的Hello World的经历。1.New project在这个红箭头的位置file中的project这就是spring的创建方法,我用的是jdk11,我们选择这个就不用管了。2.修改group和artif...

2019-03-31 21:58:00 310 1

原创 1.编译器的选择

在刚开始的经历eclipse和idea的选择之后,最后选择idea这个编译利器idea的优点:1.环境集成的比较舒服 。 2.各种提示也是比较完整。3.很多其他内容能在编译器中直接找到。但是当然eclipse和idea的选择还是要每个人的不同选择,每个人的习惯。对我来说可能更加适合idea。当然eclipse的功能还是非常强大的。但是idea有一个不好的就是需要收费并不是免费的,但是对...

2019-03-31 21:11:51 380

原创 快速排序~~洛谷P1177

题目描述利用快速排序算法将读入的N个数从小到大排序后输出。快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++选手请不要试图使用STL,虽然你可以使用sort一遍过,但是你并没有掌握快速排序算法的精髓。)输入输出格式输入格式: 输入文件sort.in的第1行为一个正整数N,第2行包含N个空格隔开的正整数a[i],为你需要进...

2018-10-23 17:46:22 367

原创 快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,...

2018-10-23 17:42:21 130

原创 约瑟夫环问题~~的几种实现办法

什么是约瑟夫环问题:传说,著名犹大历史学家Josphus曾讲过一个故事:在罗马人占领乔塔帕特后,40个犹太人与Josphus躲到一个洞中。40个犹大人决定宁愿死也不要被敌人逮到,于是决定了一个自杀方式:41个人排成一个圆圈,由第1个人开始报数,每报数到3,该人就必须自杀,然后再由下一个人重新报数,直到所有人都自杀身亡为止。然而,Josphus并不想遵从自杀,于是他先假装同意该方案,然后...

2018-10-16 17:38:42 490

原创 线性表的实现~~链式存储

链式存储结构之所以能很好地解决这个问题,原因就在于它不考虑存储位置的相邻关系了,哪里有空位就存到哪里,我们只需要让每个元素都知道下一个元素的位置在哪里就可以了。这样就是我们在定义链式存储结构的时候,除了定义它本身需要存储的信息之外,还需要存储一个能够指示它直接后继的一个信息,这个信息我们可以用指针来表示。这也就是我们课本上讲的数据域和指针域。我们将这种只带有一个指针域的线性表称为单...

2018-10-16 17:07:10 770

原创 线性表的实现~~顺序表

好久没有更新了,开始学习数据结构了。。。。。逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为线性表的顺序存储结构。也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中,之间不存在空隙,这样的存储结构称为顺序存储结构。使用顺序存储结构存储的数据,第一个元素所在的地址就是这块存储空间的首地址。通过首地址,可以轻松访问...

2018-10-16 16:55:39 653

原创 P1328 生活大爆炸版石头剪刀布 (继续水)

石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一 样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:斯波克:《星际迷航》主角之一。蜥蜴人:《星际迷航》中的反面角色。这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。现在,小 A和小 B尝试玩这种升...

2018-10-09 21:45:03 134

原创 Number Squence~~HDU 1005(思维 规律)

Number SequenceTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 122527    Accepted Submission(s): 29758Problem DescriptionA number sequence...

2018-09-25 22:40:39 128

原创 STL容器(vtecor,map,set,stack,queue) 基础运用 ~c++

1.MapMap是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边...

2018-09-10 11:21:00 178

原创 UVA~156(map)

Sample input   ladder came tape soon leader acme RIDE lone Dreis peat  ScAlE orb  eye  Rides dealer  NotE derail LaCeS  drIed noel dire Disk mace Rob dries # Sample output...

2018-09-08 13:08:38 143

原创 霍夫曼编码(Huffman Coding

霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。霍夫曼编码的具体步骤如下:...

2018-09-07 22:43:16 1558

原创 算法题~~聪明的木匠

一位老木匠需要将一根长的木棒切成N段。每段的长度分别为L1,L2,......,LN(1 <= L1,L2,…,LN <= 1000,且均为整数)个长度单位。我们认为切割时仅在整数点处切且没有木材损失。木匠发现,每一次切割花费的体力与该木棒的长度成正比,不妨设切割长度为1的木棒花费1单位体力。例如:若N=3,L1 = 3,L2 = 4,L3 = 5,则木棒原长为12,木匠可以有多种切...

2018-09-07 22:38:52 478

原创 P1478~陶陶摘苹果(升级版)

题目描述又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0之前最多能摘到多少个苹果。现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,...

2018-09-06 15:58:14 211

原创 洛谷P1149~火柴棒等式

题目描述给你n根火柴棍,你可以拼出多少个形如“A+B=CA+B=C”的等式?等式中的AA、BB、CC是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-90−9的拼法如图所示:注意: 加号与等号各自需要两根火柴棍 如果A≠BA≠B,则A+B=CA+B=C与B+A=CB+A=C视为不同的等式(A,B,C>=0A,B,C>=0) ...

2018-09-05 19:58:08 477

原创 51nod~~独木舟问题

 输入第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。接下来n行,每行一个正整数,表示每个人的体重。体重不超过1000000000,并且每个人的体重不超过m。输出一行一个整数表示最少需要的独木舟数。输入示例3 6123输出示例2解析:    ...

2018-09-03 21:01:54 158

原创 贪心入门~~51nod活动安排问题

输入第1行:1个数N,线段的数量(2 <= N <= 10000)第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= 10^9)输出输出最多可以选择的线段数量。输入示例31 52 33 6输出示例2这个很明显是一个贪心算法,也可以说是很模板的题了,代码如下:#include&...

2018-09-02 22:52:52 180

原创 51Nod - 1010~~只包含因子2 3 5的数

K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。例如:n = 13,S中 >= 13的最小的数是15,所以输出15。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T +...

2018-08-24 17:03:18 134

原创 51Nod - 1009~ 数字1的数量

给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input输入N(1 <= N <= 10^9)Output输出包含1的个数Sample Input12Sample Output5这个题刚开始直接想到的就是打表,但是这个...

2018-08-24 15:52:08 171

原创 HDU - 1285 确定比赛名次 (拓扑排序)

有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 Input输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;其中...

2018-08-24 11:21:55 202

原创 拓扑排序~~(入门)

1、拓扑排序的介绍对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。 拓扑排序对应施工的流程图具有特别重要的作用,它可以决定哪些子工程必须要先执行,哪些子工程要在某些工程执行后才可以执行。为了形象地反映出整个工程中各个子工程(活动)之间...

2018-08-24 10:26:10 187

原创 POJ - 1611 (并查集)~~

Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to s...

2018-08-23 11:23:58 298

原创 线段树终极解释

线段树详解 By 岩之痕 目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题   一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L到R的这些点。线段树的用处就是,对编号连续的一些点进行修改或者统计操作,修改和统计的复...

2018-08-21 17:33:56 169

原创 线段树入门~~

 线段树:一:为什么需要线段树?题目一: 10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。 修改:无 统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <= 10000.  方法一:对于统计L,R ,需要求下标从L到R的所有数的和,从L到R的所有下标记做[L..R],问题就是对A[L..R]...

2018-08-21 17:22:16 105

原创 DFS序详解

给定一棵n个节点的树,m次查询,每次查询需要求出某个节点深度为h的所有子节点。对于这个问题如果试图去对每个节点保存所有深度的子节点,在数据大的时候内存会吃不消;或者每次查询的时候去遍历一遍,当数据大的时候,时间效率会非常低。此时如果使用dfs序维护树结构就可以轻松地解决这个问题。作为预处理,首先将将树的所有节点按深度保存起来,每个深度的所有节点用一个线性结构保存,每个深度的节点相对顺序...

2018-08-21 16:05:21 606

原创 数据离散化处理

一、概述数据离散化是一个非常重要的思想。为什么要离散化?当以权值为下标的时候,有时候值太大,存不下。 所以把要离散化的每一个数组里面的数映射到另一个值小一点的数组里面去。打个比方,某个题目告诉你有10^4个数,每个数大小不超过10^10,要你对这些数进行操作,那么肯定不能直接开10^10大小的数组,但是10^4的范围就完全没问题。我们来看一下定义:离散化,把无限空间中有限的个体映射...

2018-08-21 15:22:36 11005 1

原创 HDU~2087~剪花布条

一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。 Outpu...

2018-08-18 20:37:55 128

原创 HDU--1711Number Sequence (KMP)

Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K which make a[K] = b[1], a[K ...

2018-08-18 20:34:15 105

原创 KMP~~算法+HDU1686

KMP算法主要应用于字符串的匹配。对于正常的字符串模式匹配,主串长度为m,子串为n,时间复杂度会到达O(m*n),而如果用KMP算法,复杂度将会减少线型时间O(m+n)。 设主串为ptr="ababaaababaa";,要比较的子串为a=“aab”; KMP算法用到了next数组,然后利用next数组的值来提高匹配速度,我首先讲一下next数组怎么求,之后再讲匹配方式。 ...

2018-08-18 15:48:06 179

原创 Poj~1200 Crazy Search (Hash哈希算法)

Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different subs...

2018-08-17 16:13:24 244

原创 矩阵取数问题dp~51Nod1084+1083

先看第一个比较简单的问题:一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。 1 3 32 1 32 2 1 能够获得的最大价值为:11。Input第1行:N,N为矩阵的大小。(2 <= N <= 500) 第2 - N + 1行:每行N个数,中间...

2018-08-11 15:53:10 181

原创 LIS最长递增子序列(动态规划)

(LIS Longest Increasing Subsequence)给定一个数列,从中删掉任意若干项剩余的序列叫做它的一个子序列,求它的最长的子序列,满足子序列中的元素是单调递增的。例如给定序列{1,6,3,5,4},答案是3,因为{1,3,4}和{1,3,5}就是长度最长的两个单增子序列。处看此题,怎么做? 万能的枚举?枚举全部2^n个子序列,找出最长的,固然可以,就是复杂度太高。我们为...

2018-08-09 21:57:34 108

原创 51~Nod~~编译距离问题(动态规划)

给定两个字符串S和T,对于T我们允许三种操作:(1) 在任意位置添加任意字符(2) 删除存在的任意字符(3) 修改任意字符 问最少操作多少次可以把字符串T变成S? 例如: S=  “ABCF”   T = “DBFG”那么我们可以 (1) 把D改为A(2) 删掉G(3) 加入C所以答案是3。 分析: 这个最少的操作次数,通常被称之为编辑距离。“编辑距...

2018-08-09 19:31:33 167

原创 LCS~~最长公共子序列(动态规划)

A和B的公共子序列中长度最长的(包含元素最多的)叫做A和B的公共子序列。仍然用序列1,3,5,4,2,6,8,7和序列1,4,8,6,7,5它们的最长公共子序列是:1,4,8,71,4,6,7 最长公共子序列的长度是4 。请注意: 最长公共子序列不唯一。我们用Ax表示序列A的连续前x项构成的子序列,即Ax= a1,a2,……ax, By= b1,b2,……by, 我们用...

2018-08-09 16:39:49 184

原创 51nod~矩阵求数问题 ~~动态规划入门

   给定一个m行n列的矩阵,矩阵每个元素是一个正整数,你现在在左上角(第一行第一列),你需要走到右下角(第m行,第n列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分,求最大的得分。   这也只是一个例题输入第1行:N,N为矩阵的大小。(2 <= N <= 500)第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价...

2018-08-09 14:21:31 254

原创 HDU-1285~~确定比赛名次 (拓扑排序)

有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 Input输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;其中...

2018-08-05 10:45:50 96

原创 POJ-2631 ~~Roads in the North

Building and maintaining roads among communities in the far North is an expensive business. With this in mind, the roads are build such that there is only one route from a village to a village that do...

2018-08-05 10:43:31 162

原创 51nod ~~1091(贪心算法)

X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,10201020和12251225的重叠部分为12201220。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。Input第1行:线段的数量N(2 <= N <= 50000)。 第2 - N + 1行:每行2个数,线段的起点和终点。(...

2018-08-02 17:08:12 137

空空如也

空空如也

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

TA关注的人

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