自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1030 完美数列(25)

给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(<= 10^5^)是输入的正整数的个数,p(<= 10^9^)是给定的参数。第二行给出N个正整数,每个数不超过10^9^。输出...

2018-08-04 12:28:43 612

原创 java集合架构 图HashMap

Map接口建立元素和键的映射关系。键就像下标,在List中,下标就是整数;而在Map中,键可以是任意类型的对象。图中不能有重复的键,每个键对应一个值。对于定位一个值,插入一个映射或删除一个映射,HashMap类的效率是很高的。LinkedHashMap类是在JDK1.4中引入的,它用链表实现的扩展HashMap类,它支持图中元素的排序。在HashMap 类中元素是没有顺序的,但是在Link

2018-02-12 15:11:14 393

原创 java集合架构 队列Queue和优先队列PriorityQueue

JDK1.5引入Queue接口,它用附加的插入,提取和检验操作扩展java.util.Collection。package 集合架构;// 队列public class TestQueue { public static void main(String[] args){ java.util.Queue queue = new java.util.LinkedList(); //

2018-02-12 14:04:11 294

原创 Java集合架构 链式散列集LinkedHashSet

package 集合架构;import java.util.*;//链式散列集LinkedHashSetpublic class TextLinkedHashSet { public static void main(String[] args){ //Create a hash set Set<String> set = new LinkedHashSet<S...

2018-02-11 20:38:03 298

原创 Java集合架构 TreeSet

package 集合架构;import java.util.*;//树形集public class TestTreeSet { public static void main(String[] args){ //Create a Hash Set Set<String> set = new HashSet<String>(); //Add st...

2018-02-11 20:36:44 158

原创 Java集合架构 散列表HashSet

package 集合架构;import java.util.*;//散列集HashSetpublic class TestHashSet { public static void main(String[] args){ // Create a hash set Set<String> set = new HashSet<String>(); //...

2018-02-11 20:36:02 191

原创 Java集合架构 线性表

package 集合架构;import java.util.*;//线性表:规划集只能存储不重复的元素,为了允许在一个集合中存储重复的元素,可以使用线性表//ArrayList类和LinkedList类是实现List接口的两个类。ArrarList将元素储存在一个动态创建的数组中,LinkedList将元素储存在链表中。public class TestArrayAndLinkedLis...

2018-02-11 20:35:08 360

原创 C++ sort函数

C++的sort函数是一很方便的排序方法,如果你经常使用低效的选择和冒泡排序,其他的什么快速排序,归并排序等等又懒的使用。那么这个可以sort再适合你不过了。而且sort函数是类似于快速排序的方法,效率很高,时间复杂度为O(n)=nlog2(n)。原理是什么这里不说,先告诉你怎么用。    sort函数的头文件在#include<algorithm>的C++标准库中。    sort函...

2018-02-10 23:49:24 698

原创 java重定义继承方式

public class Father { int a=100; //Father类属性a public void miner(){ //Father类方法 a--; } public static void main(String[] args){ Father f=new Father(); Son s=new...

2018-02-10 23:48:45 1728

原创 java方法重定义与多态

