自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

世靖的码场

AC for AK

  • 博客(237)
  • 资源 (3)
  • 收藏
  • 关注

原创 LeetCode-19-Remove-Nth-Node-From-End-of-List 链表水题

# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def removeNthFromEnd(self, he

2017-09-10 16:50:35 231

原创 LeetCode-18-4Sum 预处理+暴力+字典灵活用法

这个题应该也是可以像前面那样,固定住两个点,然后左右两头向中心贪心,时间复杂度O(n3)。但是还能做一些优化:可以先把两两之和预处理存到Map里,key值是两数之和,内容是一个list,每个list的元素是一个pair,表示两数和为key的下标组合。然后就暴力的从左到右确保下标的递增,将所有的结果都存起来,为了保证结果的唯一性,用一个set存结果,因为下标是递增的唯一的,数据也是递增的

2017-09-10 15:27:25 260

原创 HDU 1527 取石子游戏 威佐夫博弈 Wythoff

两堆石子,每次可以进行两种操作中的一种:1.从一堆取任意数量石子2.从两堆里取相同数量石子给出两堆的石子数量,先取完的人胜,问先后手必胜否?可以建立一个直角坐标系,假设输入的为(a,b),那么(0,0)是必败态,以(0,0)为基础,存在任意的x,(0,x)或(x,0)或(x,x)都是必胜态,继续拓展,我们发现(1,2)和(2,1)向下都只能进入必胜态,所以此时的先手肯定是必

2017-09-08 16:52:37 247

原创 HDU 1845 Brave Game 巴什博弈 Bash

这个博弈叫巴什博弈,比较简单易懂。有n个石子,轮流取,每次取1~m个,无子可取的人判负。给对方留m+1个子,遍可取胜,当子数是m+1的倍数的时候,对方取多少,自己只要让其保持m+1的倍数就好,因此当n%(m+1)==0的时候,先手必败。如果把规则稍微改一下,最后取完的人判负,那么我们就要努力给对手只留一个子,也就是要给对手留m+1+1个子,因此n%(m+1)==1的时候,先手必败。

2017-09-08 15:08:01 265

原创 HDU 5996 Nim博弈

题意是给一个树,每个结点上有若干石子,两个人博弈,每次可以从子结点移动任意(至少1个)数量的石子到父节点,最后无子可移动的人判负。这个题是Nim博弈。首先我们可以忽略深度为偶数的结点,假设你是玩家,对手移动偶数深度的结点,你把他刚移动的那些石子直接移动到上层就行了,假设奇数深度的结点全部为空的时候,是先手必败的,因为先手只要移动任何一个石子,肯定会到奇数层,后手跟着移动这些奇数层的石子到偶

2017-09-07 21:04:36 234

原创 LeetCode-17-Letter-Combinations-of-a-Phone-Number 递归+模拟

class Solution(object): def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ ans=[] if digits=="":return ans ma

2017-09-06 16:19:00 366

原创 LeetCode-16-3Sum-Closest 贪心

