- 博客(41)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 高清免费免抠设计元素网站
额,做了好长时间的素材和图,感觉这个网站(51元素)是最好的了。其他的网站要不收费,要不太差了。这是个高清免费免抠设计元素网站:http://www.51yuansu.com/?z=rllumioof登录可以免费领终身vip...
2018-03-03 17:22:27
1418
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 sscanf与sprintf函数的使用实例(C / C++)
函数介绍sscanf() - 从一个字符串中读进与指定格式相符的数据。我们平时使用的 scanf()是从键盘读进与指定格式相符的数据。函数原型int sscanf ( const char * , const char * , ... );int sscanf ( const char * buffer , const char * fo
2016-08-07 11:17:05
528
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 求解单源最短路径:Dijkstara算法典型示例
求解单源最短路径:Dijkstara算法典型示例(PAT甲级1087)一、问题描述dijkstara是解决单源最短路径的典型算法。即给你 G = (图:顶点与边集),让你求解某点到其他点的最短距离。一般来说,我们看到的示例程序是指输出最小距离。本典型示例中所要输出的比较全面,假设到达每个点可以获得x价值的东西。这个程序我们可以求出:最短距离、满足短距离有多少种走的方法、可以得到的最大
2016-07-22 21:21:26
1826
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深度优先搜索
深度优先搜索(Deepth First Search)一、概念解释 什么是深度优先搜索?顾名思义,就是不到最深处,誓不罢休的意思。我们可以联想到钻矿洞,找宝藏之类的东西。呐、我们来看看这个图,它叙述的是一个人在地下寻找宝藏的过程: 从入口开始进去,红点是宝藏。如果是你,你会走什么样的路线来找到所有的宝藏呢? 不管你们怎
2016-06-05 08:33:57
795
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 最小生成树的Prim算法
最小生成树的Prim算法一、基本思想 取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w。在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并且该边的权值在所有连通顶点 v 和 w 之间的边中取值最小。之后继续往生成树上添加顶点,直至生成树上含有n-1 个顶点为止。 一般情况下所添加的顶点应满足下列条件:
2016-05-10 08:21:13
977
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 稀疏矩阵的普通转置与快速转置算法
稀疏矩阵的普通转置与快速转置算法一般来说,对于系数矩阵,我们使用三元组来存储。即就是将矩阵的所有非零元素的三元组存放在一个顺序表中,如图所示:注意一个转置的前提:该顺序表是排好序的,即行优先,列其次。一、普通转置这种算法比较简单,也很容易想到: 算法思想: 对M.data从头至尾扫描: «第
2016-05-09 17:49:24
25808
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 选择排序算法(排序详解)
直接插入排序(Selection Sort)算法1.基本思想: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3
2016-05-09 12:14:38
887
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 八皇后&N皇后问题(回溯,位处理)
N皇后问题 在N*N的棋盘上放置N个皇后,使得他们不会相互攻击(每个皇后的攻击范围为同行同列和同对角线),要求找出所有解,如图所示: 解的个数: 这个问题是比较经典的问题,也是学习计算机专业一定要掌握
2016-04-24 13:52:10
1008
原创 Fabric-sdk-java源码maven项目环境搭建(import报错解决方案)
如果导入时,有弹框报错:Failed to read the project description file (.project) for 'fabric-sdk-java-master'. The file has been changed on disk, and it now contains invalid information. The project will not func...
2018-07-27 16:27:44
780
原创 Uva 10815 c++ stl 之set 输入流
题意输入一个文本,找出所有不同的单词,按照字典序输出,单词不分大小写,单词数目解题思路我们可以清晰地看到两个条件:1.按照字典序输出;2.单词不同。因此我们很容易想到使用set来求解,set容器保证所有的元素都不同,并且可以实现自动排序。根据测试样例,我们使用输入流的方式更为简单,每次读取一个字符串,通过isalpha()函数判断每个字符是否为字母,再通过tolowe()函数使所有
2016-08-19 09:50:42
625
转载 c++中pow/sqrt需要小心的细节
在做HDOJ2045不容易系列之(3)—— LELE的RPG难题的时候,发现规律为 F(n)+F(n-1)=3*2^(n-1),原本代码如下 #include #include _int64 a[51]={0}; void set() { a[1]=3; a[2]=6; for
2016-08-03 15:21:48
1122
转载 树状数组
最近在学习位运算,正好把树状数组总结下,也算是能正式给data structure 建个分类。那么,树状数组到底有什么用呢?诚然,一样没什么卵用的东西我们学它干嘛。下面举个树状数组的经典应用:区间求和。假设我们有如下数组(数组元素从 index=1 开始): var a = [X, 1, 2, 3, 4, 5, 6, 7, 8, 9];我们设定两种操作,mo
2016-08-02 20:48:54
377
原创 已知先序、中序求后序;已知中序、后序求先序(C++)
先序中序后序的相互求解问题一、问题描述我们知道,二叉树有三种深度优先遍历方法:先序中序以及后序,那么,如何已知其中两种遍历序列,求解第三种遍历序列呢。其实也没大家想得那么美好哈,已知先序、中序可以确定后序,已知中序,后序可以确定先序,但是已知先序和后序是不能确定中序的。究其原因,其实很简单,因为中序可以确定根节点的左孩子是哪块,右孩子是哪块,就是可以确定父子关系嘛。但是如果知道先序
2016-07-20 22:11:01
9923
3
原创 1064. Complete Binary Search Tree (30)
1064. Complete Binary Search Tree (30)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes w
2016-06-21 10:47:08
946
转载 C++中Sort函数的用法
sort函数的用法做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序
2016-05-26 11:09:57
775
原创 Codeforces Round #353 (Div. 2) C. Money Transfers(数学题)
K - Money TransfersTime Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uDescriptionThere are n banks in the city where Vasya lives, they are located in a circle, su
2016-05-25 12:08:40
376
转载 C++ map,set内部数据结构
C++ map,set内部数据结构 1)Set是一种关联容器,它用于存储数据,并且能从一个数据集合中取出数据。它的每个元素的值必须唯一,而且系统会根据该值来自动将数据排序。每个元素的值不能直接被改变。【重点】内部结构采用红黑树的平衡二叉树。multiset 跟set 类似,唯一的区别是允许键值重复!!!如: 为何map和set的插入删除效率比用其他序列容器高? 为何每
2016-05-25 12:06:06
524
原创 最大子序列和问题(动态规划)
最大子序列和问题(动态规划)1.问题详解 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。2.解决办法 这一类题目我们通常采用动
2016-05-24 09:17:56
2671
2
原创 基数排序算法(排序详解)
基数排序 基本思想基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或binsort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其
2016-05-18 21:47:21
12075
6
原创 归并排序算法(排序详解)
归并排序基本思想归并排序的核心是将两个有序序列合并为一个有序序列。因此将两个有序序列合并成一个有序序列是归并排序的基础算法。归并排序主要分为递归归并排序与迭代归并排序:递归归并排序即将无序的序列S[s:t]分成两个部分:S[s:m]和S[m+1:t],m=(s+t)/2。迭代归并排序即将初始长度为n的数组看成n个长度为1的有序子表,然后将相邻的有序子表两两合并,得到[n/2]个长度
2016-05-18 21:24:06
813
原创 快速排序算法(排序详解)
快速排序 基本思想快速排序又成为分区交换排序,是目前已知的实测平均速度最快的一种排序方法,它是对冒泡排序方法的一种改进。其基本思想是:通过一趟划分将要排序的序列分割成独立的三个部分,即左部、基准值、右部。其中左部的所有数据都比基准值小,右部的所有数据都比基准值大。然后再按此方法分别对左部和右部进行划分,整个排序过程通过递归进行。操作方法 操作流程图:操作步骤:(
2016-05-18 21:19:05
1046
原创 堆排序算法(排序详解)
堆排序 基本思想堆的概念堆是一棵顺序存储的完全二叉树。小顶堆:每个结点的关键字都不大于其孩子结点的关键字。大顶堆:每个结点的关键字都不小于其孩子结点的关键字。举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆:(1)Ri (2)Ri >= R2i+1 且 Ri >= R2i+2 (大根堆)其中i=1,2,…,n/
2016-05-18 21:16:17
1088
原创 希尔排序算法(排序详解)
希尔排序 基本思想希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。我们分割待排序记录的目的
2016-05-18 21:12:13
78429
6
原创 冒泡排序算法(排序详解)
冒泡排序算法思想 共n-1趟,从0开始,第i趟即到n-i-1位置,每次从头往后往后遍历,两两比较,把大的数往后推,最后每次都把最大的推到最后。原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |第一趟排序(外循环)第一次两两比较6 > 2交换(内循环)交换前状态| 6 | 2 | 4 | 1 | 5 | 9 |交换后状态| 2 |
2016-05-09 20:04:00
787
转载 KMP模式匹配算法
KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S 的下
2016-05-09 19:49:24
2268
1
转载 ACM培训计划与相关书籍
ACM培训计划与相关书籍书籍入门三本《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材)程序设计导引及在线实践 作者: 李文新ACM程序设计培训教程 吴昊 基础提高算法艺术与信息学竞赛第二版 刘汝佳算法设计与分析 王晓东算法设计与试验题解王晓东科曼:《算法导论》组合数学第三版 冯舜玺 译计算几何-算法设计与分析周培德国
2016-05-09 19:19:43
1179
原创 插入排序算法(排序详解)
直接插入排序(Insertion Sort)算法1.基本思想: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。待排序记录 R1,R2,… ,Rn–1, Rn,操作顺序如下: 第一步:R1 {第一个
2016-05-03 21:51:28
521
原创 河海大学常州校区第三届H-star程序设计大赛决赛
问题 A: Transformations时间限制: 1 Sec 内存限制: 128 MB提交: 30 解决: 4[提交][状态][讨论版] [Edit] [TestData]题目描述A square pattern of size N x N (1 <= N <= 10) black and white square tiles is transformed
2016-04-23 08:24:03
1494
3
原创 最大连续子序列和
最大连续和问题:1、采用三重循环,算法复杂度为O(n^3)tot=0;best=A[1];for(int i=1;ifor(int j=i;jint sum=0;for(int k=i;k{sum+=A[k];tot++;}if(sum>best)best=sum;}2、采用双重循环,算法复杂度为O(n^2)S[0]=0;
2016-04-21 17:09:54
341
原创 HDU 1372 Knight Moves (BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1372简单的BFS。即给定马的起点和终点(走的方式和象棋一样),求最短的路径。关键是要弄清楚马的行进方向的顺序,即从右上第一个顺时针过来。代码:#include #include #include #include using namespace std;int sx,sy,e
2016-04-21 10:12:07
389
原创 C++ STL Vector 学习报告
Vector1.头文件#include 2.函数列表构造函数vector(); 构造一个空的vector vector(size_type num, const TYPE &val); 构造一个初始放入num个值为val的元素的Vector vector(const vector &from); 构造一个与vector from相同
2016-04-20 21:47:54
450
原创 C++ STL Set 学习报告
Set一、set简介C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找
2016-04-20 21:46:59
371
原创 C++ STL Map 学习报告
Map一、map简介map是一类关联式容器,它是模板类。关联的本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置类获取。它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什么影响。对于迭代器来说,不可以修改键值,只能修改其对应的实值。 二、map功能1. 自动建立Key- value的对应。key和 value可以是任意你需
2016-04-20 21:45:04
412
原创 C++ 简易的五子棋游戏 初学者
游戏界面:这是一个简易的五子棋游戏,由c语言编写,每次循环输入两个位置的坐标,通过其奇偶性判断是黑子还是白子,之后再判断是否可以满足胜利的条件,可以的话输出**胜,接着进行下一步的操作。同时,每次进行操作会在数组里记录下来位置,这样每次刷新屏幕时就可以显示正常的棋子位置情况,如果游戏结束,则将数组更新,实现重新开始的功能。下面是代码:#include #inclu
2016-04-20 19:04:50
5293
原创 24点
做的方法有点low,还是通过列举的方式求出全部的输出样式。#include #include #include using namespace std;int calcu(int x, int y, int z, int w);int jud, flag;int main(){ int a[4]; printf("少侠!请输入4个数~\n
2016-04-20 19:02:04
490
原创 poj 2531 Network Saboteur(DFS,题意)
DescriptionA university network is composed of N computers. System administrators gathered information on the traffic between nodes, and carefully divided the network into two subnetworks in order t
2016-04-20 18:58:20
545
原创 poj 3414 Pots(Bfs)
PotsDescriptionYou are given two pots, having the volume of A and B liters respectively. The following operations can be performed:FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap;DR
2016-04-20 18:56:12
349
原创 POJ 3087 Shuffle'm Up(DFS 循环)
Shuffle'm UpDescriptionA common pastime for poker players at a poker table is to shuffle stacks of chips. Shuffling chips is performed by starting with two stacks of poker chips,S1 and S2, e
2016-04-20 18:53:42
408
原创 POJ 3126 Prime Path
Prime Path Prime PathTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 14926 Accepted: 8404DescriptionThe ministers of the cabinet were quite upset by t
2016-04-20 18:51:04
344
原创 POJ 1426 Find The Mutiple
Find The Mutiple Find The MultipleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 22958 Accepted: 9457 Special JudgeDescriptionGiven a positive in
2016-04-20 18:49:10
319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人