自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fanfanK的专栏

手指上键盘 打码变世界

  • 博客(63)
  • 资源 (5)
  • 收藏
  • 关注

原创 Sicily 1305 Who’s Winner? (SOJ 1305) 【Nim问题】

原题地址:点击打开链接我以前最烦这种策略、博弈问题,因为总是觉得无章可循,要解题只能依靠灵光一闪,但是看了《编程之美》这本书后(绝对是好书,我对其评价如下哈哈:《推荐一本书》),看到这题我就大致想出解法了。——————正文——————我个人认为这也是Nim问题的一种,这一题换一种叙述方式可以是,对于某一范围的石头,每次可以取走若干,使其变为原来的多少分之1,最终剩下多少个石头就谁获胜。

2013-05-26 14:18:53 1143

原创 推荐一本书

直接开门见山了——《编程之美:微软技术面试心得》这本书是我读到目前每次看都每次必有收获的书本,其启发思路的方式鄙人十分喜欢,对于每一条题总是从浅到深,给出的解法一开始基本是大家都能想得到的,到解法2、解法3的时候,就会总结前一种解法有什么不好的地方,可行的优化方案是什么。书中开篇第一题着实把我吓到了,给人“山腰一只虎,有山不敢走”的感觉——第一题对于我来说太难了,不是思路困难,而是我根本写

2013-05-25 21:41:31 1671

原创 Sicily 1343 Jam的计数法 (SOJ 1343) 【递归】

原题地址:点击打开链接原本以为要用全排列字典序的相关知识,特意查资料,找到之前一直看不明白的全排列与序号之间的关系转换的内容,全部看懂后着手写题,发现用不到,或者说我不知道怎么样,不过木有关系,因为查资料学到不少东西,关于全排列的字典序序号以及排列本身的关系,我专门写了一篇博客,感觉会比网上能容易搜出来的博客要好一点,链接是:字典序序号与排列的关系【全排列与序号换算方法】这题不难,很容易想

2013-05-25 17:23:33 1648

原创 字典序序号与全排列的关系【全排列与序号换算方法】

不知大家有没有见过这两个函数——num2perm以及perm2num稍后我详细解释为什么要写这篇博客呢,因为我觉得在搜寻答案的过程中,查看网上的解读没有哪个是写得让我比较满意的,对于全排列及其序号之间的换算,我希望能在这篇博客中说清楚。首先补充基础知识——什么是全排列及其序号?(了解的同学可以直接跳过下面一段)所谓的全排列,就是说将数字进行不重复的排列,所有得到的序列,就是全排列

2013-05-25 16:17:48 4311

原创 Sicily 1327 Pinary (SOJ 1327) 【dp 动态规划】

原题地址:点击打开链接这一题能不能算DP呢,其实只是一个简单的迭代,不过也可以说是DP。初看这条题我是没有什么想法,思路比较乱,但是想到了状态转移之后就豁然开朗。——————正文——————这题的时间卡的比较紧,数据规模最大有9*10^7,而1s大概就允许复杂度为10^8左右,所以比较高效的算法才能够AC假设f[i]表示当结果的位数为i时,i为所能表示的所有数字的数量,即便当i

2013-05-22 15:36:45 1450

原创 阿里的电话面试是神马感觉

感觉就是被问了个稀巴烂,估计到不了下一轮·····问了神马呢,问了我的项目,我描述了一阵子之后,当他问到使用人数的时候,我说是内部使用···没有发布,只是一件比赛的作品的时候,我听出面试官有一种被欺骗的赶脚问了唯一的一道不算算法题的算法题,答的牛头不对马嘴接着就是被问JAVA、JAVASCRIPT,数据库,感觉还OK的数据库也答不上来问的那题····JAVA和JAVASCRIPT就更不

2013-05-21 18:02:17 2585 2

原创 Sicily 1308 Dependencies among J (SOJ 1308) 【BFS 广度优先搜索】

原题地址:点击打开链接一开始以为是拓扑排序,因为看上去比较像,等写了一半后发现实际这题的做法和广搜是一样的。——————正文——————根据输入可以建立一个有向图,从目标点m开始,向前寻找其紧前节点,然后将所有这些紧前节点(包括紧前节点的紧前节点)的时间值加起来就可以了。寻找所有这样的节点的方法就是用广搜的方法,使用队列即可。比较简单的一个题目,就不画图了。这题如果使用ci

2013-05-20 22:15:16 1717

原创 Sicily 1485 Hanoi双塔问题 (SOJ 1485) 【高精度】

原题地址:点击打开链接——————正文——————最中规中矩的高精度问题。令f[n]为有2n个环时的移动次数,则f[n]=2*f[n-1]+2,因为f[n]的移动次数可以看成是用f[n-1]步移动了2*(n-1)个环到中间的柱子后,用2步移动左边的两个环到右边,然后再用f[n-1]步将中间的2*(n-1)个环移动到右边。从递推公式可以发现当n=200时,数字会超过2^200,所以要