Similar to the last problemclass Solution(object): def threeSumClosest(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int ""

2017-09-06 15:33:44 164

原创 LeetCode-15-3Sum 贪心

求一个数组里,有且仅有3个数和为0的组合。原本我想排序后,枚举两个数,然后再二分找第三个数,这样子时间复杂度就是O(n2logn)了,但是有n2的做法:枚举每个数,然后用贪心,O(n)的时间找到另外两个数,可以找左右两头,向中间移动,和小于0就移动L,大于0就移动R。这里枚举第i个数的时候,就从i+1找到最后就行,避免重复。Python:class Solution(o

2017-09-06 15:09:59 242

原创 LeetCode-14-Longest-Common-Prefix 求若干字符串的最大公共前缀

不知道这个题意义何在。。。class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ ans="" if strs.__len__()==

2017-09-05 20:42:28 185

原创 LeetCode-13-Roman-to-Integer 无聊模拟,递归

跟上个题差不多,特判一下IX和IV这种情况就行了class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ romanMap={} romanMap['I']=1

2017-09-05 19:58:54 200

原创 LeetCode-12-Integer-to-Roman 无聊模拟题

模拟阿拉伯数字转罗马数字,我tm就知道罗马数字12以下的怎么写,现去查了百度才知道原来罗马数字有7个字母,到了3999就不能再大了,不然还得用新字母,而且罗马数字直观来看并不能看出来是多少,MDZZ,也就能用在钟表里装个逼了。全暴力模拟写的太麻烦,我比较懒,写了个函数优化了一下。class Solution(object): def intToRoman(self, num

2017-09-05 15:23:27 202

原创 LeetCode-11-Container-With-Most-Water 贪心

在x轴上放一堆板子,问哪两个板子和x轴组成的矩形面积最大。贪心解决,初始LR在两头,向中心挪动低的那一块板子。O(n)解决class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: int ""

2017-09-05 14:25:55 253

原创 LeetCode-10-Regular-Expression-Matching 递归模拟正则表达式

没什么好说的,注意一下为空的情况就行。把p分类讨论了,然后写就行了。class Solution(object): def isMatch(self, s, p): """ :type s: str :type p: str :rtype: bool """ if p=="":

2017-09-05 13:18:02 259

原创 LeetCode-9-Palindrome-Number 水题

给你个整数问是不是回文数,负数因为有-不算回文,要求用O1的空间,Python大法好,不用考虑溢出的问题,直接把数倒着复制一遍然后比较是否相等就行了class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """

2017-09-04 22:51:51 189

原创 LeetCode-8-String-to-Integer (atoi) 细节题

很无聊的题目,注意一下要求的各种边界条件,仔细读题就好,不读题免不了WA几发class Solution(object): def myAtoi(self, str): """ :type str: str :rtype: int """ if(str==""):return 0 L

2017-09-04 22:37:15 176

原创 LeetCode-7-Reverse-Integer 水题

这个题比较烦的地方在于他说反转之后的数如果超过int范围要返回0。可以先把int转为字符串,然后用一个[::-1]实现倒序输出,-1应该是步长,前面两个参数要保证前面的大于后面的,比如[3:1:-1]这样子的,默认应该就是所有的了。class Solution(object): def reverse(self, x): """ :t

2017-09-04 21:57:06 155

原创 LeetCode-6-ZigZag-Conversion 找规律水题

ZigZag就是折线式打印,走N形,一开始都没读懂题意。找规律,发现2*numRows-2的周期,然后输出的时候注意一下第一行和最后一行,还要注意一下只有一行的情况,因为这个我还WA了一发,开头加个特判。我觉得我代码已经不能再简单了,都是On的算法,但是只打败了6%的选手,不知道哪里比较耗时。C++和java用腻了,不写了,Python大法好:class Solution(obje

2017-09-04 20:55:06 217

原创 LeetCode-5-Longest Palindromic Substring 最长回文子串DP

C++:class Solution {public: int dp[1009][1009]; string longestPalindrome(string s) { int ansl=0,ansr=0,ans=1; int L=s.length(); memset(dp,-1,sizeof(dp)); for

2017-09-03 16:35:40 209

原创 LeetCode-4-Median-of-Two-Sorted-Arrays 递归求两有序数组第k小

这个题给了俩有序数组,要求合并后的中位数,要求用lg(m+n)的算法,明显是要二分了,但是正着写太麻烦了,还要考虑奇偶,于是我参考了一下网上大多数人的做法,用递归的方式求。我用C++写完交了后告诉我才击败了6%的选手,我不服,然后把所有的nums1.size()这种的东西都用常量存起来,然后再交就能打败50%的人了,访问vetcor的size还是很耗费时间的。C++86msclas

2017-09-02 17:39:18 240

原创 LeetCode-3-Longest-Substring-Without-Repeating-Characters 尺取法+Python数组初始化+ASCLL转换

给一个字符串,包含各种字母和标点的,求最长的连续的不包含同种字符的字符串的长度,典型的尺取法。C++:class Solution {public: int lengthOfLongestSubstring(string s) { if(s.length()==0)return 0; int cur[300]; memset(cur

2017-08-12 14:22:27 340

原创 LeetCode-2-Add-Two-Numbers 链表

题意是给俩非空链表,每个结点是0-9的数字,输出这俩链表的每一位加起来组成的一个新链表,要考虑进位的问题,链表左边是最低位,而且链表长度可以不一样。例如:3-4-5加4-6-2得7-0-85加5得0-10-8加0-2-1得0-0-2C++:/** * Definition for singly-linked list. * struct ListNode {

2017-08-08 20:39:11 211

原创 LeetCode-1-Two-Sum HashMap

给一个int数组,给一个目标值,让你给出数组里的两个数的下标,which和是目标值C++:目测他们内置的g++编译器不支持STL的hashMap,用了本地能编译过,交上去就是CE,然后暴力一发过了,第二层for里的j都没从i+1开始都可以过。class Solution {public: vector twoSum(vector& nums, int target) {

2017-08-08 15:42:31 268

原创 《孙子兵法》读后感

近日初阅,《孙子兵法》,感触至深,收益良多。古今中外,文人骚客、军政大贾,莫不精研。吾一小辈,虽无亲历,却有感慨,孙武所言,字字千钧,摘录批注,略有添省,于此为记。这是一部兵书,但实际上是一部战略学巨作,虽然过去了两千多年,世界发展日新月异,但是这部书依然没有过时,其影响所至,已远远超出军事。经济、政治、文化、外交乃至人生各个方面都可以在这部书中找到答案。孙子兵法共计十三篇

2017-04-25 14:41:46 3814

原创 一些图像格式转换工具的使用方法(eps2svg with pdf)

工作中要把eps的图形转化为svg的,需要借助一些工具。首先,eps是Adobe公司开发的的用来印刷打印的图像格式,不是传统的位图,也不完全是矢量图。svg是完全的矢量图。很多工业中使用的印刷图像文件格式都是eps格式,但是要对其进行复杂的编辑操作时,要把图形转为svg导入,于是这就涉及到了一个图形格式转换的问题。在windows和Linux的情况还是有区别的,现在网络上的大多数解

2017-04-14 13:47:22 6197

原创 矩形排样问题 遗传算法解决方案

最近在实习中,遇到了一个实际问题。客户要将若干大小不一的小矩形,排到大矩形上,而且还要求可以设置小矩形之间的间距,和大矩形的margin值,便于裁切。排样问题是一个经典的NP问题,有很多解决方案。神经网络、遗传、蚁群、模拟退火等等算法都可以解决这个问题。对于一些行业的工业生产,很多生产数据并没有测试数据那般刁钻,所以这些算法基本都能满足生产的需要。在这里,我主要参考了一篇郑州大学的

2017-04-05 14:10:52 17100 18

原创 hiho 1487 并查集+搜索 [Offer收割]编程练习赛11 problem C 岛屿3

#1487 : 岛屿3时间限制:10000ms单点时限:1000ms内存限制:256MB描述H国正在进行一项持续N周的填海造岛工程。整片工程海域可以被看作是1000x1000的网格。每周都有一块1x1的单位方格海域被填成陆地。如果我们将连成一片的陆地(一块单位方格与它上下左右4个单位方格是相连的)视为岛屿,H国想监测每周末整片海域中一

2017-03-26 15:55:12 658

原创 hiho 1486 DP+状压 [Offer收割]编程练习赛11 problem B 物品价值

#1486 : 物品价值时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi现在有n个物品,每个物品都有一个价值。并且这n个物品总共有m个不同的属性,每个物品都具有其中若干属性。小Ho要从中选出若干物品,满足每个属性都正好有奇数个物品拥有,且被选出的物品价值总和最大。你能帮助小Ho完成任务么?输入

2017-03-26 15:37:37 575

原创 hiho 1485 尺取法 [Offer收割]编程练习赛11 problem A hiho字符串

#1485 : hiho字符串时间限制:10000ms单点时限:1000ms内存限制:256MB描述如果一个字符串恰好包含2个'h'、1个'i'和1个'o',我们就称这个字符串是hiho字符串。  例如"oihateher"、"hugeinputhugeoutput"都是hiho字符串。现在给定一个只包含小写字母的字符串S,小Hi

2017-03-26 15:18:43 920

原创 网易2017实习生招聘笔试题 C++开发工程师

笔试一共150分,分为3个部分:一:20个选择题(60分)二:3个编程题(60分)三:2个问答题(30分)第一部分全是单选,涉及C语言、C++的特性、操作系统、网络、数据结构等基础内容第二部分是3个编程题,前两个非常水,第三个稍微有点水第三部分问答:简述C++虚函数实现机制,用C++实现线程单例安全模式我基本上选择题靠蒙,编程题AK,问答题不会。

2017-03-26 15:09:21 2587

原创 初学 OpenCV 图像加载、输出+图像轮廓提取绘制并取出每个轮廓的坐标集合

OpenCV帮助文档,一般的函数参数,cv自带的数据结构等都可以在这里查到。http://docs.opencv.org/2.4/genindex.htmlinclude#include#includeload image后面的参数,>0代表强制彩色化,0代表强制灰度化,IplImage* src = NULL;src = cvLoadIma

2017-03-22 13:39:00 24777 1

原创 2018网易游戏雷火盘古实习生笔试

看了往年的题目,今年一如既往的是4个题目,讲道理都是区域赛签到题水平,或稍微难些,不及铜牌题。虽然把机械键盘从公司拿回来了,但是手太生了,发挥的有点失常,估计是与网易游戏无缘了T_T。去年秋季九一八就让我去南京笔试,我那阵子在泡图书馆干大事,实在没空,错过了一次机会,这次又没抓住,哎。。。1.第一个题,扔硬币,10000个硬币排成一排,每次选一个区间翻面,翻1000次,可以用树状数组区实现

2017-03-20 22:23:08 2247

原创 Qt 判断点是否在多边形内

这里不用考虑线段的斜率,不会出现0作除数的bug,因为端点y值与目标点y值相等的时候,会认为端点在上面,参考程序中的>=ybool DataConvert::isInsidePoly(const QPointF &iPoint,const QPolygonF &iMyPoly){ qreal x=iPoint.x(),y=iPoint.y(); int le

2017-03-17 14:30:11 3390

原创 Qt 求两个多边形组合后的凸包,Qt里的排序方法

unique是很关键的一步,不可省略,一般的题目都给定了不会有重合点,但是实际项目应用里保不准。可以证明,交点不会出现在凸包上。这里的排序方法非常好用,不用单独写一个cmp函数了,相当于直接把这个函数写在sort下面qreal DataConvert::getCrossProduct(const QPointF &iPointA,const QPointF &i

2017-03-17 14:22:44 1494

原创 Qt 设置QLineEdit的输入格式

在项目中经常需要设置对话框里的QLineEdit的输入的格式,根据可能的数据格式,要有不同的规定。这里列出几种常见的需求,并给出对应的解决方法。一般的问题用Validator就可以搞定1.输入的是一个int整数,范围取0-999ui->lineXX->setValidator(newQIntValidator(0,999,this));2.输入一个d

2017-03-17 13:56:29 6822

原创 2017年1月ACM留校培训——二分专题

二分法是程序设计中非常常用的一种算法,比赛中经常会使用到,在我参加的这些比赛里,几乎每一场比赛都会有多多少少涉及到二分法的题目。二分法不仅仅是用来比较一个数在一个数列里所处的大小位置,有时候还有很多更巧妙的用法。 需要注意的是,要使用二分法解决的问题,答案一定是随着已知参数单调递增或者递减的,就是说你要寻找的那个解,他的解空间一定是有序的。 比赛中的题目一般都是直接二分搜索答案,将

2017-01-08 16:11:46 1380

原创 poj 3258 二分 River Hopscotch

River HopscotchTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 12355 Accepted: 5286DescriptionEvery year the cows hold an event featuring a peculiar ver

2017-01-08 15:33:20 452

原创 2017 香港大学 MSc in Computer Science 面试经验总结 以及对该学位的看法

昨天下午在上海参加了港大的授课型研究生面试,一切还算顺利,在此写点东西,如果有人需要,那是极好,没人需要,就留给自己玩了。因为有些申请内容要跟留学中介核实,我12月中旬才给港大递的申请,但是很快在1月初就收到了通知要我接受面试,北京上海深圳3选1,离着上海近,就选了上海了,定于1月7日,时间地点在1月5号才通知的我,是在浦东的一个挺豪华的酒店,锦江汤臣。到了以后才发

2017-01-08 13:37:55 21638 19

原创 《武则天正传》——林语堂版本,读后感

最近新入了一本林语堂先生写的《武则天正传》,张振玉译,之前读过他写的《苏东坡传》。这本书从头读到尾,几乎没有发现半点褒奖武则天的言辞,找不到丁点对这位女皇的正面评价。读了一半,我就开始怀疑这部书的真实性,正好我的一位朋友看过别的版本的武则天传,她说她看的版本对武则天的正面评价比较多。这里我把书的结尾摘抄下来:/*中国历史上这个最骄奢淫逸,最虚荣自私,最刚愎自用,名声坏到极点的皇后的

2016-12-08 15:49:47 2868 2

原创 Linux下使用Curses库+时钟信号编写视频小游戏:对战贪吃蛇

#include #include #include #include #include #include #include #include 这些是用g++编译所需要的头文件,其实用c和c++都可以,我用g++编译的,其实也没用到什么c++的东西,如果用gcc,需要的头文件可能会有变化,反正试一下就好了。编译命令:g++ /home/parker/Desktop

2016-12-06 14:28:41 2203 6

原创 Linux里安装curses库

在linux里编译包含curses的时候遇到了一些问题,要提前安装curses库执行这句话就可以了sudo apt-get install libncurses5-dev这里要注意一下,lib和curses中间还有个n。。。如果报错,就先update一下sudo apt-get update

2016-11-28 14:41:29 983

编译原理 LR(0)项目集规范族的构造 LR(0)分析表+分析串的代码实现

编译原理作业:输出LR(0)分析表,并且可以判断一个语句是否符合文法。整个过程我是使用codeblocks的c++编写的,其中用了一下STL标准库中的队列、映射。这是实现功能的详细代码,有注释的伪代码以及测试用的相关样例数据。

2015-12-06

编译原理 NFA_DFA 画图 C#

编译原理老师布置的作业要求程序实现NFA_DFA,然后还要输出图像,这个程序是读取一个txt文档数据然后输出一个DFA图,生产txt文档的程序是用c++写的,在我上传的另一个资源里,这两个一起用会有奇效喔

2015-11-28

编译原理NFA-DFA转化原创代码以及算法详解

编译原理老师讲完NFA_DFA布置的作业,因为我是搞ACM的,这个题目用到的算法自己经常用,于是我就用bfs+dfs+状态压缩乱搞搞弄出个代码来,功能ok,100%原创,仅仅提供大家参考。这个是输出的表格部分,我们的程序还支持自动输出dfa的图形,我感觉画图比这个算法还难。。。在另一个资源里再下载。

2015-11-28

空空如也

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

TA关注的人

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