- 博客(62)
- 资源 (1)
- 收藏
- 关注
原创 Java多线程编程(一)-死锁
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 首先我们来看下面一段死锁代码 1 package com.company; 2 3 import static java.lang.Thread.sleep; 4 5 pu...
2018-02-12 23:57:13 174
转载 C++中结构体与类的区别(struct与class的区别)
C++中结构体与类的区别(struct与class的区别)转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能
2017-06-24 22:16:20 374
原创 MySQL入门
1. Mysql安装先检查系统是否已经安装了Mysql: sudo service mysql start 如果提示如下则说明没有安装mysql: unrecognized service. 2.ubuntu安装 配置MySQL: (1).首先安装mysql服务端、核心程序: sudo apt-get install mysql-sever (2).安装客户端: sudo apt
2017-06-09 16:06:46 299
原创 fzu2113 Jason的特殊爱好(数位DP)
Problem 2113 Jason的特殊爱好Accept: 314 Submit: 1012Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionJason很喜欢数字,特别是1这个数字,因为他觉得1有特殊的含义...
2017-06-01 16:36:05 403
原创 uva481(打印LIS路径)
1. 思路对于LIS的求解问题,我采用的是二分+贪心进行求解,然后对于打印路径采用一个f[]数组记录,f[i]代表LIS序列中的第i个元素的前面的一个元素的位置;2. code#include #include #include #include using namespace std;const int N = 1e5+5;int val[N], dp[N], f[N]
2017-04-20 19:16:50 417
原创 DP-LIS问题
1. LIS--最长上升子序列目前我所知的有两种解法;(1)首先是DP求解,时间复杂度为O(n^2);#include#define MAX(x,y) x>y?x:yint dp[10010],val[10010];int main(){ int n,max; while(~scanf("%d",&n)){ max=0; fo
2017-04-20 18:46:35 800
原创 spoj-D-query(主席树)
题目链接1.思路从数组后面开始统计,每个线段树上记录的是从当前位置到最后一个数的信息,然后线段树上的节点记录的是数组的位置信息;2.code#include #include using namespace std;const int N = 3e4 + 5;struct segTree { int lc, rc, cnt;};segTree ret[N*20];
2017-03-16 12:10:08 262
原创 UNIX网络编程(二)-实例程序daytimetcpcli.c详解
该程序是TCP当前时间查询客户端程序的实现。客户端与其服务器端建立一个TCP连接后,服务器返回当前时间和日期。// client#include "unp.h"int main(int argc, char **argv) { int sockfd, n; char recvline[MAXLINE+1]; /* * struct sockaddr_
2017-03-10 11:35:57 390
原创 nyoj2-括号配对问题
题目链接括号 配对问题是一个典型的堆栈问题,对于每一个右括号,与之配对的左括号必然是之前所有未配对的左括号中的最右边一个;因此我们将字符串从左到右扫描,当出现左括号时,将其加入栈中;当出现右括号时,我们判断栈顶的括号是否与当前的右括号配对;#include #include #include #include using namespace std;int main() {
2017-03-10 11:32:17 565
原创 UNIX网络编程(三)-套接字地址结构
1. IPv4套接字地址结构 IPv4套接字地址以sockaddr_in 命名,定义在<netinet/in.h> 头文件中。地址结构 struct in_addr { in_addr_t s_addr; // 32位网络字节序IPv4地址 } struct sockaddr_in { uint8_t sin_len; /
2017-03-09 19:08:22 250
原创 poj2239-Selecting Courses(匈牙利算法)
题目链接题目大意 李明在学校选课,每组数据的第一行为n,代表可选课程的数目,然后接下来n行为课程的时间描述,每行开头一个数t代表该课程在一周内的开课次数,然后每次两个数p, q代表在星期几第几课,然后要求算出李明怎么样才能选尽可能多的课并且不会出现冲突.(真是好学生啊!!!!)思路 此题就是匈牙利算法求最大匹配数的模板题;code#include <iostream>#include <cstri
2016-12-14 19:51:58 333
原创 hdoj1317-XYZZY(floyd + bellman_ford)
题目链接题目大意 一个冒险家从1号房间出发时,有100点能量值,然后题目中给出从一个房间能到达另一个房间的路,然后到达每个房间能获得的能量值(-100到100),当冒险家的能量值小于或等于0时游戏结束,然后判断是否能达到房间n;思路1.这题其实就是求最长路的问题; 2.首先我们用floyd算法来求各房间的连通性; 3.然后用bellman_frod算法来求解到达各房间的能量值;c
2016-12-05 20:33:57 279
转载 hdoj1317-XYZZY(bellman-ford)
转自:http://www.cnblogs.com/SolarWings/archive/2013/03/16/2963961.html思路 这道题纠结了俩小时,总觉得网上的解法存在点问题(也可能是我自己理解的问题),不存在环的情况自然不用说,就是求最长路,对于存在环时候的情况,有一种说法是只要存在正环,直接判断1到n是否连通即可,还有一种说法是找到正环以后,从发现正环的点出发dfs看
2016-12-05 10:26:00 434
原创 欧拉回路
hdoj3018题目链接思路 对于每一个连通图,如果不含度数为奇数的点则可以判定为欧拉回路,只需要一组人就可以;对含有奇数度的点,则需要奇数度的点的个数/2组人才能完成游历;code#include <iostream>#include <cstring>#include <fstream>using namespace std;const int MAX = 100000+5;int f[M
2016-12-01 14:00:28 353
原创 hdoj1207-汉诺塔II(多柱汉诺塔问题)
题目链接思路首先这是个多柱汉诺塔问题,对于n阶汉诺塔,具体步骤如下: 1. 首先我们将x个盘子移到B柱,步数为step(x); 2. 然后将n-x个盘子移到C柱,步数为2^(n-x)-1; 3. 最后我们再将B柱上的x个盘子移到C柱,步数为step(x)。 4. 上面的x在1到n之间取值,对于每一个X,我们可以求出一个step(n),然后我们取其中的最小值作为最优解;code#inc
2016-11-25 13:03:39 1485
原创 hdoj3926-Hand in Hand(同构图的判断)
#include #include #include #include using namespace std;const int MAX = 10005;class Node{ public: int isCircle, count;//是否成环,以及节点的个数};Node node1[MAX], node2[MAX];int f[MAX];int cm
2016-11-22 20:42:03 787
原创 hdoj1198-Farm Irrigation(dfs)
hdoj1198题目链接 这题思路非常简单,就是运用dfs判断有几个子图的问题,但是我因为输入时搞混了n和m的位置而WA~~了好多次,看来得看清题目啊,最简单的地方都不能忽视,不然大把时间浪费了;#include <iostream>#include <cstring>#include <fstream>#include <algorithm>#include <cstdio>#incl
2016-11-20 15:25:52 275
原创 hdoj2112-HDU Today(dijsktra)
题目链接思路首先输入的车站名字为单词,不便于运算,因此我用一个map < string, int >容器储存信息,一个变量cnt给车站编号,每当车站第一次出现时,给车站编号为cnt,然后cnt+1,以便给下一个车站编号;然后这是求最短路问题,因此我采用dijsktra+堆优化求解;#include <iostream>#include <algorithm>#include <fstre
2016-11-09 12:32:37 337
原创 hdoj1556-Color the ball
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行
2016-11-07 21:06:13 282
转载 李开复-算法的力量(转)
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例
2016-11-03 20:17:44 294
原创 hdoj1754-I Hate It && 1166-敌兵布阵(线段树)
题目链接Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0< N<=200000,
2016-11-01 21:09:18 341
原创 hdoj1715-大菲波数
题目链接Problem DescriptionFibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3。 计算第n项Fibonacci数值。Input输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。Output输出为N行,每行为对应的f(Pi)。Sample Input5 1 2 3 4 5Sample Out
2016-10-26 21:58:22 485
原创 c++--模板
模板是c++实现代码重用的一种有效机制,模板通过把类型定义为参数,提高了代码的可重用性。1.函数模板在c++中,函数模版以template<class ElementTpye> 或者template<typename ElementTpye>的形式给出,ElementType为形式参数,模板的每个形式参数都要在函数参数列表中至少出现一次。int add(int a, int b){
2016-10-25 00:20:30 247
原创 hdoj1523-Drainage Ditches(最大流)
Drainage DitchesProblem Description Every time it rains on Farmer John’s fields, a pond forms over Bessie’s favorite clover patch. This means that the clover is covered by water for awhile and t
2016-10-19 22:35:37 254
原创 hdoj1284-钱币兑换问题
题目链接 钱币兑换问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9362 Accepted Submission(s): 5711Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多
2016-10-18 20:10:32 293
原创 2016京胜杯-吃在工大(拓扑排序)
题目描述JH和他的好朋友YZ两名程序员回访母校合工大,准备在这住一段日子,都说“玩在安大,吃在工大”,JH又是一名典型吃货,于是决定在工大食堂好好吃一段日子,但是,面对美食诱惑:黄焖鸡、风暴干锅、麻辣香锅、奥尔良烤翅…由于时间有限,JH不知道哪顿饭吃哪个菜好。 于是YZ为了帮助他解决这个问题,也顺便考考他,给他出了一个问题:“黄焖鸡必须在干锅花菜前面吃,干锅牛肉必须在干锅鱿鱼前面吃….你按这个要求下
2016-10-18 19:58:46 1439
原创 hdoj1285-确定比赛名次(拓扑排序)
Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;其中N
2016-10-18 16:57:18 362
原创 hdoj1269-迷宫城堡(tarjan)
题目链接Problem Description为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存
2016-10-18 15:50:12 321
原创 rand()和srand()函数
rand()函数作用: rand()函数是产生随机数的一个随机函数。头文件:#include < stdlib.h > (c) #include < cstdlib >(c++)rand()函数是按指定的顺序来产生0~RAND_MAX之间的一个随机整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数。srand()函数-初始化随
2016-10-14 10:37:44 313
原创 hdoj1325-Is It A Tree?
hdoj1325-is it a tree?Problem DescriptionA tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes sati
2016-10-07 13:17:32 329
原创 hdoj1272-小希的迷宫
Problem Description上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现
2016-10-05 10:37:23 256
原创 hdoj1421-搬寝室
hdoj1421-搬寝室Problem Description搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每
2016-10-04 23:24:34 289
原创 hdoj1422-重温世界杯
hdoj1422-重温世界杯Problem Description世界杯结束了,意大利人连本带利的收回了法国人6年前欠他们的债,捧起了大力神杯,成就了4星意大利. 世界杯虽然结束了,但是这界世界杯给我们还是留下许多值得回忆的东西.比如我们听到了黄名嘴的3分钟激情解说,我们懂得了原来可以向同一个人出示3张黄牌,我们还看到了齐达内的头不仅能顶球还能顶人………… 介于有这么多的精彩,xhd决定重温德国
2016-10-04 16:45:05 307
原创 八皇后问题(递归)
问题描述 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法.思路 本题采用回溯递归求解,从第一行开始选择摆放位置,这样就避免了横向冲突,然后每次放置皇后只要检验是否存在纵向冲突或斜向冲突。cod
2016-10-04 10:09:10 318
原创 类与对象-继承
继承是面向对象的基本特征之一,通过继承机制,可以在已有的类的基础上建立新类,新类可以继承已有类的属性和行为,也可以修改已有类的属性和行为,或者增加新的属性和行为以满足自身特殊的需要。1.继承的方式公有继承(public):基类中的公有成员被继承后在派生类中仍然是公有的,基类中受保护的成员被继承后在派生类中仍然是受保护的。受保护继承(protect):基类中公有成员和受保护成员被继承后在派生类中
2016-10-01 23:45:54 266
原创 类与对象-构造函数
构造函数是一种特殊的成员函数,名字与类名完全相同,没有返回类型。1.构造函数的作用对象的数据成员一般在构造函数中初始化,构造函数可以保证对象在创建后其数据成员都已经被初始化,构造函数在创建对象是被自动调用,不能指定其返回类型。2.构造函数的执行时机对象被声明或创建时,构造函数将被自动调用。全局对象在所有程序执行之前就被创建,也就是说在main函数执行之前。局部动态对象和局部静态对象(stat
2016-10-01 22:53:35 257
原创 matlab基础(1)
1. 简 介 MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。但在以后的几年内,它逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技术问题。MATLAB 程序执行MATLAB 语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作变得简单高效。 1.matlab是解释型语言,其执行速度要比编译型语言(比如c++)慢的多.2. 变量和数组1.
2016-10-01 14:45:00 266
原创 模板-prim
描述普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。时间复杂度:O(n^2)int prim(int n){ int total_weight = 0; memset(dist, INF, sizeof
2016-10-01 13:51:58 245
原创 模板-并查集
#include <iostream>using namespace std;int father[100];//初始化void init(){ for(int i = 0; i < 100; ++ i) { father[i] = i; }}//查找根节点,按路径优化int find(int node){ if(father[node]
2016-09-30 21:42:40 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人