- 博客(61)
- 收藏
- 关注
原创 java IDE
目前下载了myeclipse,以之为例:其自带JDK,但我在其中设置了自己的JDK先建一个java project,为socure folder,相当于一个文件夹,里面建个package(若只有一个源文件,或者每个源文件均独立,可以不建包,直接建class),package里新建class,此处的class代表的不是.class类型的机器码,而是指.java类型的源代码,命名用带main入
2016-08-31 23:16:56 506
原创 HDU 2082 找单词 母函数问题
Problem Description假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值 Input输入首先是一个整数N,代表测试实例的个数。 然后包括N行数据,每行包括26个 Output对于每
2016-08-31 17:20:25 528
原创 HDU 2078
Problem Description为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑。xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的平方,而复习第一门课的效率为100和这门课的难度差的平方。xhd这学期选了n门课,但是一晚上他最多只能复习m门课,请问他一晚上复习的最高效率值是多少? Inpu
2016-08-31 16:02:14 583
原创 HDU 2047 阿牛的EOF牛肉串
今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" "O" "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现
2016-08-31 15:42:58 375
原创 java简介
java三平台:java SE,java EE,java ME,java SE为入门java SE中有JDK(java开发工具包),可以单独安装JDK,JDK中有:1,java开发工具,位于bin子目录,例如编译器javac.exe和解释器java.exe2,java运行环境,位于jre子目录,如java虚拟机(JRE),类库 JRE可以单独下载使用3,附加库 位于lib
2016-08-31 14:25:59 371
原创 java JDK环境变量设置
安装完JDK后,要进行环境变量配置才能使之在系统中(尤其是命令行窗口中)处处可用工具/原料JDK 1.6 /1.7/1.8均可下面是号称最稳定的JDK 1.6百度网盘下载http://pan.baidu.com/s/1qWJjlRA方法/步骤1首先确定我的是win10
2016-08-31 13:49:10 924
原创 算法复杂度分析
算法分析的四个渐进表示法:O、o、Θ、Ω一般,O里的,取最小的一般,Ω里的,取最大的一般分析时间复杂度,且常考虑最坏复杂度,常用O分析:三法则:法则一:如果T1(N)=O(f(N)),T2(N0=O(g(N))T1(N)+T2(N)=max(O(f(N)),O(g(N)))T1(N)*T2(N)=O(f(N))*O(g(N))法则二:
2016-08-31 13:17:03 499
原创 递归基本法则
一,基准情形无需递归就可解出,即递归出口二,不断推进用递归求解的情形要不断向基准情形推进三,设计法则假设所有的递归调用都能成功四,合成效益法则在解决一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作
2016-08-31 12:41:54 488
原创 一只小蜜蜂 HDU2044 递推
Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能
2016-08-19 19:21:15 6416
原创 杨辉三角 HDU2032
F - 杨辉三角Crawling in process...Crawling failedTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmitStatus Practice HDU 2032 uDebugDescripti
2016-08-19 10:58:19 502
原创 进制转换 HDU2031
//进制转换,如果进制大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。#include #include char dight[17]="0123456789ABCDEF";char result[32];//结果int top;void trans(int number,int r){ int flag=1; if(number<0){
2016-08-19 09:36:14 420
原创 汉字统计 HDU2030
#include #include //西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。//那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高位都为1。//例如:汉字“啊”的汉字机内码为B0A1H//表示成双字节是这样的10110000 10100001int main(){ char ch; int
2016-08-19 09:02:14 467
原创 汉字存储
西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高位都为1。例如:汉字“啊”的汉字机内码为B0A1H表示成双字节是这样的10110000 10100001
2016-08-19 09:00:42 1181
原创 geometry
问题描述在平面直角坐标系上有一个点P, 他的坐标是(x, y). 有一条直线y = kx + b经过了P, 且分别交x, y正半轴于A, B求|PA| * |PB|的最小值.输入描述第一行一个T, 表示数据组数.接下来T行每行两个正整数x,y 表示P的坐标.输出描述T行,每行一个数字,表示每组数据的答案输入样例12 1输出样例4题解的方法很巧妙,
2016-08-18 23:53:50 684
转载 母牛的故事(递归或迭代实现)
D - 母牛的故事Crawling in process...Crawling failedTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmitStatus Practice HDU 2018 uDebugDescript
2016-08-18 22:21:13 7929
转载 棋盘覆盖(分治典例)
问题描述在一个2^k×2^k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。解题思路分析:当k>0时,将2k×2k棋盘分割为4个2^k-1×2^k-1 子棋盘(a)所示。特殊方格必位于4个较小
2016-08-18 21:17:44 1076
原创 最大子段和(分治与动态规划典例)
最大子段和 问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2
2016-08-18 20:16:58 13888
原创 芯片测试及其应用(分治典例)
问题叙述: VLSI芯片测试 Diogenes教授有n个被认为是完全相同的VLSI芯片,原则上它们是可以互相测试的。教授的测试装置一次可测二片,当该装置中放有两片芯片 时,每一片就对另一片作测试并报告其好坏。一个好的芯片总是能够报告另一片的好坏,但一个坏的芯片的结果是不可靠的。这样,每次测试的四种可能结果如下: A芯片报告 B芯片报告 结论
2016-08-18 18:31:12 6104 1
原创 C语言常用库函数
tolower() 把英文字母转换成小写,非字母字符不做出处理 ctype.h中toupper() 把英文字母转换成大写,非字母字符不做出处理 ctype.h中memset() 原型:void *memset(void *s, int ch, size_t n) 将s所指向的某一块内存中的前n个 字节(每个字节每个字节的赋)的内容全部设置为ch指定的ASCII值
2016-08-18 00:43:58 1276
原创 名人效应(空间优化)
名人:所有人都认识名人,名人不认识其他任何人//由题目可判断出,名人最多只有一个,反证:若存在两个名人,则不符合法一:穷举 O(n^2)法二:O(n) 空间:O(n)思路:若A认识B,那么A一定不是名人代码:int findstar(){ for(int i=0;i<n;i++)//n为人数 a[i]=i; while(n>1
2016-08-17 22:43:16 586
原创 递推
递推:找规律,避免重复计算(基于分治思维,大问题分解为小问题,再整合)递推 递推算法是一种用若干步可重复运算来描述复杂问题的方法.中文名递推外文名The Algorithm of Recursive 目录1 基本介绍2 递推算法基
2016-08-17 20:51:13 767
原创 求一个整数对应的二进制中的1的个数(位操作)
法一:#include #include int main(){ int number; int count=0; scanf("%d",&number); while(number){ if(number%2==1) count++; number/=2; } printf("%d\n"
2016-08-17 10:59:21 648
原创 分治
/*分治:大问题~分解——>小问题~合并——>大问题(通常小问题和大问题是一样的问题)如:递推快排归并排序.......*/把问题分到赫然知道答案的那里,到最小的规模后,不用再考虑复杂程度分治法 分治法可以通俗的解释为:把一片领土分解,分解为若干块小部分,然后一块块地占领征服,被分解的可以是不同的政治派别或是其他什么,然后让他们彼
2016-08-17 10:37:24 565
原创 插入排序 二分查找插入排序
#include #include #define MAXN 100void insertsort(int array[],int top)//top为界限{ for(int i=1;i<=top;i++){ int left=0; int right=i-1; int temp=array[i]; while(rig
2016-08-17 10:14:48 540
原创 插入排序之 直接插入 法二
//对一整个数组排序#include #include #define MAXN 100void insertsort(int array[],int top)//top为数组末尾{ int temp; int location;//当前位置,判断其前一位移不移动到当前位置 for(int i=0;i<=top;i++){ temp=array[i
2016-08-16 23:04:46 337
原创 插入排序之直接插入(法一)
//根据给定开始排序位置排序#include #include #define MAXN 100//核心void insertsort(int array[],int first,int last)//first前为有序部分,first为第一个无序部分,last为数组界限{ int temp; int location;//当前判断后不后移的位置 for(int
2016-08-16 22:23:46 506
原创 求...999+....+99+9(用数组存储运算结果)
/*求:......999999999999(n位).................. 99999999999 9999999999 999999999 99999999 999999 99999 9999 999
2016-08-13 17:58:26 1903
原创 Max Factor(素数筛法+把一个数进行素数分解) HDU2710
/*DescriptionTo improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) cows with a distinct serial number in the range 1..20,000. Unfortunately, he is unaware that t
2016-08-12 23:47:08 987
原创 Key Set(快速幂+数学分析) HDU5363
/*题意:给你一个元素为1到n的集合,让你求有多少个非空子集,子集内的元素之和为偶数。由于结果比较大,所以要用到快速幂取模。*///由数学分析:无论n为奇数还是偶数//结果为2^(n-1)-1#include #include int main(){ int time; int number; long long pow; long long
2016-08-12 20:18:38 523
原创 Rightmost Dight(知识点:快速幂+题目分析)HDU1061
//N^N的最后一位#include #include //相当于对N的最后一位进行快速幂运算,结果对10取余int main(){ int time; int number; int dight; int result; scanf("%d",&time); for(int i=1;i<=time;i++){ result
2016-08-12 19:57:58 528
原创 UVa 455 Periodic Strings(周期串)
//求字符串的最小周期//我的思路,找与s[0]相同的字符,然后判定从s[0]到此字符之前的长度能不能作为一个周期#include #include #include int main(){ char s[110]; int n; scanf("%d",&n); getchar(); while(n--){ getchar();
2016-08-12 19:05:18 486
原创 uva 1225 Dight Counting(数数字)
//把前n个整数顺次放到一起,统计0~9出现的次数#include #include #include int main(){ int dight[10]; int n; scanf("%d",&n); while(n--){ memset(dight,0,sizeof(dight)); int length;
2016-08-12 10:49:29 400
原创 UVa 1586 Molar Mass(分子量)
//计算分子量 其中相对原子质量为:C 12.01 H 1.00 O 16.00 N 14.01#include #include #include struct molarmass{ char malor; double mass;}malormass[4]={'C',12.01,'H',1.008,'O',16.00,'N',14.01};int main()
2016-08-12 10:30:24 586
原创 UVa 1585 Score(得分)
//给出一个由O和组成的字符串,统计得分//每个O的得分为目前连续出现的O的个数//X的得分为0//例如:OOXXOXXOOO//score=1+2+0+0+1+0+0+1+2+3#include #include int main(){ int n; scanf("%d",&n); getchar(); char OX; int score
2016-08-12 08:52:03 536
原创 UVa 1584 Circular Sequence(环状序列)
//长度为n的环状串有n种表示方法,分别为从某个位置开始顺时针得到的。//字典序最小的称为最小表示//输入一个长度为n的环状DNA串(只含A,C,G,T)这四种字符//输出该串的最小表示#include #include #include #define MAXN 105int main(){ int n; int length; char string
2016-08-11 20:14:06 592
原创 UVa 1583 Dighter Generator(生成元)
//如果x和x各位的和等于y,那么x是y的生成元。给出n,求最小生成元#include #include int dightsum(int number){ int sum=0; while(number){ sum+=number%10; number/=10; } return sum;}int main(){
2016-08-11 16:21:24 552
原创 UVa 340 Master-Minds Hints(猜数字游戏的提示)
//给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)//输入有多组测试。每组输入第一行为序列长度n,第二行是答案序列,接下来是多行猜测序列猜测序列全0该组数据结束。n=0时结束输入#include #include #include #include int compare(int number,int keycopy[],int
2016-08-11 00:53:45 533
原创 UVa 401 回文词(Palindromes)
#include #include #include #include //判断一个字符串(不含空格和数字零)是否为回文串和镜像串(一个字符的镜像和与它对称的字符相同)//此题字符串只含大写字母和数字字符//此题结果四种,两者都是,是其中一个,两者都不是//此题镜像://ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789//A 3 HIL JM O
2016-08-10 17:48:13 450
原创 UVa 10082 WERTYU
#include #include //把手放到键盘上时,稍不注意就会往右错一位。//输入一个一定是错位后(除空格)敲出的字符串(所有字母均大写),给出错位前的//使用常量数组,可以简化代码int main(){ char buffer[100]="`234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; char ch;
2016-08-10 14:14:38 579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人