       重定义的目的在于让子类修改或者重写继承来自父类的方法。重定义的做法是:在子类中定义一个功能不同的方法(即方法体不同),但是方法的接口(即方法的声明)与父类中的某一方法完全相同。需要注意的几点是:1)返回类型必须与父类的方法完全相同,2)访问控制必须必父类方法更公开,3)只能抛出那些父类方法声明抛出的异常。例如:class Employee { String name; int s...

2018-02-10 23:48:33 1405 1

转载 JavaScript数组操作函数方法详解

1、concat() 连接两个或更多的数组该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。例如:1 <script type="text/javascript">2 var arr = [1, 2, 3];3 var arr1 = [11, 22, 33];4 document.write(arr.concat(4, 5, a...

2018-02-10 23:48:03 173

原创 Java中的final关键字

Java中的final关键字意思是“最终的”,“无法改变的”。值得提的是:final类不能被继承,它没有子类     final类中的方法默认是final的                     final方法不能被子类重定义,但是可以被继承                     final变量只能一次赋值,往后不可更改                     final不能用来修饰构造方法主...

2018-02-10 23:47:34 156

转载 (总结)Swing组件的使用---文本框(JTextField)与文本区(JTextArea)

一:JTextField的(文本框)使用: JTextField 是一个轻量级组件,它允许编辑单行文本。1.JTextField的常用构造方法:  JTextField() 构造一个新的 TextField。 JTextField(int columns) 构造一个具有指定列数的新的空 TextField。  JTextField(String te

2017-12-23 00:09:03 12597

原创 1012. 数字分类 (20)

1012. 数字分类 (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的

2017-12-08 16:42:25 130

原创 1021. 个位数统计 (15)

1021. 个位数统计 (15)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0i<=9, i=

2017-12-07 10:28:51 243

原创 1017. A除以B (20)

1017. A除以B (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A =

2017-12-06 16:39:45 120

原创 1019. 数字黑洞 (20)

1019. 数字黑洞 (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字

2017-12-05 11:15:55 187

原创 1016. 部分A+B (15)

1016. 部分A+B (15)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767

2017-12-01 14:34:48 135

原创 1018. 锤子剪刀布 (20)

1018. 锤子剪刀布 (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,

2017-11-29 17:33:47 118

原创 1010. 一元多项式求导 (25)

1010. 一元多项式求导 (25)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值

2017-11-28 13:05:16 120

原创 1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……

2017-11-24 13:03:41 152

原创 1006. 换个格式输出整数 (15)

1006. 换个格式输出整数 (15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(输入格式:

2017-11-22 22:56:02 108

原创 1004. 成绩排名 (20)

1004. 成绩排名 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包

2017-11-21 16:39:48 103

原创 1002. 写出这个数 (20)

1002. 写出这个数 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个

2017-11-19 16:06:54 110

原创 布线问题 队列式分支算法

印刷电路板将布线区域划分成n*m个方格阵列。精确的电路布线问题要求确定链接方格a到方格b的最短布线方案。在布线时,电路只能沿直线或者直角布线。为了避免线路相交,已布了线的方格做了封锁标记(红色方格),其他线路不允许穿过被封锁的方格。下面讨论用队列式分支界限法来解决布线问题。布线问题的解空间是一个图。解此问题的队列式分支界限法从起始位置a开始将它作为第一个扩展

2017-07-17 14:47:22 2528 2

原创 单元最短路径问题 分支界限法

分支界限法类似于回溯法,也是在问题的解空间上搜索问题解的算法。回溯法以深度优先的方式搜索解空间,而分支界限法则以广度优先(队列式分支界限法)或者以最小消耗的方式(优先队列式分支界限法)搜索解空间。队列式分支界限法:队列式分支界限法将活结点表组织成一个队列,并按照队列的先进先出原则选取下一个结点为当前扩展结点。而且队列式分支界限法不搜索以不可行结点为根的子树。优先队列式分支界限法:优先队列式

2017-07-16 21:23:46 3532

原创 八皇后 拉斯维加斯算法

拉斯维加斯算法的一个显著特征就是它所做的随机性决策有可能导致算法找不到所需的解。因此常用一个bool型函数表示拉斯维加斯算法。找到解就返回true,否则返回false。n后问题典型的有回溯法(n后问题这里不多说),但是也是拉斯维加斯算法的一个很好的例子。(这里用八皇后实例,n后都是可行的)拉斯维加斯算法的思想如下:在棋盘上相继的各行中随机地放置皇后,并注意放置的合法性,直至n个皇后都相容的

2017-07-14 14:39:18 4094

原创 稀疏矩阵

稀疏矩阵如果在矩阵中,多数的元素并没有资料,称此矩阵为稀疏矩阵,由于矩阵在程序中常用二维矩阵表示,二维阵列的大小与使用的记忆体空间成正比,如果多数的元素没有资料,则会造成记忆空间的浪费。为此,必须设计稀疏矩阵的阵列存储方式,利用较少的记忆空间储存完整的矩阵资料。介绍:整列只储存矩阵的行数,列数与有资料的索引位置及其值,在需要使用矩阵资料时,再透过程式      运算加以还原,例

2017-07-13 17:26:24 440

原创 随机数模拟抛硬币实验

在现实计算机上无法产生真正的随机数,因此在随机化算法中使用的随机数都是一定程度上随机的,即伪随机数。线性同余法是产生伪随机数最常用的方法(这里不介绍)。下面用计算机产生大的伪随机数来模拟抛硬币试验。假设抛10次硬币,每次抛硬币得到正面和反面是随机的。抛10次硬币构成一个事件。调用Random(2)返回一个二值结果。返回0表示抛硬币得到反面,返回1表示得到正面。下面的算法TossCoin

2017-07-12 14:19:37 10551

原创 乱数配合面积求π

#include#include#include#define N 50000int main(){ int i,sum=0; double x,y; srand(time(NULL)); for(i=1;i<N;i++){ x=(double) rand()/RAND_MAX; y=(double) rand()/RAND_MAX; if((x*x+y*y)<1)

2017-07-12 12:57:27 166

原创 活动安排(贪心算法)

贪心算法总是做出在当前看来是最好的选择。但贪心算法并不从整体最优加以考虑,它所做出的选择只是在某种意义上的局部最优选择。但其最终结果能达到预期目的,或者是最优解的近似解。活动安排是贪心算法的一个很好的例子:设有n个活动的集合E={1,2,3.....,n},其中每个活动都要求使用同一资源(一个时间段只能安排一个活动)。每个活动都有一个起始时间Si和一个结束时间Fi。如果选择了活动i,则它在半开

2017-07-07 12:48:10 5500

原创 最大子段和问题的分治算法和动态规划算法

如果将所给的序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有三种情形:1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同;2)a[1:n]的最大子段和与a[n/2:n]的最大子段和相同;3)a[1:n]的最大子段和为Σ(k=i~j)ak,且1(1)(2)可递归求得。对于(3),容易看出a[n/

2017-07-04 14:52:01 3493

原创 整数划分(递归)

将正整数n表示成一系列正整数之和n=n1+n2+......+nk例如对于正整数6: 6;5+1;4+2;4+1+1;3+3;3+2+1;3+1+1+1;2+2+2;2+2+1+1;2+1+1+1+1;1+1+1+1+1+1+1;所以对于正整数6有P(6)=11中划分在正整数n的所有不同划分中,将最大加数n1不大于m的划分个数记作q(n,m)。有

2017-06-30 12:43:40 738

原创 递归排列(低效)

#includeusing namespace std;void Swap(char &a,char &b){ char temp; temp=a; a=b; b=temp;}void Perm(char list[],int k,int m){ int i; if(k==m) //只剩下一个元素 { for(i=0;i<=m;i++) cout<

2017-06-30 12:22:30 133

原创 八枚银币算法

说明现在有八枚银币,已知其中一枚是假币,其重量不用于真币, 但不知道是较轻还是较重,如何使用天平以最少的比较次数,决定 出哪枚是假币,并得知假币是较轻还是较重。#include #include #include void finallycompare(int coins[], int i, int j, int k){ if(coins[i]>coins[k

2017-06-30 12:20:43 734 1

原创 普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法

图是一种基础又重要的数据结构,图的生成树是图的一个极小连通子图。最小生成树是无向连通网的所有生成树中边的权值之和最小的一棵生成树。求图的最小生成树可以牵引出很多经典的题目,例如在N个城市之间建立通讯网络,问怎样最省经费(不同城市之间的联系网的费用不同,也即是边上的权值不同)。求图的最小生成树有两种算法,普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法。下面是我对他们的简化理解。(只对K

2017-01-25 11:54:04 4684 1

原创 回文字符串ACM问题

回文字符串时间限制:3000 ms  |  内存限制:65535 KB难度:4描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。输入第一行给出整数N(0

2017-01-16 19:15:26 1835

原创 动态规划求最长公共子序列LCS

现在有两串字符串str1和str2,要求它们的最长公共子序列。首先要说的是,子序列的各字符可以是在原来的母串中分开的,但是前后是有序的,而子串的各字符则必须是在母串中连续挨着的。子串和子序列不要搞混。        要求它们的最长公共子序列,如果刚学习算法,那初学者肯定会想到一种很简单暴力的方法,就是先从str2中拆出若干个子序列,再将它们检查是否是str1的子序列,再选出最长的那个。

2017-01-15 18:53:12 379 1

原创 吝啬的国度(超内存,未完成)

首先!这是个失败的小程序,程序没错,可以达到预期目的。但是,时间,内存都超出了要求。懒,以后有时间我会改进的。吝啬的国度时间限制:1000 ms  |  内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必

2016-12-23 20:14:41 233

转载 串匹配 KMP

1. 前言  字符串匹配是一个经典算法问题,展开来讲各类问题多达几十种,有名称的算法也不下三十种,所以需要深入学习的东西有很多。这次我们来探讨一个最简单的问题,假设现在随机输入一个长度为m的主串T,另外输入一个长度为n(n≤m)的字符串P,我们来判断字符串P是否是主串T的一个子串(即能否从T中随机取出与P同长的一段字符串,与P完全匹配)。2. 蛮力匹配法  问题很简单,当然

2016-12-04 22:39:03 220

空空如也

空空如也

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

TA关注的人

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