自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nvfumayx的专栏

I'd like to be as simple as C

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 工作一年的经验

前段时间晋升答辩,自我感觉答辩很失败。我总结自己答辩失败的直接原因是:优化的目标与线上效果有很大偏差。我认为更深的原因在于:缺乏主动与领导的沟通最近已经在这两方面有了不小改进,工作上也较之前有了突破。与领导的沟通十分的必要。如果一味闷着头工作,不把你的想法事先与领导讨论,造成的结局是,当你展现工作成果时,领导会尽力挑你不足。如果先与领导讨论,有可能得到更多的思路,发现自己想法的

2017-09-03 23:39:14 347

原创 为什么在“非阻塞+io复用网络模型”中用户缓冲区管理变得复杂了?

unix网络编程16章中实现了并讲解了“io复用+非阻塞网络模型”,但是却没有细致讲解为什么在“io复用+非阻塞”模型中的用户缓冲区管理变得复杂了。我在看这一节的时候,一直在想为什么需要复杂的缓冲区管理,此书前面章节的简单缓冲区管理不奏效了吗?如果不解决这个疑问,我觉得非阻塞io这一章我算白看了。以  向“io复用+非阻塞网络模型”的socket输出缓冲区写入数据为例:这里涉及

2015-05-26 21:17:11 834

原创 poj 1671 Rhyme Schemes(第二类Stirling数)

