自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL常用语句

基本操作查看所有数据库/表的名称:show databases/tables;查看表的字段信息:desc 表名;查看表的所有信息:show create table 表名;更改当前数据库:use 数据库名;DDL语句创建新表:create table 表名         (

2011-07-21 14:07:38 524

转载 Eclipse快捷键大全

<br />Eclipse快捷键大全<br />Ctrl+1 快速修复(最经典的快捷键,就不用多说了)<br />Ctrl+D: 删除当前行 <br />Ctrl+Alt+↓ 复制当前行到下一行(复制增加)<br />Ctrl+Alt+↑ 复制当前行到上一行(复制增加)<br /

2011-04-23 09:33:00 457

原创 割点

首先请看割点的定义:如果在连通的无向图中去掉某点u后,使得图中联通块增加,则称u为改无向图的割点。关键步骤如下: 1、判断图的连通性,可以直接通过深度搜索或者是并查集的方法。如果保存的是点的信息,使用深度搜索的方法: memset(vis, false, sizeof(vis)); dfs(1); bool flag = false; for(int i = 1; i 如果保存的是边的信息,使用深度搜索的方法:const int maxn = 110;int u[maxn*m

2011-04-04 10:40:00 511

原创 Volume 2. Data Structures :: Lists

<br /> 127 - "Accordian" Patience  模拟题:栈的简单应用,读懂题目之后就比较简单<br />101 - The Blocks Problem 模拟题:栈的简单应用,认真读懂题目之后就比较简单,值得注意的是:题目要求忽略不合法的操作。"Any command in which a = b or in which a and b are in the same stack of blocks is an illegal command."<br />133 - The Dole

2011-03-09 23:51:00 389

原创 SQLServer 2005 关于注册服务器的问题

<br />这学期终于开始学数据库了,但仅仅安装一个SQLServer2005就花上了我两个晚上的时间。。。<br />主要问题是出现在注册服务器的问题上了,在网上看了许久也没有找到正确的解决方法,今晚终于在图书馆弄着弄着就弄好了。<br />以下附上我的解决方法:<br />开始 -> 所有程序 -> Microsoft SQL Server 2005 -> SQL Server Management Studio(右击,以管理员的身份运行)<br />-> 在服务器类型上选择Analysis Servi

2011-02-26 21:14:00 784

原创 Reducing the Number of Gray Levels in an Image

Problem:(a) Write a computer program capable of reducing the number of gray levels in a image from 256 to 2, in integer powers of 2. The d

2011-10-02 00:47:30 2830

原创 VMWare下Fedora不能全屏显示的解决方法

1、首先从VMware Workstation中启动fedora。2、在VMware Workstation中VM - Install VMware Tools,然后fedora中将自动挂载VMware Tools的虚拟光驱(在桌面上显示)。3、把VMware Tools

2011-08-29 22:52:04 4197

原创 HDu1233 还是畅通工程

<br />比较水的一道最小生成树题目,直接用Kruskal算法水过~<br /> <br />#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn = 110;const int maxm = maxn*maxn/2;int u[maxm], v[maxm], w[maxm], r[maxm];int p[maxn];int n, m;int

2011-05-06 20:10:00 415

原创 HDu1232 畅通工程

<br />一道很好的并查集题目。。。<br /> <br />#include<stdio.h>#include<string.h>#include<set>using namespace std;const int maxn = 1010;int fa[maxn];int find(int x){ return fa[x] == x ? x : (fa[x] = find(fa[x]));}#define LOCALint main(){#ifde

2011-05-06 20:00:00 518

原创 HDu 1285 确定比赛名次

<br />比较水的一道拓扑排序题。<br />由于题目对输出结果的顺序有了要求:要求是最小字典序的答案,所以用bfs版本的拓扑排序算法比较容易实现。<br />#include<stdio.h>#include<string.h>const int maxn = 510;int g[maxn][maxn], in[maxn], topo[maxn];bool vis[maxn];int n, m, len;void read_graph(){ memset(g, 0,

2011-05-06 10:46:00 484

原创 [矩阵幂运算] ZOJ 2974 Just Pour the Water

<br />理解题意之后,这题就是一个简单地矩阵幂运算,用类似二分的方法水过~~<br />值得注意的是,当k为0时,水将保留在原来的瓶子里。<br /> <br />#include<stdio.h>#include<string.h>const int maxn = 21;struct Matrix{ double matrix[maxn][maxn];};double ans[maxn];Matrix init, unit;int n;Matrix ma

2011-05-05 22:48:00 758

原创 Socket通信

<br />今晚在学习Socket通信的时候,遇到了几个小问题,<br /> <br />首先是如何获得本机的ip地址,解决方法:通过在命令行输入ipconfig/all<br /> <br />然后就是在运行服务器后出现如下错误:<br />Unrecognized Windows Sockets error: 0: JVM_Bind<br /> at java.net.PlainSocketImpl.socketBind(Native Method)<br /> at java.net.PlainSoc

2011-05-03 00:03:00 492

原创 管道流及其应用

<br />管道流主要是提供在对象之间的传送数据的基本手段,下面以两个线程对象之间传送数据为例子,说明一下管道流的使用。<br /> <br />首先是不使用管道流的情况:<br />在这种情况下,为了能让两个对象之间能够传送数据,就要设置一个存放数据的缓冲区。<br /> <br />使用管道流之后,就很容易实现两个对象之间的数据传送了。<br />package cn.com.zhonghp;import java.io.IOException;import java.io.PipedOut

2011-05-01 10:26:00 502

原创 ZOJ 3332 Strange Country II

<br />原本自己用dfs水过了这题,但后来看了别人的题解后发现,原来这题还大有名堂:竞赛图。<br />竞赛图就是任意两点之间有且仅有一条有向边的图, 可以证明竞赛图一定存在哈密尔顿道路。<br />证明如下:<br />假设节点V0....Vk存在哈密尔顿道路,则添加节点Vk+1时有以下三种情况:<br />(1)Vk+1到V0存在有向边,则把Vk+1插到V0的前面,此时仍存在哈密尔顿道路<br />(2)Vk到Vk+1存在有向边,则把Vk+1放到Vk的后面,此时仍存在哈密尔顿道路<br />(3)如

2011-04-21 00:39:00 1024

原创 《算法艺术与信息学竞赛》(刘汝佳 黑皮书)在pku等网站上的题目

留着自己以后慢慢用~~一.动态规划参考资料:刘汝佳《算法艺术与信息学竞赛》《算法导论》推荐题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 简单http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 中等,经典TSP问题http://acm.pku.edu.cn/JudgeOnline/problem?id=2411 中等,状态压缩DPhttp://acm.pku.edu.cn/JudgeOnline/pro

2011-04-20 10:11:00 2568

原创 PC/UVa 111003/10278 Fire Station

<br />这题就是一个多源的最短路径问题:<br /> <br />先计算出当前已经放好的消防站所对应的各个房子到消防站的最短距离,<br />然后枚举新的一个消防站应该排放的位置,然后选择这些位置中的最优解。<br /> <br />在这里就用了比较简单的Dijkstra水过~<br />#include<stdio.h>#include<string.h>#include<limits.h>const int maxn = 510;int g[maxn][maxn];int f

2011-04-20 02:30:00 1229

原创 PC/UVa 111002/10054 The Necklace

这题就是无向图的欧拉回路问题,要注意的是:(1)图要是连通的,(2)欧拉回路/欧拉路径的输出#include#includeconst int maxn = 51;int g[maxn][maxn];bool vis[maxn];bool app[maxn];int deg[maxn];int n;void dfs(int cur){ for(int i = 1; i

2011-04-20 00:22:00 873

原创 Sicily 2377. Ants Colony

<br />比较经典的LCA问题,如果掌握了Tarjan算法后,这题就很容易地水过了~~<br />本人在学习Tarjan算法时,参考了ylfdrib的博客:http://www.cnblogs.com/ylfdrib/archive/2010/11/03/1867901.html, 感觉他讲得比较清晰易懂,而且又有相关的代码参考。<br /> <br />#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>

2011-04-18 20:19:00 541

原创 ubuntu各种解压命令

<br />一、对于.zip压缩包<br /> <br />sudo unzip archive_name.zip<br /> <br /> <br />二、对于.tar.gz压缩包<br /> <br />sudo tar -zxvf archive_name.tar.gz<br /> <br />三、对于.tar.gz2压缩包<br /> <br />sudo tar -jxvf archive_name.tar.bz2<br /> 

2011-04-15 14:34:00 369

原创 ubuntu下搭建android开发环境

一、安装JDK1.如果默认的sources.list没有jdk资源,则可以通过一下方式添加:    sudo gedit /etc/apt/sources.list,打开sources.list文件,并在文件的最后添加以下代码:    deb http://tw.archive.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse    deb-src http://tw.archive.ubuntu.com/ubuntu/ jaunty

2011-04-15 12:39:00 418

原创 ubuntu无法获得锁的解决方法

<br /><br />例如出现以下情况,(下划线的部分是具体锁的位置,可以根据锁的位置而进行改变)<br /> <br />E: 无法获得锁/var/lib/apt/lists/lock - open (11: 资源暂时不可用)<br />E: 无法对目录 /var/lib/apt/lists/ 加锁<br />E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)<br />E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?<br

2011-04-15 12:18:00 1327

原创 PC/UVa 110905/10029 Edit Step Ladders

这题比较容易想到的方法就是枚举:对于每一个当前输入的字符串(第一个除外),枚举其前面且满足条件的字符串,取其中步数最长的。经过简单的分析可知:算法复杂度高达O(N*N),由于N的取值可以去到25000,所以这种方法显然会超时,所以要找其他方法。参考别人写的题解后,我使用了二分法的思想来完成本题。其实题目的二分法思想也挺明显的!!输入数据是按照字符串的字典序顺序出现的,而对于每一个当前输入的字符串(第一个除外),枚举其所有变化后会产生的字符串,并利用二分法在之前已经输入的字符串中找出步数最长的一个。如果搞懂了

2011-04-07 01:31:00 925

原创 PC/UVa 110903/10099 The Tourist Guide & UVa 10048 Audiophobia

<br />一开始用深搜去做这道题,可能是剪枝没有写好吧, 超时了。后来看了一下别人的题解,发现可以用动态规划来做,其想法和floyd算法的动态规划想法差不多,而这里的问题则转变为:找出任意两点之间最小权边的最大路径。<br /> <br />这题还有一个地方需要注意的是:在计算每条路乘客数量的上限时,司机也应该要算进去的!!!<br />#include<stdio.h>#include<string.h>#include<limits.h>#include<algorithm>using

2011-04-06 14:17:00 634

原创 PC/UVa 110902/10067 Playing With Wheels

<br />本题的题目意思比较清晰:有4个齿轮,每一次可以向左或者向右转动一个齿轮,求两个数是否可到达,如果可以,则输出最短步骤数。<br />由此可见应该用bfs解决。<br />#include<stdio.h>#include<string.h>#include<queue>using namespace std;const int maxn = 10;int s, t;int f[4];bool vis[10010];void setVisited(){ vi

2011-04-06 01:07:00 901

原创 PC/UVa 110901/10004 Bicoloring

<br />由于题目对输入的图给了比较严格的规定:总是连通的,无向的,无自环的。所以使用简单的dfs可以水过~<br />#include<stdio.h>#include<string.h>#include<vector>using namespace std;const int maxn = 210;vector<int> g[maxn];int color[maxn];int n, m;bool dfs(int cur){ for(int i = 0; i <

2011-04-06 01:04:00 528

原创 hdu 1098 Ignatius's puzzle

<br />     本题的题意是要找出最小的a使得任意的x都有f(x)=5*x^13+13*x^5+k*a*x能被65整除,然后我们可以运用数学归纳法进行推论。<br />     (1)可以容易地知道当x==0时,f(0)=0肯定能够被65整除的。<br />     (2)假设x = t时,f(x)=5*x^13+13*x^5+k*a*x也能被65整除<br />所以当x = t+1时,f(x)=5*x^13+13*x^5+k*a*x = 5*(t+1)^13+13*(t+1)^5+k*a*(t+1)

2011-03-27 11:15:00 602

原创 Sicily 1149. 等价表达式

<br />     首先将中缀表达式转换为后缀表达式,然后通过枚举a的值判断两个表达式是否等价的,关于如何将中缀表达式转换为后缀表达式的问题,小兵的专栏(http://blog.csdn.net/bing_bing/archive/2010/12/05/6056876.aspx)有着详细的解释,同时本题还要注意的一点就是数据要用long long来存,在这里wa了好几次了。。<br /> <br />#include<stdio.h>#include<string.h>#include<ctype

2011-03-17 00:42:00 2252

原创 Greedy

1789 Doing Homework again :经典的贪心算法问题(任务调度问题),具体的贪心策略:首先对各项任务进行排序(按score的递减顺序、deadline的递增顺序),然后对每一项任务,先从其deadline开始,按照时间的递减顺序考虑尚未填入任务号的时间空位(初始化1到n的所有时间空位都为空的),如果存在这样的空位,则将任务填入最近的空位,否则将任务放在一个时间最远的空位上,以下为本题的具体代码 1074 Doing Homework :注意区别这一题和上面一题,这题就不能简单地用贪心来解

2011-03-13 12:00:00 564

原创 Graph Theory - Assignment Problem

<br />1287 破译密码 :利用异或的性质a^b=c <=> a^c=b,由于只有26个大写字母,所以直接枚举就可以水过。

2011-03-13 10:09:00 478

原创 BigNums

<br />1002 A + B Problem II :高精度整数的加法,直接套模板水过<br />1042 N! :高精度整数的乘法,还是直接套用模板<br />1047 Integer Inquiry :还是高精度整数的加法<br />1063 Exponentiation :高精度浮点数的幂运算,可能hdoj的数据太强了,在pku ac的代码来到hdoj就tle了。所以直接用了java的大数来做,同时也粘上代码,方便以后的使用,注意要清除前导0和后导0<br />import java.math.B

2011-03-12 23:43:00 510

原创 Volume 7. Graph Algorithms and Implementation Techniques

10746 - Crime Wave - The Sequel二分图的最优匹配问题,题目要求所有匹配边的权和要取得最小值,hqd_acm大牛的博客也对KM算                 法作出了很好的总结,除此之外也要注意这题的浮点数精度问题

2011-03-11 13:58:00 524

原创 Dynamic Programming

1078 FatMouse and Cheese   记忆化搜索,枚举每次可以走的步数(1~k),选择其最大值。1208 Pascal's Travels  记忆化搜索,注意最后结果要用__int64(visual c/c++)或者是long long(gun c/c++)来存。1355 The Peanuts 感觉这题不像是道dp,题目都已经要求要根据花生数目由大到小进行选择,所以直接模拟水过,但如果这题题目没有要求           要根据花生数目来进行选择,应该要怎么做呢,值得思考一下,也望大牛指导

2011-03-10 22:02:00 352

转载 动态规划总结

<br /> <br />动态规划总结<br />写在前面的话:<br />1、本总结的题目均出自vijos动态规划分类和其他著名题库。每道例题都添加了对应的vijos题目的地址链接,可以通过ctrl+单击进入题目。读者在阅读本文以后可以将这些练习题温习以充实提高。<br />2、本文以例题为主,一些具体定义可能会有所偏差,但并不影响算法的正确性。文章最后给出了一些完整定义,如果有兴趣可以阅读。<br />3、如果本文有所疏漏,请与作者联系(QQ:397740194)。本人将不胜感激。<br />动态规划小

2011-01-24 19:50:00 552

原创 1014 hdu 统计问题

<br />这是题目的链接http://acm.hdu.edu.cn/showproblem.php?pid=2563<br /> <br />题目的解法:<br />设ans[n]为走n步的所有不同走法<br />up[n]为第n步是向上时的所有不同走法<br />left[n]为第n步是向左时的所有不同走法<br />right[n]为第n步是向右时的所有不同走法。<br /> <br />则有以下递推关系:<br />up[n] = up[n-1] + left[n-1] + right[n-1]<b

2011-01-24 14:51:00 565

原创 hdu 1051

<br />这是题目的链接http://acm.hdu.edu.cn/showproblem.php?pid=1051<br /> <br />本题是一个比较简答的贪心算法题目,关键在于贪心策略的选择:<br />1.先按照木条的长度(或者重量)进行升序排序,如果木条的长度(或者质量)时,按照其质量(或者长度)进行升序排序。<br />2.对所有木条进行排序后,依次进行选择满足题目条件的木条。<br /> <br />由于题目要求当且仅当 l<=l' and w<=w'时,才不会消耗时间,所以可以证明以上贪

2011-01-17 02:44:00 2760

原创 hdu 1050

这是hdu的题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1050总的来说,这题的思路是比较简单的,是一个简单的重叠数计算,但有以下两个问题需要注意一下:1.房间是对称两排分布的2.每次输入的两个房间号不一定要按照升序或者是降序进行排列#include#includeconst int maxn = 210;int room[maxn];inline void swap(int &a, int &b){ int t = a;

2011-01-17 02:03:00 2111

原创 hdu 1053

<br />这是题目的链接http://acm.hdu.edu.cn/showproblem.php?pid=1053<br /> <br />此题是一道很纯朴的哈夫曼树编码问题,但由于一个特殊的边界条件,贡献了一个wrong answer。<br />如果有做这题wa的同学可以试试以下这个测试数据:<br /> <br />Sample Input:<br />________<br />END<br /> <br />Sample Output:<br />64 8 8.0<br /> <br />#i

2011-01-17 01:17:00 1565

原创 盒子里的气球

<br />盒子里的气球(World Finals 2002 Balloons in a Box)<br /> <br />附下福州大学的oj上的链接 http://acm.fzu.edu.cn/problem.php?pid=1515<br /> <br /> <br />#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>#include<algorithm>using namespace std;

2011-01-16 23:36:00 3373

空空如也

空空如也

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

TA关注的人

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