自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java垃圾回收的具体实现:Java垃圾收集器

简介在Java垃圾回收机制中说到Java垃圾回收中涉及到的收集算法,如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的收集器基于JDK 1.7 Update 14之后的 HotSpot 虚拟机,这个虚拟机包含的所有收集器如下图所示:上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器。接下来将逐一介绍这些收集器的特性、基本原理和使用场景,并重点分析CMS和G1这两款相对复杂

2020-05-26 23:05:32 518

原创 520没人陪,于是我在深夜写下了这篇关于FutureTask源码分析的文章,祝大家学习快乐

今天是520,但是作为一只散发着清香的单身汪,趁着夜深人静,于是我写下了这篇关于FutureTask源码分析的文章。码字不易,关注一波行不行,行文匆匆,如果有写得不对的地方欢迎在评论区留言指正,祝大家学习快乐。简介FutureTask是提供了一个可取消的异步计算的过程类,FutureTask实现了Future的基本方法,提供了start和cancel操作,可以查询计算是否已经完成,并且可以获取计算的结果。结果只可以在计算完成之后获取,当计算没有完成的时候get方法会阻塞,一旦计算已经完成,那么计算就不能

2020-05-20 22:52:41 231

原创 Java垃圾回收机制

路漫漫其修远兮,吾将上下而求索简介Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙里面的人想出来。Java内存运行时区域中的程序计数器、虚拟机栈、本地方法栈随线程而生灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化),因此这几...

2020-03-21 00:43:55 195

原创 POJ 1163 DP 动态规划

POJ 1163:The Triangle

2014-08-04 16:01:43 407

原创 HDU 1711

HDU 1711:Number Sequence

2014-08-04 14:46:30 488

原创 HDU 2054

HDU 2054 A==B?

2014-08-03 13:54:23 523

原创 HDU 1823 二维线段树

原题链接:

2014-07-30 15:58:18 683

原创 HDU 1686 Kmp(字符串匹配)

/* Kmp算法的运用 这里是要统计字符在母串中出现的次数 只要在原来的基础上稍作修改即可*/#include#include#includeusing namespace std;char a[10005], b[1000005];int next[10005];void Getnext(char* t)//构造next数组,这是关键{ int

2014-07-27 17:00:31 436

原创 HDU 1166 树状数组

#include#include#define lowbit(x) (x&(-x))//计算a^k,这是做神奇的地方 const int N = 50005;int a[N], n;void Add(int x, int y)//将每个结点的值都加上,当然也可以修改某个结点的值 { while(x <= n) { a[x] += y; x += lowbit(x);//跳

2014-07-27 15:50:53 323

原创 HDU 2063 二分匹配(匈牙利算法)

/* 这个题目求的是最小匹配数,所以只要用匈牙利算法就可以了 但代码的方式和1151有点儿不一样,详情如下*/#include#include#includeusing namespace std;const int N = 505;int map_[N][N], vis[N], flag[N];int k, n, m;bool Search(int x){

2014-07-27 12:35:14 377

原创 HDU 1151 二分匹配(匈牙利算法)

/* 二分匹配(匈牙利算法) 根据:DAG图的最小路径覆盖数=节点数(n)- 最大匹配数(m) 先用匈牙利算法求出最大匹配数,再用它减去节点数就可以了*/#include#includeusing namespace std;const int N = 125;int map_[N][N], vis1[N], vis2[N], flag[N];int n, m

2014-07-26 18:50:10 404

原创 HDU 1372 棋盘广搜

#include #include using namespace std;int sx,sy,ex,ey;int dist[8][8]; //dis[i][j] 到当前点(i,j)所花的最少步数int step[8][2]={{-1,2},{-1,-2},{1,2},{1,-2}, {2,1},{2,-1},{-2,1},{-2,-1}};

2014-07-21 18:53:44 416

原创 HDU 1548 广搜