题意: 有n行诗,每行都有其韵律。问题:n行诗存在的韵律组合数。思路:第二类Stirling数是把个元素放入k个等价类的方法数目(每个等价类都不能为空)。(摘自维基百科,稍有修改)   注意到此题的'行数'>='韵律数',可以把'行数'抽象为n个元素,'韵律数'抽象为k个等价类.   所求即为:把n行放入k个‘韵律’中的方法数( 其中:1=状态转移方程:       

2013-10-06 20:40:47 1777

原创 蔡元培就职北大校长演讲

蔡元培就职北大校长演讲蔡元培    1917-04 一曰抱定宗旨。诸君来此求学,必有一定宗旨,欲求宗旨之正大与否,必先知大学之性质。今人肄业专门学校,学成任事,此固势所必然。而在大学则不然,大学者,研究高深学问者也。外人每指摘本校之腐败,以求学于此者,皆有做官发财思想,故毕业预科者,多入法科,入文科者甚少,入理科者尤少,盖以法科为干禄之终南捷径也。因做官心热,对于教员,则不问其学问

2012-07-02 21:51:17 2839

原创 Poj 1383 Labyrinth( 搜索获得全局最短路径 )

http://poj.org/problem?id=1383题目大意:        在图中找出距离最远的两点间的距离。        题目给出的图类似如下:( '#'代表障碍物, '.'代表可以通行的路 )        #######        #.#.###        #.#.###        #.#.#.#        #.....#

2012-05-06 21:49:39 1805

原创 一个了不起的非洲小伙子-威廉.坎宽巴

这是《超级无敌掌门狗 -- 温馨的家》中讲到的一个故事。。威廉.坎宽巴 是一个非洲伙子,他凭一举之力使全村人都用上了电(他的国家只有2%的人能用上电)。当他14岁时,因为贫困,他辍学了。但他打算自学成才。他每天都去当地的图书馆学习。当他看到一本关于电力的书上讲风车可以发电时,他觉得这是个好主意,他打算自己造一个风车。他没有钱买材料,只能用些废品,

2011-11-25 22:14:05 12748

原创 2011-11-16 ( 从KMP算法体现的思想 和 快排平均时间复杂度为什么是O(nlgn) )

1.从KMP算法体现出的思想一句话总结:不要去做重复的事情。(或不去做已经做过的事情)见下图较长的字符串为文本串,较短的字符串为模式串。黄色的区域表示对应字符匹配,灰色区域表示出现对应字符不匹配的情况。因为已经匹配了一段距离,因此我们就有了文本串已匹配过区域的信息,那为什么还要像暴力方法一样从新开始一个位置一个位置的匹配呢?2. 快排平均时间

2011-11-16 22:52:01 2602

原创 原点 2011-11-15

大概是前两天的一个疑惑:如果从一个地方看的月亮是圆的,那千里之外的地方观察到的月亮也是圆的吗?有趣的问题:可以把 3 3 7 7 这四个数凑出 24 点吗?这四个数必须都用到,且只能用一次,仅限加,减,乘,除四则运算。答案是可以。可以这样来考虑:四个数不好凑,可以先考虑三个数,如果三个数可以凑出24,那么凭直觉可以通过类似于先除以一个数,

2011-11-15 22:11:42 565

原创 一道百度面试题

这题很不错,由于题目是树形,而且状态转移并不复杂,动归的思想可以从这题中很好的体现。所以把这题求解的过程详细的记录下来。原题 : // 一个有向无环图,只有一个入口和一个出口,插入若干个节点,使得从入口到出口的所有路径长度相同(长度是路径经过的节点的个数)。   // 并分析时空复杂度。分析 : 题目要求插入若干个点,使得从入口到出口的所有路径长度相同 。首先将

2011-11-13 19:31:34 626

原创 I want to calm my heart

看到一篇博文,很有感触,可惜链接找不到了..其中一段文字挺有道理,我把它复制过来了。"其实老师,我还有一个问题没有问:如果一个人很热爱代码,很喜欢计算机,但是他学的就是不好,编程就是不如别人,他还有存在的价值吗?"其实这个问题一点也不难回答。初步的回答是:"我唱歌跑调挺严重的,但是我学习弹琴;我体质挺差的,但是我坚持做俯卧撑--我一直在进步。結果并非总是重要的,过程也是我们

2011-11-12 22:09:42 738

原创 poj 2593 Max Sequence( 最大子段和 )

题目描述:Give you N integers a1, a2 ... aN (|ai| You should output S. 思路:将数组a[]从下标k处划分成两部分a[1-k]和a[k+1,N],用m1表示a[1-k]的最大字段和,m2表示a[k+1,N]的最大字段和,则 S = Max { m1, m2 } ( 其中k属于区间[2-N-1] ,k不能取1和N,

2011-11-09 22:29:08 1967 2

原创 poj 2446 Chessboard (最大二分匹配)

题意 : 给出一个矩形棋盘,其中包含一些不可到达的方格,问能否用长度为2的骨牌填满。开始往搜索剪枝上想,复杂度太大(  O(2^N),其中N为棋盘面积  )。这题的骨牌长度特殊,抛去搜索,有特殊的方法可用,将棋盘上的所有格子划分成两个结点集合,再将两个集合的邻接的结点连边,构成二分图,问题就转化为了求该图的最大二分匹配。为什么可以转化成二分图来做,我是这样想的,一个骨牌覆盖了棋盘上的两格,

2011-10-22 22:52:05 775

原创 poj 2376 Cleaning Shifts( 贪心 )

题意:给出区间[ 1,T ]和N个小区间,要求用尽可能少的小区间覆盖区间[ 1,T ],输出最少的小区间数量;若不能覆盖,输出-1。思路:贪心。具体:令begin为当前未被覆盖的区间起点。            贪心策略:选取包含点begin的区间中右端点最大的那个;

2011-10-15 22:46:06 1981

原创 贴两个分形图片,暂时离开poj一段时间

因为以前看到过一张自然界中霜花的分形图片,感觉真是太美了,于是自己写个小程序做了两张分形的图片,算是自娱自乐了。最近对在poj上做题好像没那么大的热情了,我想还是跟着兴趣和热情走好,先离开poj一会,去搞点别的我认为吸引我的事情了。

2011-09-29 21:49:19 802

原创 poj 1785 Binary Search Heap Construction( 分治 + RMQ )

题意 : 给出N个形式为s/n的(字符串/数字)对,要求建立一颗Treap思路 : 分治+RMQ(Range maximum Query) ,其中RMQ可以用线段树实现,也可以用Sparse Table实现。线段树的实现很简单,自己画画就出来了。 Sparse T

2011-09-10 22:53:34 1248 2

原创 stay hungry, stay foolish( 求知若饥, 虚心若愚 )

You can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future.You have to trust in something your gut,

2011-09-09 22:57:46 725

原创 poj 1230 Pass-Muraille( 贪心 )

题意 :  有一块棋盘式的场地和一个魔术师,场地中有n道墙,魔术师一次最多能穿越k道墙。求移除最少数量的墙,使得魔术师可以在场地的任意一列表演都可以成功。虽然自己感觉出这题应该用贪心来做,并且找到了一个自己看来很正确的贪心思路,也简单的证明了我的贪心策略的正确性,但还是WA了

2011-08-12 23:08:23 1608

原创 poj 1228 Grandpa's Estate(凸包)

题意 : 给出凸多边形某些边上的部分点,问根据给出点能否唯一确定一个凸多边形。思路:1. 求出凸包的所有顶点( 即边的交点 )。2. 枚举每一条边,对于一条边检测是否有3个点在其上。#include #include using namespace std;/

2011-08-10 22:01:08 1239

原创 poj 1190 生日蛋糕( 深搜+2类重要剪枝总结 )

题意 :  有一个多层蛋糕,已知蛋糕的体积和层数,求该蛋糕的最小表面积(最底层的下表面面积不计入总面积)             题目对每一层的半径和高度都有限制,下层的半径和厚度要大于上层的半径和厚度 Ri > Ri-1, Hi > Hi-1,且半径和厚度均为整数

2011-08-02 22:14:41 4069 1

原创 poj3740 Easy Finding(深搜)

Easy FindingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11432 Accepted: 2802DescriptionGiven a M×N matrix A. Aij ∈ {

2011-07-05 21:58:07 973

原创 poj 3630 Phone List( 简单字典树 )

题意 : 有一个电话记录表,问其中的记录是否有冲突。例如 :111         111234上面的两个电话号码就会发生冲突,当我拨打111234时, 拨到111电话就打出去了。 这题比较水。不过注意不要用new了,会超时的,改用buffer吧,这题new不起啊。只要不超内存,buffer尽量开大点。#include using namespace std;c

2011-06-27 22:14:00 602

原创 poj 3468 A Simple Problem with Integers( 线段树求区间和 )

从这题似乎感悟到了点线段树对区间操作的lazy思想,即只需要找到合适区间对其更新并标记,子区间暂不更新。通过画图模拟更加直观。 #include using namespace std;const int Max = 100000;// 对象struct TreeNode { int l, r; long long c; // 增量 long long

2011-06-27 12:26:00 663

原创 poj 3321 Apple Tree( 树状数组 )

题意 : 有一颗N(N对该果树有两种操作:C x : 更新果树,若x叉处有苹果,则摘下;若没有,则长出一个新的。Q x : 统计子树x上的苹果数量(包括x)这题的关键就是怎样将树中的节点映射到树状数组。解决 : 找到树节点的偏序关系。 这是我第一道树状数组,感觉树状数组中的元素一定要满足偏序关系,找到偏序关系是应用树状数组的关键,呵呵,不知道这个感觉是否正确,以

2011-06-25 22:49:00 662

原创 poj 3318 Matrix Multiplication(用向量压缩方阵)

题意 : 方阵A,B,C, 问A * B = C是否成立。(方阵为n*n维) 一看题还以为用Strassen算法,就到自习室看了一晚,算法不容易实现。看了Discuss才知道有更好的办法解决这题,利用矩阵的性质。若 A = B, 则 T * A = T * B. 注意反之不成立,即矩阵乘法消去律不成立。但这题仍然可利用消去律,因为消去律不成立这一事件发生的概率非常小。随机生成一个向量T

2011-06-23 22:58:00 563

原创 poj3287 Catch That Cow(广度优先搜索)

题意 : Farmer John 被告知他的丢失的牛的位置K( 0 有两种走法,令x表示FJ的当前位置, y表示他的下一个位置。1. y 2. y  思路 : 这题和1915 Knight Moves题很相似, 都是求从一点出发到另一点的最少步数, 搜索就可以了, 细心点还可以剪枝PS : 深搜,广搜就以Graph那一章的图为例,切记每个节点只访问一次!!!!!!! 

2011-06-23 08:47:00 592

原创 poj3277 City Horizon(离散化+线段树)

题意 : Farmer 带着他的牛在城市中散步。日落时,牛望着远方地平线上N( N 其中一个建筑这样表示(A, B, H),A B(1 = 覆盖问题,用线段树解决。但坐标系范围太大,建筑数相对较少,这会使坐标系内较空旷,因此本题要离散化PS:通过本题学到了什么     1.对于线段树,后来的更新可能会覆盖前面的更新     2.计算面积时中间结果可能会溢出(注意)#

2011-06-22 08:09:00 1906

原创 poj3253 Fence Repair( 贪心 )

题意 : 将一个木板锯成N块(即锯N-1次)。规则是每次将一个长度为L的木板锯成2块(不一定相等), 代价是L元。求N-1次代价的最小值。 开始以为是动态规划了,这题确实可以很容易找到子问题,而且子问题间会出现不少重叠,锯一个木板的代价 = Min{ 锯它的两个子木板的代价之和 } + 所锯木板长度,  但在哪里锯这个木板就很难决定了,子问题数量太多,叉掉。也想过贪心,但没想到是哈弗曼

2011-06-20 22:47:00 554

原创 3067 Japan( 树状数组 || 归并排序 )

题意 : 日本的东西海岸各有N, M个城市,它们之间有K条路,求这K条路的交点个数( N,M 先用树状数组做了一下,时间480ms, 内存2M; 又用归并排序,稍慢一点,时间590ms, 内存5M这也正常,用树状数组的时间复杂度O(KlgN), 归并O(KlgK), 其中(N这是用树状数组做的// 3067 Japan.cpp : 定义控制台应用程序的入口点。//#incl

2011-06-19 22:40:00 558

原创 单调队列

单调队列 : 队列中保存的是潜在的解,队首保存最优解。支持操作 : 与普通队列支持的操作相同,push_back() , pop()。               pop()操作仅仅返回队首元素, 因此时间复杂度O(1)。               push_back()操作,均摊下来每次操作的时间复杂度O(1):1.消除所有不可能的解     2.更新队首指针使其指向最优解http:/

2011-06-17 21:46:00 618

原创 类DOS文件管理

// 类DOS文件系统演示.cpp : 定义控制台应用程序的入口点。//#include #include using namespace std;struct Node { // 二叉树节点 Node* left; // 孩子指针 Node* right; // 兄弟指针 Node* parent; string name; Node( str

2011-06-10 07:25:00 530

原创 2104 K-th Number (划分树+划分表)

花了一整天做这题,总结一下.http://poj.org/problem?id=2104求 : 区间 [ b,e ] 的第K大数思路 :    建立划分树和划分表   对划分表折半查找, 同时不断缩小要求查找的区间 [ b, e ], 直至b=e时结束.概念 :划分树 : 对一个无序序列,通过建立划分树对其排序。用二维数组segTree[18][100001]表示划分树对象,数组第一维表示树高,第二维表示每层的节点。划分表 : 用来记录划分树中某节点被划分到左子树还是右子树。节点i记录i之前节点中{包 括

2011-05-15 19:19:00 675

空空如也

空空如也

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

TA关注的人

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