- 博客(125)
- 收藏
- 关注
原创 Java实体类转Json出现的一些问题
net.sf.json.JSONException: There is a cycle in the hierarchy!这个问题说明,实体类对象包含另外一个实体类的对象,并且形成了循环引用。解决这个问题的方法可以通过设置jsonconfig来避免:JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setJsonPrope
2015-10-23 14:28:57
4258
原创 用dfs序维护树结构
给定一棵n个节点的树,m次查询,每次查询需要求出某个节点深度为h的所有子节点。对于这个问题如果试图去对每个节点保存所有深度的子节点,在数据大的时候内存会吃不消;或者每次查询的时候去遍历一遍,当数据大的时候,时间效率会非常低。此时如果使用dfs序维护树结构就可以轻松地解决这个问题。作为预处理,首先将将树的所有节点按深度保存起来,每个深度的所有节点用一个线性结构保存
2015-08-14 21:05:09
3116
原创 在有向图中,判断某条边一定被两点的最短路径经过
假设在有向图中从起点到s,到终点t的最短路径长度为distance,,最短路径的条数为kinds。对于某条有向边E(i, j),如果该条边一定被从s到t的最短路径经过,那么首先需要满足:dis(s, i)+dis(i, j) + dis(j, t) == dis(s, t);//其中dis(a, b)表示从a到b的最短路径其次还需要满足kinds(s, i) + kinds(j, t) =
2015-08-14 20:54:40
1791
原创 C++ Primer 读书笔记
1,命令编译生成的默认输出文件(可执行文件) 命名为:a.out(Unix), a.exe(Windows)2,cout输出首先会存到缓存中,而printf之类的输出会直接输出到输出流中。3,可以从键盘上输入End-Of-File:Ctrl+d(Unix), Ctrl+z(Windows)。4,C++中最常见的三种编译错误:1)类型错误,将值赋给不同类型的变量;
2015-04-01 14:04:13
1021
原创 C++ 智能指针
C++智能指针主要是在普通指针的基础上封装了一层,使得使用者对指针的使用更加方便和放心,在使用的过程中不用担心指针因为释放问题而导致的异常。在C++11中,智能指针主要有三种:shared_ptr ptr, unique_ptr ptr, weak_ptr ptr; shared_ptr ptr的初始化可以通过以下几种方式: 1)shared_ptr ptr = m
2015-03-29 01:08:29
972
转载 Effective C++和More Effective C++
More Effective C++读书笔记条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是指向一个对象且一旦指向一个对
2015-03-26 13:47:49
970
原创 Storm On Yarn部署
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-03-26 11:46:32
3800
转载 Maven学习之四:仓库配置学习
配置mvn仓库的一些信息,我们可以通过settings.xml来进行设置,settings.xml定义的值被用来配置Maven的执行情况。该settings文件的设置会被应用到很多个项目上,因此这里的设置不应该和任何一个特定的项目绑定,并且该设置的内容也不应该分发给它人。该文件定义的值包括本地仓库地址,候选的远程仓库仓库服务器,以及一些认证信息。settings.xml文件可位于两个地方:
2015-01-20 14:59:37
540
转载 Maven学习之三:创建一个简单的Maven项目
让我们从开发一个十分简单的例子开始探究Maven的核心概念。通过学习,你将会对构建生命周期 (buildlifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project Object Model)有一个基本的理解。1.mvn创建项目(1) JAVA项目 mvn archetype:create
2015-01-20 14:59:11
826
转载 Maven学习之二:常用命令整理学习
mvn的命令有很多,在项目开发中,常用的mvn命令有如下,理解了下面的几个常用命令后,运用maven就没有问题了。mvn archetype:create创建 Maven 项目mvn compile编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。mvn test-compile编译测试代码,compile之后会生
2015-01-20 14:58:24
455
转载 Maven学习之一:安装配置
Maven简介:Maven是什么? 比较正式的定义:Maven是一个项目管理工具,它包含了:一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System), 和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
2015-01-20 14:57:52
447
原创 Design Pattern----Behavioral Patterns
Behavioral Patterns可以分为两类设计模式:Behavioral Class Patterns(行为类模式)和Behavioral Object Patterns(行为对象模式)。Behavioral Class Patterns通过类继承的方式将任务在类之间分配,这类模式包括:Template Method Pattern(模版方法模式)和Interpreter Pattern(解释器模式)。Behavioral Object Patterns通过对象之间的组合而不是类的继承实现对象之
2014-09-10 16:55:37
2422
原创 Design Pattern----Structural Patterns
Structural Patterns(结构设计模式)主要分为以下7种模式:Adapter Pattern(适配器模式),Bridge Pattern(桥接模式),Composite Pattern(组合模式),Decorator Pattern(装饰器模式),Facade Pattern(外观模式),Flyweight Pattern(享元模式),Proxy Pattern(代理模式)。
2014-08-23 11:25:38
1382
原创 Codeforces #258 Div.2 E Devu and Flowers
大致题意:从n个盒子里面取出s多花,每个盒子里面的花都相同,并且每个盒子里面花的多数为f[i],求取法总数。解题思路:我们知道如果n个盒子里面花的数量无限,那么取法总数为:C(s+n-1, n-1) = C(s+n-1, s)。可以将问题抽象成:x1+x2+...+xn = s, 其中0两种方法可以解决这个问题:方法一:这个问题的解可以等价于:mul = (1+x+x^2+
2014-07-27 14:34:22
1145
原创 Network 20Q--Q1 Cellular Network
去年从coursera.org上看到《Network 20Q》这门课程,觉得挺有意思,于是下载下来了。这门课程是以问题为导向,总共20问,课程对于每一问都有详细讲解。希望能把这20问都看完,并且认真思考,记下课程笔记和总结。Cellular Network(蜂窝网络)这个名词对于使用智能手机的用户来说,并不陌生,但是很多人并不了解或者理解蜂窝网络。蜂窝网络是一种移动通信架构,在这种架构
2014-05-11 12:00:07
5054
转载 Topcoder插件配置
TopCoder Algorithm Plugin使用方法 Plugin 就是插件的意思。做过TopCoder Algorithm的都知道,由于网速烂加上那个编辑器很不好使,一般我们都是在自己的编辑器上敲好代码再copy上去的。不过由于只写了一个类,没有main函数,在本地编译器上没法Test,而放到Arena里Test的时候又总有很多网络因素,这个也是挺麻烦的。使用一些插件可以解决这个问
2013-04-24 00:53:04
1406
原创 SRM 459 500p && hust1080 NumberPyramids
题目链接:http://acm.hust.edu.cn/thx/problem.php?id=1380题解:这题太经典了,表示自己想不到。转世界第六HH的题解:156 93 3 62 1 2 4如上所示的数字金字塔,最底层有N首先拿纸笔稍微推一下,假设最下面这层N个数分别为a0, a1, … aN-1,那么最上面的数等于C(N-1, 0) * a0 + C(N-1, 1) * a1 + … + C(N-1, N-1) * aN-1。由于这N个数都是正整数,至少为1,所以当底层的数个数为N时,最顶
2010-07-18 22:51:00
750
转载 蜜蜂的问题
<br />以下转自:http://blog.csdn.net/ray58750034/archive/2006/11/04/1365813.aspx<br />写的非常好,果断转。<br /> <br />蜜蜂的问题<br /> <br /><br />作者: Ray <br />日期: 2006年11月3日,星期五 <br /><br />99年ACM/ICPC 的final有一道蜜蜂的坐标的问题,非常有意思,和队友们讨论了许久都没能解决。记得那天做练习是我和肖筹划着用计算几何的方法估算出结果,虽然做法
2010-06-06 00:35:00
1096
原创 几道KMP题目,经典
pku2406 Power Stringshttp://162.105.81.212/JudgeOnline/problem?id=2406 pku1961 Periodhttp://162.105.81.212/JudgeOnline/problem?id=1961 pku2752 Seek the Name, Seek the Famehttp://162.105.
2010-05-28 22:08:00
3966
原创 pku1699 Best Sequence
最近,水题不想做,只有被难题来虐,而往往做一些难题就只有:看题,想题。至于coding就基本没发下手,难题的解题思路实在太难想了,以致于最近很难才能ac一道题。于是找道水题来玩玩找点自信。题目链接:http://162.105.81.212/JudgeOnline/problem?id=1699题意简述:给定n个字符串,求把这些字符串连起来的长度最小,只有某一段相同的才能覆盖相连,不然只能
2010-05-20 22:05:00
645
原创 pku3101 Astronomy
题目连接:http://162.105.81.212/JudgeOnline/problem?id=3101题意简述:求若干个行星的位置刚好组成直线的周期。解题思路:这题想了很久,才发现想错方向了,开始一直往同余方向去想了,yy了好久勉强建了几个草稿方程,但这个方法很快就被否决了,实在想不出了。。。 在别人的提示下,有了如下思路:把相同的周期合并,然后用把所有周期串起来,即求出经过多少
2010-05-17 11:57:00
1106
原创 pku3763 Tour in Wonder Land
题目链接:http://162.105.81.212/JudgeOnline/problem?id=3763题意简述:给定无向图,求最少添加几条边能使图存在哈密尔顿回路。解题思路:树形dp。我们用dp[i][0]表示遍历路线是从子树的根结点i进入然后走完子树所有点后从某一非根点跳出(或者是从某一非根点进入最后从i点走出,因为是无向图,这两者是等价的),用dp[i][1]表示遍历路线
2010-05-10 21:20:00
1276
原创 《道》 (俄罗斯最新动作片)(附片尾曲下载地址)
很好看的一部电影,还有这部电影后面的片尾曲也是很好听的。◎译 名 《道》09俄罗斯最新冒险动作片DVD中字◎片 名 Put◎年 代 2009◎国 家 俄罗斯◎类 别 动作/冒险◎语 言 俄语◎字 幕 中文◎IMDB评分 5.0/10 39 votes◎IMDB链接 http://www.imdb.com/title/tt1069264◎文件格式 XviD + AC3◎视频尺寸
2010-05-03 21:05:00
2480
原创 pku1636 Prison rearrangement
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1636 题意简述:两个监狱,各有n个犯人,每个两个监狱之间一些犯人之间有一定的关系,对于有关系的犯人不能放在同一个监狱,原状态肯定是满足的,因为存在这种关系的不存在同一个监狱的。求最大交换次数使得条件依然满足,并且交换次数不能超过n/2。 解题思路:dp。首先我们可以把有联系的一些
2010-04-30 18:11:00
747
原创 pku2138 Travel Games
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2138 题意简述:给定n个字符串,对每个字符串可以在其任何位置插入一个字符,我们称之为一种变化。然后再给定一个初始串,这个初始串一定在原先给定的n个串中,求经过若干次操作以后,所能得到的最长字符串,注意在每次变换以后所得到的字符串必须在所给定的n个字符串中。 解题思路:dp+最短路
2010-04-30 17:55:00
741
原创 pku2184 Cow Exhibition
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2184 题意简述:n头cows,每头牛有两个参数:smartness 和 funness 并给定其值。求选取若干头cows,使得sum(smartness)+sum(funness)的值最大,且sum(smartness)和sum(funness)都必须为非负数。 解题思路:dp。
2010-04-30 17:37:00
618
原创 pku2346 Lucky tickets
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2346题意简述:给定一个偶数n,求n位 lucky tickets 的个数,lucky tickets:n位数可含前导0,前n/2项上数字和等于后n/2项上数字和。解题思路:最多才那么几组数据,而且就算用暴力全部算出来也就那么几秒钟,如果在比赛首选方法当然是打表。但是,平时做题过程中,
2010-04-30 17:15:00
762
原创 pku2374 Fence Obstacle Course
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2374题意简述:题意和pku1661几乎一样的,从最高层的某点,到最底层的0点,求最短横移路程。解题思路:dp+线段树。这题的数据就是大了点,要不完全和pku1661的解法一样了。对于这个问题,可以很快想到dp,并确定状态和方程,dp[i][0]和dp[i][1]分别表示从第i层的左右
2010-04-30 15:55:00
989
原创 pku1840 Eqs
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1840题意简述:求方程解的个数。解题思路:看到这样的题目,要直接求其解的个数真的很难,表示一直没想到。枚举?5个变量,枚举的话达到了100^5,显然tle,于是想了一会儿,发现可以降低枚举的复杂度,把方程的项划分到两边,尽可能是两边的项数相等。这样,利用hash的方式,就基本能够求解了。(
2010-04-30 15:45:00
618
原创 pku2947 Widget Factory
题目链接:http://162.105.81.212/JudgeOnline/problem?id=2947题意简述:题目长,好难看。大致就是n个工人,从某个星期的x-day到某个星期的y-day,做了哪几个零件,求每个零件需要的时间。解题思路:高斯消元。看到x和y ms 不好连接起来,但是它需要的天数一定是y-x+7*k,所有系数对7取模,因为这不会影响结果,这个可以理解一下。代码:
2010-04-28 17:47:00
683
原创 pku3093 Margaritas on the River Walk
题目链接:http://162.105.81.212/JudgeOnline/problem?id=3093题意简述:从给定的一列数中选若干个数,使其和sum不能大于所给的限定m,并且m-sum解题思路:首先从大到小排序,然后对所有物品进行0、1决策。ps:从寒假wa到现在,就因为没加case数,晕。。。代码:#include#includeusing namespace
2010-04-28 17:40:00
899
原创 pku3017 Cut the Sequence
题目链接:http://162.105.81.212/JudgeOnline/problem?id=3017题意简述:给定n个数,把划分成若干个部分,但任意部分的和不能超过m,求一划分使得个部分的最大数之和最小。解题思路:dp。这题只会最朴素的dp,dp[i]=dp[i-k]+value[k,i]; 这样的话复杂度会达到O(n^2),但是有的状态转移是非常明显的不必这样去一味的去找,于是这
2010-04-26 16:52:00
904
原创 pku2430 Lazy Cows
题目链接:http://162.105.81.212/JudgeOnline/problem?id=2430题意简述:求用最少的矩形把给定的点完全覆盖。解题思路:状态dp。设0表示值覆盖一格,1表示覆盖两格但是属于同一矩形,2表示覆盖两格不属于同一矩形。代码:#include#includeusing namespace std;#define min(a,b) (a<
2010-04-26 11:13:00
867
原创 pku2355 Railway tickets
题目链接:http://162.105.81.212/JudgeOnline/problem?id=2355题意简述:求从某点到另一点的最小费用。费用按照题目给定的方式分为三个阶段。解题思路:dp+二分。我们这题一个最朴素的也是最容易想到的方程就是:dp[i]=min(dp[k]+value[k,i]); 但是这样的话,N达到了10000,显然效率很低,对于这题的时限会tle,于是优化:我
2010-04-26 10:51:00
505
原创 pku2342&&pku1463&&pku1947
三道都是经典的树形dp,算是入门的树形动态规划。建树,确定状态,找状态转移方程。。。下面贴这三题的代码:pku2342#include#include#includeusing namespace std;#define max(a,b) (a>b?a:b)const int Len=6005;int value[Len];bool root[Len];
2010-04-26 10:33:00
717
原创 数学类总结
打了一个月的数学酱油,总算将大概的数学问题马马虎虎地过了一遍,由于自己训练的进度问题,这方面的加强留在下阶段的刷题练习。数论:欧几里德,扩展欧几里德,素数,素数分解,欧拉函数,线性同余,剩余定理,解模线性方程组等,经典的一些数论算法就这些吧。但数论绝不止这么点,一些数论的定理、性质及证明过程都是非常重要的,通常需要用数论的一些性质和推理思想解决问题,很重要。于是要好好练,加强在路上…说说题
2010-04-20 16:06:00
1477
原创 pku1351 Number of Locks
题意简述:一把锁匙有N个槽,槽深为1,2,3,4。每锁匙至少有3个不同的深度且至少有1对相连的槽其深度之差为3。 求这样的锁匙的总数。解题思路:这题感觉真的很难想,推了好久,没把所有情况都推出来,看了别人的推断过程过的。有N个槽锁匙的总数是 Lock[N]如果 ***** 是锁匙则 *****1,*****2,*****3,*****4 也是因此 Lock[i]=Lock[i-1]*
2010-04-19 19:51:00
874
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人