原题链接/* 广度优先搜索题 到每一层楼都可以上楼和下楼,但要注意的是不能小于1当然也不能大于n 每到一层楼就把层数放在队列里,取出层数后又去掉 然后通过每个层数生成子节点进行搜索*/#include#include#include#include#include#include#include#include#define INF 0xff

2014-07-21 16:03:31 399

原创 HDU 2191 部分背包

/* 这是部分背包问题,也是通过01背包转化过来的 最重要的是处理好后面那个大米的袋数*/#include#include#include#include#include#include#include#define INF 0xfffffffusing namespace std;int p[102], h[102], c[102], a[10002];i

2014-07-20 16:59:10 433

原创 HDU 2955 01背包

/* 这道题是01背包问题,但要进行转换 把列出来的总钱数作为总的重量。把逃跑成功的概率作为价值 只有当逃跑成功的概率大于预算逃跑成功的概率,这时候能抢的钱总数就是最多的 这里的vauel[0]=1也要初始化为1*/#include#include#include#include#include#include#include#define INF

2014-07-20 15:42:45 527

原创 HDU 1114 完全背包

/* 完全背包问题 但这题是求最小的值,所以这样把pis数组初始化为无穷大 把pis[0]初始化为0,然后把01背包的状态方程改为 for(i=1;i<=n;i++) for(j=w;j<=f-e;j++) pis[j]=min(pis[j],pis[j]+p);*/#include#include#include#incl

2014-07-20 14:07:32 408

原创 HDU 2149 巴什博弈

/* 巴什博弈 m%(n+1)!=0就是必胜状态*/#include#includeusing namespace std;int main(){ int n, m; while(scanf("%d%d",&m,&n) != EOF) { if(m%(n+1) == 0) { cout <<

2014-07-18 12:25:03 377

原创 HDU 2176 尼姆博弈

/* 这是尼姆博弈题 题目要求输出所有第一次取某堆的数量和剩下的数量 如果用常规的方法做的话,肯定会超时 所以我们必须要知道位运算的一个重要的性质,那就是: a^b^c^d=e; d^e=a^b^c*/#includeusing namespace std;int num[200002];int main(){ int m; w

2014-07-18 12:16:15 414

原创 HDU 2516 斐波那契博弈

这题是斐波那契博弈(Fibonacci Nim)详情戳这个链接: http://blog.csdn.net/dgq8211/article/details/7602807

2014-07-17 21:01:34 448

原创 HDU 1850 博弈

/* 这是尼姆博弈题 要让先手赢的话,先手从第i堆牌中取出x张牌后 剩下的n-1堆异或的结果和第i剩下的异或为0,那先手一定能赢 那么只有当第i堆牌数大于剩下n-1堆牌的异或结果时,先手一定赢*/#includeusing namespace std;int main(){ int n, card[102]; while(cin >> n

2014-07-17 18:46:32 357

原创 HDU 1272 并查集

/* 这个是并查集的题目,要考虑的地方有 1、要保证边的数目比点的数目小1 2、每个测试数据都是已经给出的,这里用mark数组标记了所有给出的数据 3、要考虑只输入0 0的情况 4、当集合数目为1时,才满足条件*/#includeusing namespace std;const int maxn = 100002;int vid[maxn], m

2014-07-17 15:07:08 332

原创 HDU 1195 深搜

/* 这个题目可以用深度优先搜索(DFS)做 搜索的目的就是让每一位密码进行移动 直到移动到可以使用最少的动作得到能打开箱子的密码为止*/#include#includeusing namespace std;int a[4], b[4], v[4] = {0}, sum;int cup(int num){ int t = 0,s[4] = {num

2014-07-17 13:10:26 471

原创 HDU 1875 Prim+并查集

/* 这个题目同时用到了并查集和最小生成树 用并查集判断所有点是否符合条件 在利用最短路计算最小价值*/#include#include#includeusing namespace std;const int Maxn = 1000000;const int maxn = 105;double dis[maxn][maxn], cost[maxn], d

2014-07-16 17:14:03 409

原创 HDU 1856 并查集

