ACM
文章平均质量分 57
rekcaD
正值奋斗的年龄,却想得太多,做得太少
展开
-
最大连续子序列的和
求最大连续子序列的和的方法很多,有的算法复杂度达到n的三次方,而有的额题目可能超时,在这儿,我们用分治法来求该题,所谓分治法,就是将一个大问题,不断的划分为一个小问题,用递归的方法来解题,算法如下: 基本思路:将一个长为n个数的数组,划分为平分,得到两个数组,(1~n/2)和(n/2+1~n)两个数组,此时,有三种情况,第一,最长连续和在(1~n/2)中,第二,在(n/2+1~n原创 2014-04-01 17:26:58 · 694 阅读 · 0 评论 -
前缀表达式的求值
前中后缀表达式的经典求法,值得一看原创 2014-10-05 22:09:15 · 1132 阅读 · 0 评论 -
二叉链表的建立和遍历 完整的前,中,后和层序建立和遍历
前序,中序,后序,和层序建立二叉链表原创 2014-10-07 12:57:51 · 1398 阅读 · 0 评论 -
中缀表达式求值
用栈的数据结构来计算表达式的值,很经典原创 2014-10-05 10:47:15 · 5921 阅读 · 0 评论 -
位运算和关于两个数交换的多种方法
用位运算来交换两个数的值,值得学习原创 2015-03-20 01:28:44 · 14173 阅读 · 4 评论 -
Linux 下目录权限解答疑难
Linux下目录权限的详解对于linux初学者来说,Linux下的权限是比较难理解得知识点了,对于Linux的高级权限SUID,SGID和SBID更加难理解,接下来我就给大家一步一步详细讲解文件权限。一.普通权限(r,w,x)1.对于普通文件来说,如下图 文件需要有执行权限的话,就必须赋予它w权限 文件需要有读权限的话,只需要r权限即可,r权限表示可以读取文件的内容 如果需要有原创 2016-05-14 00:51:07 · 877 阅读 · 0 评论 -
一个数组中,除了有两个数字只出现一次外,其他数字都出现两次,求出这两个出现一次的数字
求出两个只出现一次的数字首先,我们知道两个相同的数字进行异或操作时为0,如果题目里面只有一个数字出现一次的话,我们就可以直接对数组中的所有数字进行异或操作,最后得到的数字就是单独出现的那个数字,但是题目中给的是2个出现一次的数字,那我们尝试可以把这个数组拆分成两个数组,将两个出现一次的数字分到不同的组里面,在进行异或操作<?php$arr=array(1,1,2,2,3,3,4,5,4,5,7原创 2016-08-12 11:17:19 · 2643 阅读 · 1 评论 -
最小生成树
#include using namespace std; struct Graph { int vertex[200]; int arc[200][200]; int vertexNum,arcNum; }; struct Node { int lowcost; int prevertex; }; voi原创 2014-11-22 09:52:12 · 546 阅读 · 0 评论 -
指针数组的输入输出和排序
有时用二维数组不太方便的时候,或者数据较大时,可能会超时,解决的办法就是用指针数组,但在百度,谷歌.......等,对指针数组的输入都没有详细的介绍,今天我就给大家介绍,指针数组的输入和输出,以及注意事项。下面我们以一道国名排序来给大家介绍。 题目:输入一个整数n,n为国家个数,接下来输入n个国家,国家是字符串。要求按字母顺序输出。实现代码://国家排名#include原创 2014-01-09 13:56:30 · 5853 阅读 · 0 评论 -
最长上升子序列的求法
相信大家已经知道了什么叫最长上升子 序列,在这,我不在描述。给你一串数字,比如:1 7 6 5 8 9 4 10 11 求它的最长上升子序列。 解题思路:首先,要求它的最长上升子序列,有n个数,它的上升子序列是以这n个数中任何一个数结尾的,比如上面的,可能是以1,7,6,5,8,9,4,10,11中的每一个结尾的,我们只需要先求从出以每个结尾的上升子序列,然后在再找出这n个子序中最原创 2014-03-28 08:11:38 · 901 阅读 · 1 评论 -
最大连续子序列的和
关于求最大连续子序列的和。代码如下k用来记录当前连续子序列的和,如果小于零,当前子序列的和就为m,即k=m(如果此时m小于0,下面的if(maxsummaxsum=k;,就用于求当前最大连续子序列的最大值),否则,k=k+m,#includeusing namespace std;int main(){int n,m,i,maxsum,k;cin>>n>>m;m原创 2014-03-28 17:21:03 · 689 阅读 · 0 评论 -
快速排序C++实现
快速排序是对冒泡排序的一种改进,冒泡排序一次只能移动一次,而快速排序一次就能将大于轴值的数移动到轴值的后面(升序),减少了移动的次数#include<iostream>using namespace std;int oneSort(int a[],int x,int y); //一次划分函数void qSort(int a[],int,int); //快速排序函数int main(){原创 2016-08-14 15:29:50 · 5676 阅读 · 2 评论 -
八进制小数 大数据精确
#include#includeusing namespace std;int main(){ int i,j,k;string str;while(cin>>str){k=str.size();int a[100]={0};int index=0;for(i=k-1;i>=2;i--){int num=str[i]-'0';for原创 2014-09-25 15:27:47 · 1054 阅读 · 0 评论 -
密码问题 POJ 2818
密码问题,一道比较经典的题目原创 2014-09-22 18:43:40 · 2065 阅读 · 0 评论 -
java 一个简单的程序 夜空中的星
import javax.swing.*;import java.awt.*;public class Main {public static void main(String args[]) {for(int i=0;;i++){jframe frame = new jframe();frame.setDefaultCloseOperation(JFrame.原创 2014-08-15 07:59:28 · 797 阅读 · 1 评论 -
用递归求汉诺塔
用递归求汉诺塔, #include#include#includeint i=0,k;void func(int n,char A,char B,char C);int main(){ int n; scanf("%d",&n); k=n; func(n,'A','B','C'); k=pow(2,n)-1; printf("%d\n",k); return原创 2014-04-05 23:40:10 · 1071 阅读 · 0 评论 -
int *const p,const int *p和int const *p的区别
在学习c语言的过程中,可能我们很少见到原创 2014-04-25 20:47:55 · 12661 阅读 · 2 评论 -
彻底征服<<指针数组和指向数组的指针>>
以前我也看了很多有关指针数组和指向数组的指针,原创 2014-04-11 00:29:05 · 602 阅读 · 0 评论 -
指针函数和函数指针的区别
其实,在学习c/c++中,都会遇到什么函数指针,原创 2014-04-12 12:58:16 · 690 阅读 · 0 评论 -
数字三角形算法
数字三角形算法原创 2014-06-24 00:14:29 · 3259 阅读 · 0 评论 -
大数相加,分别用C++和Java实现
大家在A题的时候,大数相加shi原创 2014-06-26 11:40:00 · 759 阅读 · 0 评论 -
学生成绩排名系统
//文件读取需要自己在电脑中添加相应的文件名称#include#include#include#include#includeusing namespace std;void showmeanu();void add(struct student *a,int *n); //添加函数void del(struct student *原创 2014-04-01 22:42:37 · 2193 阅读 · 0 评论 -
数组排序 链表
/*主要思路;用一个链表存储数组信息,然后依次找出这个链表中最小的数字,然后插入到另外一个链表中,并删除原来链表中最小数字这个节点,一共循环n次,然后另外一个链表中的数字就是排序好的数组,依次输出即可;*/#includeusing namespace std;#includeclass Node /原创 2014-07-20 17:16:04 · 1537 阅读 · 0 评论 -
双链表的简单应用
/*当对单链表理解后,对双链表就好理解多了,单链表就是只有在结构体或者类中只有一个指针用来存储下一个节点的地址,双链表就是在里面有两个指针,一个用来存储上一个节点的地址,一个用来存储下一个节点的地址。这样的链表就叫双链表。*/#includeusing namespace std;struct Node{ int a; Node *prior,*next;原创 2014-07-21 15:37:17 · 1338 阅读 · 0 评论 -
大数亲和数对的求法 友元数对
文章写得很详细,内容丰富原创 2014-09-10 00:04:08 · 1335 阅读 · 0 评论 -
堆排序C++实现
满二叉树:所有分支节点多有左右孩子,而且所有叶子节点都在同一层的二叉树称为满二叉树完全二叉树:对一棵二叉树按层序编号,编号为i(1<=i<=n)的节点与同样深度的满二叉树中编号为i的节点在二叉树中的位置完全相同,这个二叉树就称为完全二叉树堆:每个节点都小于或等于(大于等于)左右孩子的完全二叉树堆排序步骤 把初始数组调整成一个堆 将堆顶元素和数组的最后一个元素交换位置,此时的最后一个元素原创 2016-08-14 19:14:10 · 872 阅读 · 0 评论