自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GentleH's

Keep struggling against the weakness of human nature..!

  • 博客(158)
  • 收藏
  • 关注

转载 一直以来伴随我的一些学习习惯(part2)

转载自:http://blog.csdn.net/pongba/article/details/2681668一直以来伴随我的一些学习习惯(part2)By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba) 接着上次的写。1. 学习和思考的过程中常问自己的几个问题:你的问题到底是什么?(提醒自己思考不要偏离问题。) OK

2013-08-08 01:26:14 441

转载 一直以来伴随我的一些学习习惯(四)——程序员的知识结构

转载自:http://blog.csdn.net/pongba/article/details/3456240 一直以来伴随我的一些学习习惯(四)——程序员的知识结构By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba)TopLanguage(https://groups.google.com/group/pongba)

2013-08-08 01:15:10 941

原创 对KMP算法的认识和总结

对KMP算法的认识和总结I.什么是KMP算法KMP算法适用于模式串对文本的快速匹配,在暴力的匹配算法中,需要遍历文本串,设文本串的长度为n,模式串的长度为m,时间复杂度为O(n*m),在大数据下显然不行的。KMP算法则可以在最坏情况O(n+m)下完成匹配。II.KMP算法中的匹配过程next[]数组是KMP算法的精髓,首先给出例子:ababacab,字符串的下标从0开始

2013-09-11 22:40:54 623

原创 HDU 1867 A + B for you again (KMP)

个人觉得,KMP算法中,讲得最容易懂的是Matrix67那个版本:http://www.matrix67.com/blog/archives/115/这道题的意思是,给两个字符串a和b,问a和b是否可以连接,求连接后长度最短的,在最短的条件下,再取字典序最小的。比如样例中的asdf和sdfg,可以连接成asdfg和sdfgasdf,明显前者才是符合要求的答案。要找长度最短的,自然是有两种连

2013-09-09 22:10:54 509

原创 Ubuntu 将应用程序添加到启动器

1. cd '/usr/share/applications'2. sudo gedit 应用程序名字.desktop3. 在弹出的文本里添加:[Desktop Entry]Type=ApplicationName=名字Comment=描述Icon=/应用程序所在文件夹/icon.xpmExec=/应用程序所在文件夹/应用程序Terminal=falseCa

2013-09-09 16:48:34 843

转载 Ubuntu 安装 JDK7

转自:http://blog.csdn.net/cmdkmd/article/details/93948251  下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 我的机器是x86的 jdk-7u25-linux-i586.tar.gz 2   解压

2013-09-09 15:55:17 730

原创 POJ 1035 Spell checker (trie树)

题目大意:给一系列字符串,构成一个词典,然后有若干询问,每个询问为一个字符串x,问字符串是否在词典中,若在则输出x is correct,否则,通过删除x中的某个字符,或者替换x中的某个字符,或者在x中的插入一个字符,使得得到的新字符在词典中,全部输出。输出时要按照词典中字符串的存在顺序。(词典中最多有10000个单词,字符串的长度最大为15,最多有50个询问。)简单的trie树应用。每个结点

2013-09-05 21:00:37 518

原创 LA3983 Robotruck (单调队列优化DP)

Problem links: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1984题目大意:给出一些垃圾点的坐标x,y(x,y为非负整数)以及每个垃圾的重量,给出机器人的携带量cap,垃圾桶在原点(0,0),机器人从原点出发按顺序拣垃

2013-09-02 19:36:37 390

原创 HDU 3516 Tree Construction (四边形优化DP)

题目大意:给出n个点的坐标,对于 i y[j]。问如何将这些点连起来,线只能向上或者向右。求线最短是多大。定义状态dp[i][j]表示从点i到点j,连起来需要线的最小值。则得到转移方程为:dp[i][j] = min(dp[i][k]+dp[k+1][j]+cost[i][j]);其中i考虑到该式子跟一般四边形优化的DP是一样的,所以只要证明cost[i][j]是单调递减的即可。

2013-08-23 17:04:53 413

原创 UVa 10304 (黑书例题,DP)

Problem Links: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1245题目大意:给出N个节点,每个节点都有一个值f,问如何构造一棵二叉树,使得f[1]*dis[1]+f[2]*dis[2]....*f[n]*dis[n]的值最小。其中di

2013-08-22 10:54:30 471

原创 UVa 10534 Wavio Sequence (黑书例题,DP)

Problem links: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1475最长上升子序列问题。由于N#include #include #include #include #define SIZE 10010using nam

2013-08-22 00:06:44 378

原创 POJ 1691 (黑书习题,平板涂色)

