自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (8)
  • 收藏
  • 关注

原创 SPOJ GCJ1C09C (区间dp)

对监狱区间dp,也很好理解,不再赘述。#include #include #include #include #include #include using namespace std;const int INF = 0x3f3f3f3f;const int maxn = 10005;int a[maxn];int P, Q;struct State{ int

2016-11-29 22:01:27 389

原创 EOJ 1780 Escape bfs

这道题就是一道单纯的bfs,不过难点是如何表示转弯,也就是说当人面朝南的时候,左转,右转,前进分别对应着矩阵中的上下左右的哪几种情况呢?这道题和刘汝佳书上的一道迷宫类似,那道题的难点也是如何表示方向。我们假设0,1,2,3分别表示北,西,南,东。一般的bfs我们不都是要设一个行走数组吗, 现在我们把数组设成const int dx[] = {0, 1, 0, -1};//左下右上co

2016-11-29 11:05:27 428 1

原创 EOJ 1224 简单迷宫问题 bfs

需要注意的是,每个点的权值是不一样的。普通的bfs,每个点的权值都相同,也就是每一层之间的距离是一样的,那么第一次搜索到这个点的时候,层次数最小,就是最短距离。但是这道题中层次数最小并不一定是距离最小,搜索了5层 ' X ',和搜索了6层 ' . ' 哪个距离短?很明显是6层的距离短。所以即便先前已经搜索到了这个点,后面的搜索依然需要将这个点的距离更新。所以我们不需要设vis数组来表示搜索过没有。

2016-11-28 16:03:42 462

原创 codeforces 733C Epidemic in Monstropolis 贪心

题意很简单,很明显看出最后形成的队列,可以把最初的队列划分成一段一段。也就是问题转化成了某一段能不能通过吞吃变成一个。起初总是受到误导,认为一个队列中是同时开始吞吃的。实际上从开始到最后只有一个怪兽在吃。就是最大的那一个。只要一个队列中存在一个最大的,同时他们又不全部相同。那么这个队列就可以最后变成一个怪兽。这道题真的是烦啊,总是写错。看来还是代码基本功不扎实。主要是更新队列中点的下标的时

2016-11-27 15:41:15 347

原创 CodeForces 729C Road to Cinema 二分

这道题我自己的思路是找到一个能够在要求时间内到达的最小油量,然后将车辆按照价格从小到大排序,第一个油箱大于最小油量的车子就是我们的选择。怎么求最小油量呢?采用贪心的算法。首先我们要解一个方程组假设在这s米内,加速的距离是x, 平速的距离是y,很容易得出x + y = sx + 2 * y = t然后得出x = 2 * s - t。现在我们要把这段加速距离分配下去,也就是

2016-11-26 22:21:22 488

原创 POJ 3169 差分约束系统 + spfa

具体讲解看链接,证明的很清楚,神奇的差分约束系统将不等式和图论中的最短路联系起来,数形结合应用的妙不可言。http://blog.csdn.net/zhang20072844/article/details/7788672代码如下:#include #include #include #include #include #include #include #include

2016-11-26 13:38:58 344

原创 POJ 3723 Conscription 最大生成树 + 并查集

看了挑战上的这道题,一开始根本没反应过来这就是最大生成树。不过仔细想想,如果我们把是朋友或者间接是朋友的人都放在一个集合,那么但我们通过a来招募b的时候,就在a和b中间连一条边,权值就是a和b的亲密度。当我们把这个集合中的人都招募完的时候,是不是集合中的人都被一条条边连接起来了呢?此外,为了使我们的总花费最小,我们肯定希望他们的亲密度之和最大(节省的钱最多),也就是使得这个连通块的边权值最大。这不

2016-11-26 10:26:23 410

原创 POJ 3277 线段树 + 延迟标记

本题就是给出一堆矩形,然后让我们算总共的面积,也就是重复的面积只算一次。需要用到线段树,每次输入矩形的左端点和右端点,还有高。我们就把这条线段插进去,线段的高度取较高的那一个。注意到这和普通的线段树不太一样,普通的情况是,当我们插入的线段完全覆盖线段树中的某一条线段时,那条线段的值就被更新成插入的线段的值。但是本题的情况却不太一样,当我们插入的线段完全覆盖线段树的某一条线段时,如果现在的权值大于原

2016-11-25 14:35:55 551

原创 POJ 2528 线段树 + 延迟标记 + 离散化