2013-05-20 20:46:46 1667

原创 Sicily 1444 Prime Path (SOJ 1444) 【BFS 广度优先搜索】

原题地址:点击打开链接乍看此题,感觉有点吓人,我天生对涉及素数的题目有恐惧感,然后觉得Prime这个单词在此题中双关的很好······不错不错,题目蛮有意思的。最近要开始准备保研了,手头也有两个小项目不得不认真动工,所以留给刷题的时间可能就少了。还没有完全看过《算法导论》,《数据结构与算法分析——C++描述》,《HeadFirst Java》,之前一直想看的黑书《算法艺术与信息学竞赛》可能

2013-05-20 13:49:41 1652

原创 Sicily 1543 Completing Brackets (SOJ 1543) 【括号匹配】

原题地址:点击打开链接直接正文了,这题比较水,知道括号匹配的基本原理就可以了,以往的思路是使用一个栈,碰到左括号入栈,碰到右括号出栈。这里使用相同原理,碰到左括号计数器加1,碰到右括号减1,如果计数器是负数,那么就在字符串最前面添加左括号,如果扫描完字符串,计数器是正数,那么不断地在字符串末尾添加右括号,每添加一个,计数器加1 ,很好做的一道题,代码也不长。拜写博客所赐,我在写的时候忽然觉

2013-05-16 15:06:11 1409

原创 Sicily 1136 山海经 (SOJ 1136) 【Segment Tree 线段树】

原题地址:点击打开链接这题花了整整一天来做,错误基本都是TLE,但是做完非常哈皮,因为感觉比较好地运用了线段树这个数据结构。话说这几天广东不是一般热,中午根本睡不着,满身黏糊糊,课室和图书馆倒成了平时宅男的去处,不过这仅仅限于他们宿舍没有开空调的情况下·····然后昨天的过劳导致了今天的脖子和肩膀连成一片的疼,而且我能明显感觉到头脑恍惚。呃,这题我感觉是可以好好写,但是感觉现在写解题报告好

2013-05-15 15:34:48 1851

原创 Sicily 1135 飞越原野 (SOJ 1135) 【BFS 广度优先搜索】

原题地址:点击打开链接小时候看过这题,但是当时还小不会做,昨天晚上将其解决了。写省赛的总结(参见这里)花了不少时间,啊,所以堆到现在才来写。要吐个槽的是原本打算这周回家,以为在经过各种任务、面试洗礼后能够舒舒服服地和妹子回家看看钢铁侠1、2+复仇者联盟,没想到妹子星期6有广东移动的笔试要去,我也可能要在19号有另外一个面试·····哎,我想回家啊!————————正文————————此

2013-05-14 10:13:59 1907 1

原创 【2013 GDCPC】有为杯 广东ACM省赛小总结

第一次参加生赛,心情万分激动,我不是大牛,但是在子畦大牛的带领下,刚好排到了校赛的第20名,晋级省赛。广东的ACM省赛弄得非常好,无论是人员安排还是举办方对参赛队员的照顾,比赛时间是从上午的9点半一直打到下午2点半,持续5个小时,地点是华南农业大学。我从来对由第三方提供的饮食没有什么信心,所以自己还买了个10大洋的三明治(美心的三明治做得很好……),但是等我看到提供给参赛选手的午餐后我才觉

2013-05-14 09:53:57 2718

原创 Sicily 1149 等价表达式 (SOJ 1149) 【中缀转后缀】

这题乍一看觉得好蛋疼(广东话叫“DUM春”),我是要把所有的表达式都简化到最短,还是把所有表达式都展开到最长?最麻烦的就是有个变量a,好了下面是正文了。——————————正文——————————从这题我就学醒目了,类似近似的思想,从题干可以知道最高的次数是10···其实不是10,因为可以是这样:a^10^10^10^10.... 这样一直下去,从题干知道最长为50个字符,每个^1

2013-05-11 00:27:29 2067

原创 Sicily 1019 Apple Tree (SOJ 1019)【树形dp 树形动态规划】