考虑到矩形个数不超过15个,自然首先想到状态压缩DP。对于每个方块,若已经涂色则对应位置为1,否则为0。则最终状态为(1dp[state][k] = min(dp[state][k],dp[state+t][color]) ---当color == k时;dp[state][k] = min(dp[state][k],dp[state+t][color]+1) ---当color != k

2013-08-20 19:28:27 782

原创 POJ 1337 偷懒的工人 (黑书习题)

题目描述略为坑爹,其中n取值应该为0定义状态dp[i]表示在i时刻时,还需要工作的最少时间。由条件可以知道,每一个工作所能被做的时间段为ai~di-ti,这样便可以根据输入把每个时刻可以做的工作构成一个集合。所以对于时刻i,有dp[i] = min(dp[i],dp[i+t[k]]+t[k]);表示在i时刻做了第k个工作。如果i时刻没有工作可做,则dp[i] = dp[i+1]。边界条件为dp

2013-08-20 09:49:46 520

原创 POJ 3254 & POJ 1185 (状态压缩DP)

POJ 3254题目大意:给一块n*m大小的田地来种东西,每一小块只能种一颗,且相邻的块不能都种。问有多少种种地方案(不种也是一种方案)。答案模上一个给定的数。1(1)首先想到用一个二进制数来表示某行的种植状况,二进制位上是1代表种了,0代表没种。那么m取最大12时,只需1<<12以内的数就能表示所有状态。令dp[i][s]表示第i层,用s这种种植方法的总方案数,可以知道,由s可以推出下一

2013-08-15 16:48:29 305

原创 POJ 3311 Hie with the Pie (状态压缩DP)

题目大意:规定原点为0,给出n,表示除了原点外还有n个点。然后给出一个矩阵dis[][],dis[i][j]表示i到j的距离。要求每个点都走过一次,并且最终回到原点,求最短路。其中点是可以重复走的。1这是经典的旅行商问题(TSP),入门状态压缩DP,其中n的取值是个标志。由于n 定义状态dp[state][k]表示在状态state,且最终停留在k点时的最短路。则有转移方程:dp[s

2013-08-14 21:02:27 438

原创 HDU 3062 & HDU 1824 (2-sat入门题)

《由对称性解2-SAT问题》:http://wenku.baidu.com/view/afd6c436a32d7375a41780f2.html所谓2-sat问题,就是在满足一定逻辑条件下,是否存在可行解的问题,这里的“可行”指的是在逻辑上不出现矛盾。具体参见上述ppt,确实是非常不错的讲解。问题类型:通常来说,一般是有若干个组,每一个组有两个元素,A和A',二者只能选择一个。同时还有

2013-08-08 22:59:25 438

原创 URAL 1143 Electric Path (黑书例题,DP)

Problem Links: http://acm.timus.ru/problem.aspx?space=1&num=1143 由于所有点构成一个凸多边形,所以要使总线路最短,则线路必不相交。所以第 i 个点,必然只能走到 i+1 或者 i-1,当然对于点1的话,则走到2或者n(环状)。定义状态dp[s][l][0]表示从s出发,遍历 l 个点的最短线路,dp[s][l][1]表

2013-08-07 23:34:54 910

原创 ECNU 1600 公路巡逻 (黑书例题,DP)

Problem links: http://202.120.80.191/problem.php?problemid=1600 定义状态dp[i][j]表示目标车经过i个站,历时j秒所遇到的最少巡逻车。则答案为dp[n][j],满足条件的最少时间即为j。得到的状态转移方程为:dp[i][j+a] = min(dp[i][j+a],dp[i-1][j]+meet);其中meet为目标

2013-08-07 15:12:14 703

原创 HDU 4651 Partition

PartitionTime Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 117    Accepted Submission(s): 61Problem DescriptionHow many ways can the num

2013-08-06 22:53:56 355

原创 UVALive 2031 Dance Dance Revolution

黑书例题4 --- “舞蹈家”怀特先生problem links:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=32 容易得到dp[x][y][k]的状态,表示左脚在x,右脚在y,跳了k步时花费的最少体力。则有:dp[arr

2013-07-31 21:30:16 468

原创 POJ 2342 & HDU 1520 Anniversary party (树形DP)

入门树形DP。dp[i][0]表示不选i时的最优值,dp[i][1]表示选i时的最优值,则有: dp[i][0] = max(dp[j][0],dp[j][1]), dp[i][1] = dp[j][0] + v[i];其中j是i的儿子节点,v[i]是取i时获得的值。#include #include #include #include #define SIZE 6060

2013-07-28 13:37:31 275

原创 RQNOJ 49 加分二叉树 (树形DP)

题目描述设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数若某个子树为主,规定其加分

2013-07-27 22:53:25 696

原创 归并排序

#include #include #include #include using namespace std;void Merge(int *arr, int left, int mid, int right, int *res){ int i = left, j = mid+1, k = left; while(i <= mid && j <

2013-06-18 21:24:12 260

原创 堆排序

堆类似一颗完全二叉树,根节点是一个最值,同时它的左右两颗子树也是堆。下面以最大堆为例,插入操作跟插入排序是一样的,把新加入的节点放到树的最后面,然后跟它的父亲比较,如果比父亲比它小,则互换位置,直到找到某个祖先节点大于它时停止。取最大值则直接取根节点,若删去该节点,则要重新调整堆,使得该堆仍是最大堆。做法是把树中最后一个节点放到根节点,然后向下查找,跟其值最小的孩子互换位置,直到找到一个大于它的子

2013-06-12 14:31:24 318

原创 快速排序

无聊练习下快排:非递归版(从大到小):#include #include #include #include using namespace std;int Stack[1024],top;int solve(int *arr, int st, int ed){ int tem = arr[st]; while(st < ed)

2013-06-11 22:15:12 348

原创 CodeForces #187.div2.problem E

E. Sereja and Subsequencestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSereja has a sequence that consi

2013-06-09 10:55:31 572

原创 POJ 1236 Network of Schools (强连通分量+缩点)

Network of SchoolsTime Limit: 1000MS  Memory Limit: 10000K Total Submissions: 8935  Accepted: 3523 DescriptionA number of schools are connected to a computer network. Agreements have been deve

2013-05-30 09:39:29 456

原创 HDU 1827 Summer Holiday (强连通分量+缩点)

根据题目要求,只需求出各个强连通分量,然后进行缩点。缩点后找出入度为0的点即是需要打的电话数,也就是说找出能覆盖整张关系网的点。因为要求费用最低,所以在求出一个强连通分量时(栈弹出时)找到最小值,记录起来代表该连通分量(即缩点)的值。#include #include #include #include #include #define SIZE 1001using namesp

2013-05-29 20:23:21 340

原创 POJ 3680 Intervals (最小费用最大流+离散化)

IntervalsTime Limit: 5000MS  Memory Limit: 65536K Total Submissions: 5618  Accepted: 2226 DescriptionYou are given N weighted open intervals. The ith interval covers (ai, bi) and weighs wi. Yo

2013-05-28 19:01:20 549

原创 POJ 3422 Kaka's Matrix Travels (最大费用最大流)

Kaka's Matrix TravelsTime Limit: 1000MS  Memory Limit: 65536K Total Submissions: 6538  Accepted: 2594 DescriptionOn an N × N chessboard with a non-negative number in each grid, Kaka starts his

2013-05-28 10:00:45 464

原创 HDU 4198 Quick out of the Harbour (bfs)

简单的bfs。题意是从某个点出发,问怎样才能最快走到出口。其中 . 代表空地,@代表桥,每座吊桥首先要放下来,这个过程需要D时间,然后过桥再消耗单位时间。这里的小技巧是需要用到结构体priority_queue。#include #include #include #include #include #define SIZE 512using namespace

2013-05-27 19:25:40 394

原创 HDU 2412 Party at Hali-Bula (树形DP + hash)

Party at Hali-BulaTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1114    Accepted Submission(s): 376Problem DescriptionDear Contestan

2013-05-22 16:42:17 380

原创 CodeForces 245H Queries for Number of Palindromes (区间DP)

H. Queries for Number of Palindromestime limit per test5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou've got a string s

2013-05-22 01:02:56 899

原创 HDU 4274 Spy's Work (dfs)

每一个节点维护一个下限和一个上限,初始化为1和inf。根据输入的大小关系,可以相应更改该点的上下限。比如输入se,则点s的下限修改为e+1,若s=e,则是上下限都为e。然后判断是否下限大于上限,若是,则说明是lie了。考虑到父亲节点的上限是不受孩子的影响的,所以dfs的时候只需根据孩子的下限来修改父亲的下限,每次返回到当前点的时候,判断是否出现下限大于上限的情况,若有,则标记。#include

2013-05-22 00:11:33 581

原创 HDU 4267 A Simple Problem with Integers (线段树)

此题添加了更新条件,既对于区间[l,r],对于i属于[l,r],必须有(i-l)%k==0的点才能更新。由此知道i%k == l%k,因为只有这样才能满足(i-l)%k==0。考虑到k更新的时候,只需把该区间内的res[rt][l%k]更新即可,原因是上述的i%k == l%k。res[rt][l%k]表示的是一个区间内和l同模的所以点。查询操作要更新到底,注意从根节点开始记录更新情况,因

2013-05-21 20:18:33 322

原创 HDU 4277 USACO ORZ (dfs + hash)

USACO ORZTime Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2181    Accepted Submission(s): 773Problem DescriptionLike everyone, cows enj

2013-05-21 19:48:18 492

原创 HDU 4294 Multiple (数论+bfs)

MultipleTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 616    Accepted Submission(s): 159Problem Description  Given a positive intege

2013-05-18 21:09:20 438

原创 HDU 4291 (矩阵快速幂+循环节)

A Short problemTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1026    Accepted Submission(s): 407Problem DescriptionAccording to a re

2013-05-16 21:36:36 534

原创 HDU 4288 && Codeforces 85D (线段树+离散化+离线处理)

首先,为什么要离散化和离线处理?因为输入的数字会很大,可以达到10^9,但输入的N最多为10^5,即做多添加100000个数(不删除任何数),所以把输入的值进行排序,离散成1~100000,同时这也可以知道要建多大的线段树。离散化的时候,经常要用到去重操作和查找操作,一般查找是用二分查找的。通过这题学习到了两个新的STL。1)unique:去重 2)lower_bound:返回第一个比需要

2013-05-16 16:07:44 530

原创 HDU 3555 Bomb (数位DP)

BombTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 3558    Accepted Submission(s): 1245Problem DescriptionThe counter-terrorists fou

2013-05-14 19:15:15 369

空空如也

空空如也

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

TA关注的人

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