通过这道题学到了很多知识,总结了以后有以下三点:1.线段树的创建只是一个初始化的过程,如果初始化的值都为0的话,只需要memset,根本无需写一个递归建树的过程2.模板中的pushup函数也不是必须的3.离散化,当点的数目很少,但是点的值又很大的时候,可以考虑离散化,既可以降低复杂度,又不至于爆内存。本题就是不断的用所给区间染色,最后再查询有多少种颜色就可以了。思路无需赘述,不过代

2016-11-22 11:09:40 349

原创 EOJ 2458 线段树

本题很明显是线段树。关键怎么求出区间最大的频率呢?一个区间最大的频率等于左区间最大频率,右区间最大频率,中点向两边拓展的长度,这三个值中最大的那个。这道题另外一个要点就是我们在询问中肯定要做很多次拓展,难道每次都要做O(n)的搜索吗?很明显不是,只要我们预处理出每个点向左向右最多能拓展的距离,以后每次拓展就可以用之前预处理的数据了。复杂度是O(1)。代码如下:#include #in

2016-11-19 20:27:13 406

原创 EOJ 2525 线段树 + 延迟标记

第一次写线段树hh。本题很明显要用到线段树,因为是成段更新,如果不用延迟标记的话(每次更新到叶子节点)更新操作的复杂度就是o(n),用了延迟标记(每次更新到完全覆盖的节点)更新的复杂度就减成了o(logn)。还有一开始的时候一直以为一个节点只能被标记一次,在wa了无数次之后,顺便看了些大牛的模板,才发现一个点可以被包含多次(这个节点多次把它的延迟标记给它的儿子节点,但是它的儿子节点从来没有把延

2016-11-19 16:29:33 542

原创 基数树实现位串的字典排序

按照基数树的定义,字符串的第一位如果是0,第一层的时候就向左转,第一位是1,第一层的时候就向右转。第二位是0,第二层的时候就向左转,第二位是1,第二层的时候就向右转。以此类推,按照输入构建出一棵树。我们可以用两个辅助字符串,remain和used。remain表示我们还剩下什么字符,used表示我们已经使用了哪些字符。假如我们要将011插入树中,刚开始的时候remain = “011”, used

2016-11-14 19:56:40 617

原创 POJ 2418 二叉搜索树

根据题目的输入建立一颗二叉搜索树,并在节点中开一个域表示出现的次数。也可以用map来解决。下面是具体代码#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2016-11-14 15:58:30 484

原创 二叉搜索树的实现和前序遍历

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2016-11-14 13:47:32 708

原创 POJ 1456 贪心

首先按照最晚售出时间对所有商品排序。然后从最晚售出时间最早的开始考虑。如果在之前还有时间段是空着的,那么我们就把这个商品在那个时间段出售。如果之前没有时间空着了,那么我们在前面找一个价格最小的商品,如果当前商品价值大于最小价值,就替换那个最小价值的商品。如果当前商品价值比之前最小价值还要小,就不替换。代码如下:#include #include #include #include

2016-11-13 18:41:48 303

原创 POJ 2524 并查集

最基本的并查集,没什么说的#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

2016-11-13 18:25:59 278

原创 POJ 1308 并查集

题目的意思就是输入一组有向边,让我们判断是不是一颗树。我们知道,如果把树上的有向箭头去掉之后,树其实就是一个无环单连通无向图。所以在输入的时候我们就可以把它当做无向边建立并查集。如果两个点在同一集合内,就是有环,不是树。在并查集建立完了之后再判断有几个连通块,如果有多个,则不是树。那么现在我们把没有方向的树的特性判断完了,那么加上箭头该怎么判断呢?用一个数组表示每个点的入度。一棵树有且只有一个

2016-11-13 18:22:22 399

原创 hash表实现单词检错功能

思路就是为单词表建立一个hash表,对于输入的一个文件,对于他的每一个单词检查是不是在hash表中,如果在这个单词就是正确的,不在就是错误#include #include #include #include #include #include #include #include #include #include #include #include #include

2016-11-13 17:53:42 1505

SDK:对话框,光标,字符串,位图,应用图标,语言

SDK:对话框,光标,字符串,位图,应用图标,语言

2017-06-10

代码:lab04.zip

lab04.zip

2017-06-09

pytesser_v0.0.1

OCR模块使用示例代码

2017-06-09

tesseract-ocr模块

tesseract-ocr模块

2017-06-09

pytesser_v0.0.1.zip

pytesser模块的使用示例代码

2017-06-09

SDK源代码exe文件

这是博客中代码的exe文件。因为源程序文件中资源种类太多,所以直接打包成exe。

2017-04-20

SDK程序源代码

SDK程序源代码

2017-04-17

N皇后解法总结

N皇后解法总结

2017-03-29

空空如也

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

TA关注的人

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