- 博客(17)
- 收藏
- 关注
原创 hiho1385 -- 模拟题(2016北京网络赛)
题目链接:http://hihocoder.com/problemset/problem/1385题目大意:给出一串字符,两个单词组成一个短语,求出现次数最多的短语以次数,被逗号和换行分割的两个单词不能组成短语。思路:我用了strtok函数来分割单词,用法可以百度。大体思路就是将一个用例的每一行字符串存起来,对于每一行字符串先通过逗号分隔成好几个子串,每个子串再分别以空格分
2016-10-10 17:12:07
378
原创 hdu1231 并查集模板题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213模板题,没什么好说的。.这里整合了并查集的模板,也有一些并查集的说明:http://blog.youkuaiyun.com/qq_22497299/article/details/526020940ms代码:#include#include#include#i
2016-10-10 00:26:29
488
原创 hdu1272 并查集
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272这道题考察的是并查集的应用之一,判断无向连通图是否存在环对并查集不熟悉的话,这里有模板:http://blog.youkuaiyun.com/qq_22497299/article/details/52602094简化题目的意思:1,保证图是连通的,且连通分量为
2016-10-09 23:45:09
341
原创 JAVA的构造器和构造方法
构造器和构造方法有什么区别?为什么会有两种叫法?在看《JAVA疯狂讲义》的时候发现整本书频繁出现“构造器”这一词。而之前学C++和另外一本《JAVA2 实用教程》叫的都是构造方法,因此我便很不习惯构造器这一叫法。百度了一下,结果却和我想得大相庭径。以下引用百度知道上面一位朋友比较靠谱的回答 在Java里并没有构造方法这一名词 这一名词是在C++以往的外文书籍中直译过来的 而且构造器这词
2016-10-08 21:40:44
1023
1
原创 C语言求最小公倍数
首先,需要知道一个公式,最小公倍数=两整数的乘积/最大公约数。 最大公约数通过辗转相除求得,具体求法可以看我的博客,利用位操作,实际上一行代码即可求出最大公约数。 http://blog.youkuaiyun.com/qq_22497299/article/details/51922527 知道如何求最大公约数之后,只要知道公式,求最小公倍数就不在话下了。int lcm(int a, int b){
2016-10-08 19:14:59
858
原创 eclipse常用快捷键
Ctrl + Shift + O: 引入imports语句Ctrl + Shift + T: 打开Open Type查找类文件Ctrl + Shift + F4: 关闭打开的所有窗口Ctrl + Shift + F: 整形Ctrl + Alt + ↓(↑) : 向下(上)复制本行 (搞笑)Ctrl + D : 删除本行 Ctrl + O: Open declarations
2016-09-23 19:52:52
211
原创 【字符串系列】最长上升子序列(LIS)
LIS(Longest increasing subsequence) 主要有O(nlogn)和O(n^2)两种解法,本博文主要介绍O(nlogn)解法,顺便提一下O(n^2)。首先说一下O(n^2)解法的思路,假设一个数组a[n],定义dp[i]为以a[i]结尾的LIS的值,那么对于a[i],有dp[i]=max{dp[k],k∈[1,i-1]且a[k]}+1,迭代求解,dp[n]就
2016-09-23 15:35:32
534
原创 【字符串系列】最长公共子序列(LCS)
LCS(longest common subsequent),暴力求解的复杂度为O(2^m*2^n),用dp求解的时间复杂度为O(m+n),本博文主要介绍LCS的dp求法,并且给出一点对应的模板题。LCS的思想很简单,声明一个dp数组,用dp[i][j]表示一个长度为i的字符串和一个长度为j的字符串的LCS,很容易得到转移方程:dp[i,j]=⎧⎩⎨⎪⎪0dp[i−
2016-09-22 23:43:39
573
原创 并查集模板及对应模板题
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。(来自百度百科)并查集的操作主要有3个:1,初始化:把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种
2016-09-20 23:57:49
1222
原创 JDK、JRE、JVM的区别
不少人(包括我)在初学JAVA时常常会分不清或者记不住什么是JDK、JRE和JVM,但是这几个词又会时常出现,因此有必要彻底区分名了解这三者是什么。首先贴一张图说明上着之间的关系一、JDK(Java Development Kit) JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。 JDK中包含JRE,在JDK的安
2016-09-20 17:13:16
204
原创 二分查找实用模板
二分查找,又叫折半查找。网上有很多写法,但是经过总结之后发现这个模板是最管用的。说一下这个二分模板的作用:找到的话且这个数唯一则返回下标位置,如果不唯一则返回最右边的下标;找不到的话返回比它大的第一个数(即右边的数)的下标。注意代码,经过细微的修改可以达到不同的效果int bSearch(int begin, int end, int e) { int mi
2016-09-20 12:52:53
4674
2
原创 HDU 5878 -- 丑数打表(2016 ACM/ICPC Asia Regional Qingdao Online)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5878题意:输入一个n,要求找出比n大的,因子只有2,3,5,7的最小的数。题解:首先说一下什么是丑数,因子只有2,3,5,7的数就是丑数。。。。然后,该怎么做呢?肯定不能从n开始,一个一个暴力找,从题目的样例来看,当n是10的9次方时,要找两万多遍,会超时。如果做过丑数相关的
2016-09-17 21:27:51
931
原创 JAVA基本数据类型转换的主要内容和注意事项
JAVA基本数据类型转换JAVA不像PHP,JS,Python,是一门强类型语言,强类型语言就必定会涉及不少的强制类型转换,作为基础中的基础,有必要先熟悉JAVA的基本数据类型转换 本博文主要分为以下两部分:主要内容注意事项一,主要内容1,JAVA基本数据类型:boolean,byte,short,char,int,long,float,double 2,基本数据类型的分类:boolean为
2016-09-14 00:24:53
1839
原创 四行代码求最大公约数(欧几里得算法)
本文要介绍的不是普通的欧几里得算法(辗转相除法),而是利用位操作实现的欧几里得算法,利用位操作实现欧几里得算法主要有以下两个优点:1.代码量少 2.效率高。int gcd(int a, int b){ while(b^=a^=b^=a%=b); return a;}/*b^=a^=b^=a%=b可以分解成以下四句a=a%b;b=b^a;a=a^b;b=b^a;第一句用
2016-07-16 08:30:37
730
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人