原题地址:点击打开链接这题也是蓄谋已久,很久之前就看过,但是十分没有头绪,在搜了一下答案后发现要用树形dp,当时问了周生什么是树形dp,周生直说是他非常不想碰的一种东西。好吧当时我一听吓尿了干脆也不碰了。但是下定决心解决它的日子也到了···毕竟省赛不能拖子畦大牛的后腿,也在经过几次面试后知道算法的莫大重要性(尽管暂时的水平应对面试还凑合,但是无法给面试官一种“quite smart”的感觉

2013-05-03 23:11:57 1649

原创 Sicily 1033 City Road (SOJ 1033)【dp动态规划】

原题地址:点击打开链接感觉也是一题水题,不过也看了tips,啊!!!!!没办法啊,人菜,搜答案的时候我还没点进去搜索结果,看到DP我就立刻知道怎么做了····呃·····其实动态规划我一直觉得是十分难想的题目,不过从第一次接触动态规划到现在,已经有了长足进步,继续加油吧~-----------正文---------------原本想着能不能用排列组合,不过后来看到题目后就打

2013-04-29 19:58:56 1430

原创 Sicily 1091 Maximum Sum(SOJ 1091)【dp动态规划】

原题地址:点击打开链接题目之前一直有打算做,但是到近来才马力去想,可惜的是没想到呃肯定很多人觉得这题很水,有很多人第一眼看到答案,或者做出来之后,就忽然觉得这题很水····可惜我天资不太行,虽然写完后代码只有寥寥几十行,但还是没觉得它水····————正题————以sample input为例,对于这个序列:1 -1 2 2 3 -3 4 -4 5 -5

2013-04-29 14:14:28 1342

原创 2013编程之美 资格赛 长方形

做这题的时候,资格赛已经结束了,不过出于兴趣,就做了一下,虽然没办法提交,但是代码较短,思路还算清晰,所以也贴出来先,标准代码可以参见“其它参考”部分。要注明的是:这里的代码并没有提交,我不知道答案对错,所以下面的解题思路也是我写这个代码时的思路,不一定正确,如果有错,还请一定指出!多谢!———————————————————————————————————————————————————

2013-04-09 22:15:40 1395

原创 多用STL 及 C++ string的两个我不知道的用法

其实从之前到现在的编程比赛,我每次都发现善用STL的好处很大,很多时候是因为自己想直接用数组,因为觉得数据速度更加快,而且用得多比较手熟···但总有那么几次要么在map上,要么在堆上面(每次都是手打堆········),要么在其它什么的,链表一直不想用vector,还是因为觉得速度慢,有点臃肿···哎,其实慢得了多少呢,以后多多注意多多用好了原来堆是在里面,长姿势长姿势

2013-04-09 13:52:09 1026

原创 2013编程之美 资格赛 树上的三角形

题目描述:时间限制: 2000ms 内存限制: 256MB描述有一棵树,树上有只毛毛虫。它在这棵树上生活了很久,对它的构造了如指掌。所以它在树上从来都是走最短路,不会绕路。它还还特别喜欢三角形,所以当它在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三角形呢?输入输入数据的第一行包含一个整

2013-04-09 11:33:02 1360

原创 2013编程之美 资格赛 传话游戏

这个比赛我是4月7号才报名,本身有点水,加上时间仓促杂事一堆,所以没做多少。传话游戏题目描述如下:————————————————————————————————————————————————————时间限制: 1000ms 内存限制: 256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序

2013-04-09 11:14:09 1299

翻译 Qt中裁剪图片

对于QImage,其scaled类的函数只能等比例改变大小,不能裁剪要进行裁剪可以试用QImage的copy函数:如保留原图宽从0~300,高从0~250的部分,那么就:image=image.copy(0,0,300,250);---------------------------------------------------------------------------

2012-02-15 13:22:42 6624

翻译 Qt中对字符串长度转换成像素长度

制作一个小应用的时候用到这个,相当于只要知道字体大小以及文字/字符串,就能知道相应的长度(用像素表示)原文地址:http://stackoverflow.com/questions/1337523/measuring-text-width-in-qt-----------------------------------------------------------------------

2012-02-14 12:23:18 4502 3

leetcode题目分类

这份文档列出了leetcode几乎所有题目(大约134题)的分类以及难度指示,是刷leetcode的必备良品。现在leetcode总的题目数已经达到150题,所以有部分题目没有包含在这个文档中,但是——足够了。po主刷leetcode的时候参照了这份文档中的难度分级,从1开始刷到5,最终刷完150题。当然里面的题目难度分级对每个人来说都有一些不准确,因为不同人擅长的题目类型不同,但是即便这样也具有一定的指导意义。 找到这份东西也不容易,所以就盛惠1分~哈哈~

2013-12-10

树形dp_树形动态规划_讲解PPT

暂时看的一个比较好地讲解树形DP的课件,对初步了解树形DP有帮助

2013-05-03

程序清单B-3 用于守护进程的出错处理函数

APUE(第二版)书本中附录的代码,作用在于使得书本的例程中用到的log_open,log_sys函数能够正常执行。具体使用方法可以参见:blog.csdn.net/fanfank 的《APUE代码注记》博客,如果你没找到这篇博客,证明我还没写完……

2013-12-19

APUE程序清单B-3 用于守护进程的出错处理函数

书本APUE后面的附录清单中的代码,用于使书本的例程中的log_sys等函数可以被使用。具体使用方法可以参见:blog.csdn.net/fanfank 中的《APUE代码注记》这篇博客,如果你还没见到这篇博客……证明我还没写好……

2013-12-19

APUE程序清单B-2 输出至标准出错文件的出错处理函数

书本APUE后面的附录清单中的代码,用于使书本的例程中的err_sys等函数可以被使用。具体使用方法可以参见:blog.csdn.net/fanfank 中的《APUE代码注记》这篇博客,如果你还没见到这篇博客……证明我还没写好……

2013-12-19

空空如也

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

TA关注的人

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