/* 并查集 这个题目要注意的是如何记录每个集合的元素个数 只要通过建立每个集合的基结点 然后要用基结点bon[i]来记录元素个数*/#includeusing namespace std;int bin[10000002], bon[10000002];int find_(int t){ if(bin[t] != t) bin

2014-07-15 18:40:26 416

原创 HDU 1232 并查集

/* 这题要用到的算法是并查集 将能够连接的城镇看成是一个集合 然后统计出所有集合的个数 根据n个点能连成通路的规则可知还需要建设的道路为sum-1条*/#includeusing namespace std;int b[1002];int find_(int t)//找到点t所在的集合{ if(b[t] != t) b[t]

2014-07-15 15:51:38 366

原创 HDU 3790 最短路

/* 这个题目要注意的是当路径相同时要取费用最少的哪一条 其它的只要按照最短路的常规用法即可*/#includeusing namespace std;const int maxn = 1000000;int n, m, d[1002][1002], p[1002][1002], dis[1002], pis[1002];bool vis[1002];void Di

2014-07-15 11:06:44 378

原创 HDU 2066 最短路

/* 这个题目只要看成是草儿所在的城市到各点的单源最短路径就可以了 所以把草儿所在的城市标记为0 但要注意的是和草儿邻近的城市不需要坐火车的,所以花费的时间为0 只要用Dijkstra算法就可以了*/#includeusing namespace std;const int maxn = 1000000;int f[1002][1002], ct[1002

2014-07-14 20:34:39 360

原创 HUD 1241 搜索 三维深搜

/* 这个题目主要是找到某个油井'@',然后用DFS函数对其上下左右以及和其对角线上的 点进行搜索,把其周围的油井标记为非油井'*' ,直到其周围所有的点都被访问了 之后就返回到主函数中,表示一个油井泵。 */#include#includeusing namespace std;char st[102][102];int s[8][2] = {{1,0},{-1,0},{-1,

2014-07-14 15:00:07 439

原创 C++课程设计-成绩管理系统

//C++课程设计 //成绩管理系统 //第一次运行请先增加学生信息,一遍创建文件,保存数据 #include#include#include#include#include#include#include#include#include#include#define ESC 27#define SPACE 32#define IPGROUND_INTENSITY 4

2014-07-14 01:25:37 3833 3

原创 HDU 1754 线段树

//线段树 HUD 1754//http://acm.hdu.edu.cn/showproblem.php?pid=1754#include#include#include#includeusing namespace std;const int Maxn = 200002;typedef struct //结构体用来建立数线段树,保存左右叶子以及区间的最大值{ int

2014-07-12 15:29:03 426

原创 HDU 1010 搜索

//迷宫问题: HDU 1010//http://acm.hdu.edu.cn/showproblem.php?pid=1010#include#includeusing namespace std;int dx,dy,sx,sy,n,m,t,flag;char a[8][8];//用来保存地图int st[4][2]={{1,0},{-1,0},{0,-1},{0,1}};//用来

2014-07-12 15:29:02 506

原创 小轩的烦恼

上个学期学完了C语言,同时也在自己的努力之下进了学校的ACM校队。这个学期开始学C++,虽然学起来不是很难,但我很难权衡其它课程和投入在ACM里的时间,尽管我热爱编程,但我总是觉得自己在这方面的投入的时间比别人少。最近一星期在看算法,暂停了在杭电上刷题,可是算法有这么多,不知道从哪里入门才好。因为在算法上的缺乏,在杭电上刷题时也倍感吃力,我也只好这样一步一步走下去,虽然很迷茫。。。。

2014-03-07 17:52:26 560

基于C#的图书管理系统

基于C#的图书管理系统,可用于参考和课程设计。

2016-07-01

基于C#的洗衣管理系统

C#的课程设计,洗衣管理系统。

2016-07-01

基于C#的学生成绩管理系统

这是一个基于C#的学生管理系统,可以作为C#的课程设计。

2016-07-01

空空如也

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

TA关注的人

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