自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 Trie树的应用

补充知识:binary_search 函数既可以用来普通数字数组的二分查找,也能用来二分查找字符串数组,但前提是字符串数组是按字典序的顺序排好,不过貌似在普通数组中,排序后的数组可直接用binary_search( first,last, value)(应该是默认从小到大排序),但对于字符串数组,用binary_search要自定义一个与其排序规则相同的比较函数例如:bool comp( st...

2016-07-28 00:37:22 244

原创 Trie简要模板(动态实现和静态实现)

动态实现   //动态trie的实现(占据内存大,但速度快)#include <iostream>#include <vector>#include <string>#include <cstdio>#include <cstring>using namespace std;const int branc...

2016-07-28 00:12:03 443

转载 C++ 逻辑运算符总结

c/c++的|、||、&、&&、异或、~、!运算 (2011-09-16 15:19:50)转载▼标签:  运算符   右移   二进制   左移   c语言   it 分类: C  位运算    位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是...

2016-07-27 07:51:39 5103

原创 poj -2559

DP:用2个数组r[i],l[i]表示以第i个矩形的高度并包含这个矩形所组成的最大矩形的左右宽度的边界位置;扩展左边界:1。如果第j个矩型的高度比第i个矩阵(1<j<i)的高度低则做边界位置为i,即l[i]=j+1,终止;2。如果高(或相等),则继续向左扩展,直到符合条件1。就终止。扩展右边界:类扩展左边界。以下对于扩展左边界的解释:n(100000)数...

2016-07-24 01:43:38 276

原创 单调栈(poj -- 2559)

 单调栈,顾名思义就是说栈内的元素,按照某种方式排序下,必须是单调的。如果新入栈的元素破坏了单调性,就弹出栈内元素,知道满足单调性。它可以很方便地求出某个数的左边或者右边第一个比它大或者小的元素,而且总时间复杂度O(N)。   1. 题目大意:链接给出一个柱形统计图(histogram), 它的每个项目的宽度是1, 高度和具体问题有关。 现在编程求出在这个柱形图中的最大...

2016-07-23 20:54:20 3711 1

原创 ST表的应用(poj--3368)

DescriptionYou are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries consisting of indicesi and j (1 ≤ i ≤ j ≤ n). For eac...

2016-07-23 06:21:40 526

原创 ST表与二分 (CodeForces 689D-Friends and Subsequences)

 Friends and Subsequences题目链接:http://acm.hust.edu.cn/vjudge/contest/121333#problem/HDescriptionMike and !Mike are old childhood rivals, they are opposite in everything they do, except progra...

2016-07-23 04:35:13 332

原创 RMQ--ST表算法理解

RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。 ST算法(Sparse Table),ST(Sparse Table)算法是一个非常有名的在线处理RMQ问题的算法,它可以在O(nlogn)时间内进行预处理,然后在O(1...

2016-07-21 11:59:59 3458 4

原创 从最简单的必胜态入手

http://acm.hdu.edu.cn/showproblem.php?pid=1525 HDU 1525题意:给定两个正整数a,b。每次操作,可以将大的数减掉小的数的整数倍(减去后不能为负数)。如果一个操作者,将a,b中一个数变成0时游戏结束,并且该玩家胜利。求先手必胜还是后手必胜。 分析:不妨设a>b. ①  若a%b==0先手必胜。             ...

2016-07-19 13:18:07 803

转载 HDU 1564 考虑奇偶性的变化

http://acm.hdu.edu.cn/showproblem.php?pid=1564从一个n*n的角落出发,每次移动到相邻的,而且没有经过的格子上。谁不能操作了谁输。结论就是n为偶数,先手赢,奇数,后手赢。可以看下图 S表示起点。如果n为偶数,那么所有格子可以被2*1的砖块覆盖掉。这样先手每次都移动到当前1*2的另外一块。先手必赢。 如果n为奇数。出...

2016-07-18 16:14:02 244

转载 博弈论总结

我只是个搬运工…… 博弈论小结by xaphoenix写在前面第一次写一个专题的总结,由于笔者水平有限,所以里面肯定会有很多不恰当之处,希望读者不吝赐教。此外,这个小结中,有大约2000字的直接复制粘贴的知识介绍,有几道题的题目分析或者题意概括来源于网上各位大牛的博客,所以笔者不具有著作权,具体的参考资料在本文最后列出。另外,为了节省页数(准备把这个带到现场),所以排版比较凌乱...

2016-07-18 16:00:39 8646 1

转载 博弈论总结

首先当然要献上一些非常好的学习资料:基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530经典翻硬币游戏小结:http://blog.csdn.net/acm_cxlove/article/details/7854534经典的删边游戏小结:http://blog.csdn.net/acm_cxlove/articl...

2016-07-18 14:33:48 374

原创 尼姆博弈(n堆)

2016-07-18 13:29:57 575

原创 威佐夫博弈(2堆)--取石子游戏(将胜态转变成必败态)

http://acm.hdu.edu.cn/showproblem.php?pid=2177  分析思路见注释: #include <iostream>#include <cmath>using namespace std;int main(){ long long a,b,i; double t=(sqrt(5)+1)*...

2016-07-18 11:56:45 485

原创 威佐夫博弈(2堆)应用-- HDU 1527 取石子游戏

Problem Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。  Input输入包含若干行,表示若干种石子的...

2016-07-18 01:27:01 590

转载 对vector等STL容器进行排序

西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别。1 STL提供的Sort 算法C++之所以得到这么多人...

2016-07-18 00:45:29 350

原创 巴什博奕

 实例: 分析:1张牌,先抓胜。           2张牌,先抓胜。           3张牌,后抓胜。           4张牌,先抓胜。           5张牌,分析:先抓的人第一次不能让自己胜,那尽量使剩下的牌数 得到的结果一定是后抓胜,如果不能,则说明结果是后抓胜。剩下3张牌的结果是后抓胜,所以先抓的人先抓2张,这样自己一定保证胜。    ...

2016-07-17 22:57:59 256

原创 Floyd算法--+贪心算法

http://poj.org/problem?id=3615题目大意:给你n个站,有m条边,每条边有一个耗费值。问你如果A站到B站可通,选一条路,每条可行路径上的相邻两站的耗费值有一个确定的最大值,使得尽量让这个值最小,输出。否则输出-1.(有向无环图)分析:先确定任意两站间的最短路径,再找最大耗费值 #include <iostream>#incl...

2016-07-17 21:53:31 1947

转载 int数组为什么一般不能用memset初始化每个元素

对于整数型数组,若要是初始化为非0的值时应该使用for循环而对于字符型 或 0  应该使用memset 函数如下是可以的,能把数组中的元素值都设置成字符1,#include <iostream>#include <cstring>using namespace std;int main(){ char a[5]; memset(a,'1'...

2016-07-17 21:28:58 7415

转载 Floyd --任意两点之间的最短路问题

http://bbs.ahalei.com/thread-4554-1-1.html【啊哈!算法】算法6:只有五行的Floyd最短路算法[复制链接]      电梯直达 楼主 发表于 2014-3-25 08:08:22|只看该作者|只看大图         暑假,小哼准备去一些城市旅游。有些城市之间有公路...

2016-07-17 17:12:38 838

原创 区间选点问题

<a target=_blank target="_blank" href="http://acm.hdu.edu.cn/showproblem.php?pid=2037">http://acm.hdu.edu.cn/showproblem.php?pid=2037</a>#include <iostream>#include <cmath>...

2016-07-17 16:34:11 327

原创 poj --3614 Sunscreen

http://poj.org/problem?id=3614 题意有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值,太大就晒伤了,太小奶牛没感觉。而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值。那么为了不让奶牛烫伤,又不会没有效果。给...

2016-07-17 16:01:06 250

转载 scanf printf 与cin cout 时间的差别

原文链接昨天在OJ上看到一个很水的题,题意就是两个递增序列,输出合并后新序列的中值(详细描述可参见我的另一篇文章http://hi.baidu.com/i5love1you9/blog/item/250f57d671b6f41aa08bb721.html)。当时也闲来无事,于是决定动手写写。刚开始也没怎么在意,认为该题随便都能AC。可提交的结果却TLE了,当时就郁闷了,这算法不可能会有问题啊,...

2016-07-16 21:18:05 1779

原创 二分应用--衣服晾干问题

有n件衣服需要晾干,每件含水量ai.每件衣服每分钟自然干1单位的水.每分钟可以对其中任意一件使用吹风机,其可以减少k的水.求晾干所有衣服的最少时间.  分析思路:利用二分逼近的思想。假设需要 x 分钟能够晾干,则含水量ai<=x的衣服让其自然晾干,ai>x的衣服需要吹风机,设其需要吹风机的吹的时间为ti,  则(x分钟能吹干的水量)ti * k + x-ti >=...

2016-07-16 21:16:25 519

原创 贪心题例

贪心各种问题: 贪心思想在许多算法中都有体现。例如,图论中求最短路的Dijkstra算法,求最小生成树的Prim算法和Kruskal算法都是典型的贪心算法。    贪心思想的理论部分不难理解,关键就在于面对不同问题的时候,能否准确地发现问题的最优策略。对于简单的题目而言,贪心策略往往是显而易见的,但更多的情况下,贪心策略是需要通过分析很多推理得到的。     ①如:给出n个数{a_...

2016-07-15 23:26:14 1211

原创 区间覆盖问题

区间覆盖问题思想:给出数轴上的n各闭区间[a_i,b_i],选择尽量少的区间覆盖一条指定线段[s,t]。  首先,既然目标是覆盖线段[s,t],那么每个区间在这个范围之外的部分是不起任何作用的,先将它们切去。所谓切去是指如果一个区间的左端点小于s,那么将它的左端点改为s,如果一个区间的右端点大于t,那么将它的右端点改为t。  接着,将各个区间按照左端点从小到大的顺序排序。如果左端点最小...

2016-07-15 14:35:49 1138

原创 区间选点问题---poj-1328

解题思路:题意为,在一个坐标系中,x中代表海岸,x轴以上有n个点,代表着n个岛屿,在x轴上建雷达,一直雷达的覆盖范围为半径为d的圆,求在x轴上最少建多少个雷达,才能把全部的岛屿覆盖起来,如果不能覆盖,输出-1.区间选点问题为  给定 n个闭区间,求在里面选择最少的点使得每个区间里面都包含至少一个点(一个点可以在不同的区间)。   比如下图。贪心策略为  把n个区间先按照右端点从小到...

2016-07-14 20:08:17 680

原创 贪心--区间选点问题

数轴上有n个闭区间[a_i,b_i]。请选择尽量少的点,使得每个区间内都至少有一个你选择的点。  思考:选择什么样的点才是最划算的?  一个直观的思想是这样的,既然我要选择尽量少的点使得每一个区间都包含至少一个我选的点,那么我选的点一定的“发挥最大效力的”,也就是说,能够使得尽量多的区间包含我所选择的点。最理想的情况下,假设这n个闭区间的交集不为空,那么只要选择位于交集内的一个点,就可以满...

2016-07-14 18:39:42 3076

原创 DFS--poj 2488

http://poj.org/problem?id=2488大致题意:给出一个p行q列的国际棋盘,马可以从任意一个格子开始走,问马能否不重复的走完所有的棋盘。如果可以,输出按字典序排列最小的路径。打印路径时,列用大写字母表示(A表示第一列),行用阿拉伯数字表示(从1开始),先输出列,再输出行。分析:如果马可以不重复的走完所有的棋盘,那么它一定可以走到A1这个格子。所以我们只需从A1这个格子...

2016-07-13 22:24:13 404

原创 算法导论---DP之钢条切割问题

假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, ...单位:美元),下面给出了价格表样例:长度i     1     2     3 4  5  6     7  8  9  10价格Pi  1     5     8 9  10  17   17  20  24  30切割钢条的问题是这样的:给定一段长度为n英寸的钢条和一个价格表Pi,求切割方案,使得销售收益Rn...

2016-07-13 20:18:21 457

原创 poj 1111bfs

http://poj.org/problem?id=1111 题目大意:  输入一个矩阵,再输入其中一个“X”的位置(从1开始)。从该位置向八个方向扩展,如果是“X”就可以并在一起。问最后得到的模块的周长是多少。 解题思路:  按照广搜的思路来做。用一个二维的数组标记每一个点,-1代表着该点不能被搜索了(可能原本就是“.”,也可以该点已经出队列了);0代表着该点还没被搜到;...

2016-07-13 17:50:35 231

转载 UVA 10152

  10152 - ShellSort 18905 34.82% 2697 81.79%  题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=103&page=show_problem&...

2016-07-12 00:18:11 262

转载 STL priority_queue 优先级队列

http://www.cplusplus.com/reference/queue/priority_queue/  在STL里有这个priority_queue,实现优先队列的结构。在优先队列中,优先级高的元素先出队列。现在在这里说说用法吧其实就三种用法第一种,直接使用默认的。它的模板声明带有三个参数,priority_queue<Type, Container, ...

2016-07-09 13:02:58 771

原创 UVA514 火车站出站问题

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=455题目间接:输入N,给定一个序列,判断能否由1~N中的数通过进出栈得到。思路一:1:设定一个最大数Max,表示当前进栈到的最大数;2:先判断序列第一个数j=0,A【...

2016-07-08 15:02:15 293

转载 DP--直线的不同交点数可能的情况

http://acm.hdu.edu.cn/showproblem.php?pid=1466 题意不难解,第一道dp题。来自hdu的pptn条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2,所以n=20的话,最大的交点数是190本题是求有多少种交点数:容易列举出N=1,2,3的情况:1 : 02 :  0,13 :  0,2,3...

2016-07-02 01:18:03 555

原创 DP--划分问题(掷骰子)

一次掷n个骰子,每个骰子有p个面,问有多少种情况?要考虑重复情况,例:2个骰子,3个面,1,1,2和2,1,1是一种情况对于这种情形 我们一般进行排序处理 把所有情况所对应的数从小到大排序a1<=a2<=a3<=...<=an。比如1,1,2和2,1,1就相当于1,1,2了再比如 3,1,2 2,3,1 都相当于1,2,3这样每种情况都与一个序列一一对应不是吗?...

2016-07-01 17:05:43 656

原创 DP--划分问题(1)

http://codevs.cn/problem/1039/将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种划分方案被认为是相同的。1 1 51 5 15 1 1问有多少种不同的分法。输入描述 Input Description输入:n,k (6<n<=200,2<=k<=6)输出描述 O...

2016-07-01 16:26:31 247

Intellij Idea 一键打补丁插件

Intellij Idea 一键打补丁插件, 将本地文件替换到 远程服务器指定目录下

2018-08-08

OPENSTACK开源云王者归来:云计算、虚拟化、NOVA、SWIFT、QUANTUM与HADOOP.pdf

OPENSTACK开源云王者归来:云计算、虚拟化、NOVA、SWIFT、QUANTUM与HADOOP 带书签

2018-08-06

深入理解Java 虚拟机 原代码

深入理解Java 虚拟机 第二版 原代码 , txt 格式,非java 文件

2018-08-05

深入理解Java 虚拟机 第二版 pdf 带书签

深入理解Java 虚拟机 第二版 pdf 带书签,JVM 经典书籍

2018-08-05

空空如也

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

TA关注的人

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