2016一季度二级市场投资小结

今天是4月14日,一季度第一个交易日就是1月4号的大阴线,然后就是股灾3.0一路下来。目前基本是触底反弹的阶段。先贴一下一季度的结果(蓝色是我的净值,红色是上证指数,包括了股指期货开的空单,所以开头是反着走的):

Screen Shot 2016-04-14 at 11.21.39 PM

因为没有每天都记录,可能因为有一些日子的缺失导致不太像上证的完整指数,不过每个记录时间点都是真实的数据。可以看到还是跑赢大盘挺多的,但也只赚8个点,中间有两次违背交易规则造成的大回撤。整体做得还不是很好。

对净值做记录是2015年11月6日开始的,从那时到现在的曲线如下:

Screen Shot 2016-04-15 at 12.06.20 AM

下面每个小结讲一个小主题吧。

痛失老板电器

先贴一下老板电器1月4日至今的K线图。

pic

左边第一根大阴线就是1月4日。恰巧上一篇博客就是第一个交易日发的:『增发、增持、减持』,里面唯一提到当时持仓的是老板电器,现在已经创历史新高了,事后诸葛亮一发逻辑还是挺正确的。然而下来的时候到了成本价多一点小赚跑了,涨的时候没买回来,真是可惜了。即使是增持价40拿到现在也25%了。其实看好老板电器的逻辑很多。

  1. 低估值
  2. 40元左右大老板增持,员工持股计划,代理商增持,数量还不少
  3. 270万台产能生产基地马上15年底完成,进入生产阶段
  4. 房地产马上热了起来,整个家电行业增长的预期提升
  5. 公司资产负债率很低,现金流充足,想要扩大投资杠杆,随时都可以搞
  6. 大宗商品价格大跌,生产成本下降
  7. 管理层能力在行业内明显是老大,市场占有率不断提升
  8. 看财报,公司营收大幅增长,但是应收账款等却没有怎么涨,可见公司在市场中(可能是对消费者,也可能是对代理商)处于主动地位,货还是挺抢手的。
  9. 然而我觉得最可怕的是,2、3两点加起来,有了大幅增加的产能,巴结了代理商,那么要做数据非常好看的报表简直易如反掌了。想象一下只要代理商想,随时可以从老板电器这里拿货,只要代理商拿了货,就可以当成卖出去算进利润了。有了大幅增加的产能,又有了出处,加上第8条货还是挺抢手的,然后代理商大量持股,多拿一点货让自己的持股快速增值,何乐而不为。如果把代理商看成老板电器新的仓库,简直是利润想怎么调怎么调。

然而当时其实没有看到这么多,后来看完了唐朝的《手把手教你读财报》,对照看才突然发现这是一个多么强势的公司。现在我们看老板电器最近出的年报,存货是减少的,可见新的生产基地的产能还没有给上来,但是已经超预期增长。可以预见,后面新的产能给上以后,接下来这年的财报如果老板电器想调的话,真的可以炒鸡好看。所以只要估值稍微跌回来一点,我感觉是随便买。

选股到底该怎么选

经过一轮阅读与实践,对选股有了一些新的体会。看了一些文章说只要不是今天进明天出的交易,说来说去都只有一个优势,那就是选股。

那么列一下关注的点,按顺序应该是:

  1. 资本运作(增减持等)
  2. 行业、题材(次新股等也算)
  3. 筹码(比如碧水源虽然公司不错,但是谁都知道它好,随便拿个软件看都知道高位套牢的筹码不肯割肉,这样就很难涨)
  4. 行业地位(就是竞争力)
  5. 经营状况(看自己看财报的功力了)
  6. 市值(越小越好)

赚到不少钱的中科金财就是根据1、2、3选出来,不过当时行情不太明朗,没怎么上重仓。当时是看了版块,看上它从底部拉了一个涨停,看了一下筹码交换完毕,行业互联网金融,底部实际控制人的配偶定增。于是直接第二天高开5个点也进了,然后就是连续两个几乎涨停的涨幅。

当然,即使选好股,也还是按买卖规则来买卖的(买卖规则详见之前的文章:『做股票的一些基本思路总结』)。所以最起码的要求是...在买点上。

目前观测的股票

  • 碧水源(公司来讲别的都很好,就是现金流有点烂,应收账款持续大幅增加,被国家开发银行定增奶了一口,年报还不错,主要看点是定增后的业绩释放(定增前基本要调节利润的))
  • 老板电器
  • 奥瑞金(做易拉罐的。低估值,实际控制人增持——虽然是迎合救市的,聊胜于无。开始不太想当红牛小弟,扩大投资,举牌永新股份(也是做包装的),整合包装行业和下游快消品产业链,进军体育行业,目的是为客户提供宣传渠道。感觉布局和视野都还是行的。这些投资都还有理有据,不是在瞎搞。最大的风险是负债率已经很高了,年报60%+,但是公司已经向证监会提了定向增发,还没有答复。等定增弄下来,负债降一降,还是有点意思的)
  • 博敏电子(次新股,走势好看)
  • 凯龙股份(同上)
  • 读者传媒(同上,这个行业很好)

目前持有

  • 奥瑞金
  • 博敏电子

碎碎念

在伦敦有时差做A股真是各种不方便啊...幸好夏令时,早上7点半起来还可以看半小时尾盘。

买了个阿里云windows server跑同花顺来挂买卖策略。这样就可以淡定出行了。

接下来重心还是转向次新股投机吧,资金不太多的,次新股是性质最好的交易标的之一了。

增发、增持、减持

最常见的对投资股票有参考意义的三种行为就是增发、增持、减持。

增发

增发有分定向增发和非定向增发,区别在于定向增发是面向少数的既定投资者,而非定向增发又叫配股,面向全体投资者。

非定向增发的意义并没有那么大,只是表示公司需要资金,向二级市场拿钱发展。好坏不好说。

定向增发就有意思了,关键是定向增发的对象。如果是自己公司的老板以及高管,那七八成是要涨了。首先老板高管对公司的了解比外面的人多的不是一星半点,对自己公司的发展有信心才会增发。除此以外,财报怎么做做账,或者发点什么利好对他们这些实际控制人来说,根本就是随随便便的事情,可以期待他们会尽力不让自己亏本。那么在增发价上下的时候,就可以试着买了。一般这种增发会伴随着财务费用,20%左右,把增发的人算进公司共同体的话,那么你得算到达增发价的120%的时候,这笔增发才算划算,否则这个共同体的这次增发是亏本的。当然不排除一些不管公司死活的无良奸商把这个东西当做利好消息放出来,然后通过别的方式减持。但是无论是什么样的逻辑,增发以后总要有一个上涨的过程,否则对于老板高管来说都是不划算的。而这个过程对我们二级市场投资者来说就足够了。

例子:

  • 仙琚制药,2014年12月29日发布非公开发行预案9块/股,给自己人,可以自行考证一下走势

增持

增发和增持的根本区别在于:

  1. 增持并不改变股本,只是买了本来属于别人的股份。
  2. 增发会使得公司获得新的资金,而增持不会。
  3. 增发公司获得的资金,需要说明这些资金用来干啥,而增持可以就是随便买买。
  4. 增持手续没有增发麻烦。

然后背后什么意思,靠自己琢磨了。这种如果是员工持股计划之类的,一般也是需要20%财务费用。同理对象是一些高管的话就具有重要意义。

例子:

  • 老板电器,前一两个星期才玩的增持,拭目以待,目前重仓- -b。
  • 中国平安,2015年第一季度的持股计划,可以自行看看走势,目前看基本快回到增持价格。

减持

大股东高位减持谁都知道是跑路,低位减持有可能是避税,详细可以参考之前对『龙源技术』的分析。

结语

这些资本动作是投资逻辑的一个重要部分,但是还是要按照操作规则(操作规则见『做股票的一些基本思路总结』),赚到钱了不可能会让自己再亏本的,像中国平安这种如果跟着大老板买完,肯定是赚钱的,然后股灾砸下来,破掉平台和均线还是跑路吧,起码还有钱可以赚。

一句话,投资逻辑只是让自己胜率变高,操作还是要按照基本规则。

做股票的一些基本思路总结

做A股股票做了有一年多了,期间看过一些书,也听过做得很好的老师讲了很多东西。在雪球上也看了很多文章,自己也想了很多。一直想找个时间整理一下思路,但是之前博客变得很慢,以为是被block了,弄了好久才发现是LaTeX插件惹的祸……那么现在搞定以后趁着回家写一下自己作为小散的思路,不敢说有什么大的见解,但是应该对于刚入场的新手还是有一些启发。

本文从做股票(衍生品和债券暂且不列)的三大投资逻辑类别出发,针对每种类别的投资逻辑定下确定的操作思路,最后会总结一下。

在后续的文章中会对我自己积累到的一些常见的小逻辑(或者说叫trick)再进行罗列与分析。

三大投资逻辑类别

投资

本来投资的定义就是为了获取收益权,而放弃资本流动性的一种行为。坚信能赚到企业的盈利,跟随企业一起成长。以基本面分析为主。

投机

投机有很多种,但本质是不包含确定性的走势预测,或者说赌博。以技术分析为主。

套利

包含确定性的带有安全垫的赌博。当然也有无风险套利,但是这种套利机会弄下来,基本不会有太高收益。套利者往往信奉市场是测不准的,并依此去操作。

具体操作思路

首先需要明确,投资逻辑只是让你认定这个标的现在好还是不好,真正选择起细致的买点和卖点,还是要根据技术走势来。那么下面给定我操作的pattern。

技术操作

第一类:20日均线

买点:从20日均线下方上穿20日均线。

卖点:从20日均线上方跌穿20日均线。

第二类:平台低点

买点:股价基本处于20日均线上方或者附近,并且在30分钟或者更高级别K线的前期低点附近,有止跌迹象(比如收十字星、阳线)

卖点:有效跌穿该前期低点,止损;突破平台上沿以后一轮涨势,跌破MA20或明显跌穿某前期低点。

其他原则

  • 买入有一定获利以后,止损价就放在买入价上方(目前市面已经有一些监控自动止损的工具,平时比较忙可以用这种东西挂着。同花顺也有,不过要收费),绝不能让盈利的交易变为亏本。
  • 无论是哪类,在有一定获利以后(这个时机可以是看到一根阴线,或者获利10%之类的),卖掉1/3到1/2,成本被摊低,剩下部分再根据规则交易。

投资

既然是投资,就要想着吃公司的增长。就看最简单也很管用的模型:

股价 = 市盈率(PE) * 每股收益。

那么很简单的思路,假设是每股收益稳定增长的白马股,那么我们可以在他处于市盈率相对低位或者合理的时候买入。

拿海康威视举例子,作出他目前的市盈率(TTM)曲线如下:

hikvision

那么如果你认为他现在是处于一个历史相对比较低的位置,就可以根据上面的操作规则买入了。我的看法是现在处于一个不高不低的位置,是比较合适的,等他再上穿20日线,可以适当参与。

类似的白马股:老板电器,奥瑞金,碧水源,启迪桑德

这类稳定的成长型白马股有一个比较著名的评估指标PEG = PE / 净利润增长百分比。老李说低于0.5基本可以无脑买入。(比如之前15PE的奥瑞金就是活生生的例子)

由于市面上的基本软件并没有市盈率曲线,同花顺上指标平台有一些有的,但是弄出来发现写得都有点问题的,特别是股本有变动的时候。wind有,但是要收费,于是我简单写了一个在线抓取的,还没做储存和cache,比较慢,可以供大家参考:http://120.55.80.116/。这个市盈率算的是TTM,也就是股价除以最后4次财报的盈利总和。目的是尽量客观地衡量一些收入集中在年底的公司。要看准确的PE(TTM)在http://xueqiu.com/上有,我的经过测试和雪球算起来是一样的。

投机

A股市场有很多非理性的机会,比如之前涨疯了的锂电池、新能源汽车题材。这种题材股的炒作,很多时候就是一下火起来了,特别像特力A这种。很难找到什么投资逻辑,但是就是涨上天了。如果要参与,也只能用技术分析的方法参与了。

套利

套利有非常多的内容,一般是某样东西与它的衍生品中间出现了价差。最常见的包括:

期货和现货的价差

比如沪深300股指期货和沪深300指数之间的价差。能做这个的逻辑在于期货在约定的结束日期和现货的价格必定是几乎一样的,否则就会有人借此机会马上套利捞一笔,然后把价差铲平。

升水:期货比现货价格高。这个时候可以做空期货,做多现货来无风险套利。(就是开股指期货的空单,然后买入同等数额的现货)

贴水:期货比现货价格低。由于股票现货并不能做空,那么可以在期货裸多。就在2015年8月25日前后,出现了这种贴水过大的套利机会。我们把数据拉下来可以看到升水的比例历史曲线如下(IC当月合约和中证500从15年4月开始到现在,纵坐标是(期货价格/现货价格-1)*100):

升水

那么假如你相信股价是完全随机的,在这种贴水大幅变大的时候,就可以裸多单买入。因为期货的基本规则(到了日期和现货价格要一样),相当于你现在买了打了折的现货。即使到交割日期跌破了你的成本价,那么你也有本身打折的安全垫在。

基金与实际净值的价差
  • 基金上下折,不过感觉这种可操作性不是很大。
  • 作为类似影子股的标的。比如有些因为重大利好停牌的股票,你是没办法买进的,但是这时候就可以看看哪个基金重仓这个股票。因为股票停牌,基金一般净值是没动的,很多投资者并不会意识到重大利好的股票出来会有若干个涨停板从而带动净值上升。

总结

首先记住你相信的逻辑并不能决定股价,千万不要死守深度套牢的一只股票,到头来感动了自己。

投资逻辑是用来选股的,不是用来操作的。任何的操作都要基于统一的一套系统。比如我上面提到的这套。目前我选的股票以及大盘都在MA20以下,所以我是空仓的。因为对于我个人而言,MA20以下的行情都不叫行情,并不值得参与;如果是真的行情,总要经过MA20的。

我的操作系统的基本假设是上涨行情的持续性,20天线上本质想定义的是向上拐点,但是行情能持续多久是不知道的,随时可能摸到下一个向下的拐点。

如果懒于选股的人可以买大盘,银华锐进对应上证指数,创业板B对应创业板指。都是加了杠杆的大盘,创业板B要是出现快下折的情况(净值低于0.4)稍微回避一下即可。创业板B弹性很大,大行情来临时是很好的标的。

当你空仓的时候,可以都买入银华日利或者华宝添益。这种是场内的货币基金。用土一点的话来讲,叫余额宝。这样行情来的时候可以随时买入。

对于赌大小有一个很经典的方法:假设本金无限,每次买大小,赢了能拿双倍,输了就没有。依次押注:1,2,4,8,16...。只要赢了,就又从1开始押。那么每一次赢,就能得1。原因就是2^0 + 2^1 + ... + 2^{n-1} = 2^n - 1

既然赌大小这种完全随机的东西在良好的策略下都能有很好的赢利方法,何况是股票呢?

任何的买入都是一种风险与收益的博弈(不好听点叫赌博),没有任何一次买入是一定成功的,但是在这上面赚大钱的却是大有人在。然而什么都不学就想赚钱,在社会上不行,股市里当然也是不行的。

龙源技术(300105)

这是老李一个多月前推的股票。目前自己也6~7成仓在里面,所以总结一下该标的涉及的一些要点,一是归纳其中的知识,二是理清自己的投资逻辑,坚定自己持股的信心。

本来是昨天打算发出来的,结果没写完,今天就吃了个涨停233。于是在下面罗列一下为什么看好这个股。

一、国资控股

Screen Shot 2015-05-27 at 3.40.20 PM可以看到龙源技术的第一控股大股东是国电科技环保集团股份有限公司。

二、业绩差

财务可以看到已经进入了这个亏损节奏。那么亏损的原因是什么呢?首先下表表明了,该个股主要做的产品是火电相关的。

火电而火电自从这个柴静的《穹顶之下》,就被诟病得不行。上几个月,发改委将火电价格进行了下调。然后如果关注过川投能源的同学大概就知道,雅砻江的清洁能源水电都已经多得不行了。可以想象,这个火电市场肯定是要变小的。而公司给出的亏损原因是:

报告期内,由于市场竞争日益加剧以及营业收入结构的变化,综合毛利率较同期有较大幅度的下降。报告期内,公司实现主营业务收入15,205万元,同比下降10.02%。其中,等离子产品6台(套),实现营业收入3,903万元,同比下降25.94%;低氮燃烧产品7台(套),实现营业收入10,553万元,同比增长46.67%;微油点火产品10台(套),实现营业收入592万元,同比下降22.92%;其他产品本期实现营业收入158万元。

毛利率下降基本是不可逆的,市场在变小,而竞争只会越来越激烈,于是我们可以初步判定这是个要GG的公司。

综合前面这两点,国资控股和业绩差,在本轮央企大整合和资产证券化的大背景下,被重组并购的可能性是很高的。

三、出预亏公告的时候,被机构抢筹

走势

看看龙源这个走势,我们发现4月14号的时候涨停了。那么我们看看4月14号发生了什么?

首先是上了龙虎榜,可以看到龙虎榜公布了当天买入最多的账户。

机构专用

可以看到大多是机构专用。除了这个,再往前一段时间,公司在3月19日是出了个预亏公告的。按照老李的说法,机构买入亏损的公司会被限制得很严格,抢筹亏损公司的事情是很少见的,除非是通过调研之类的手段知道了某种比较确定的消息。所以这一点也更加让人相信龙源技术会有大的动作。

四、三股东减持

http://q.stock.sohu.com/gg/2015992434069.pdf

可以看到三股东在5月8号~11号之间是减持了600万股。一般来说减持表明对公司没有信心。之前我看到减持也是这么以为的。后来挺老李在课上讲,这应该是左手倒右手。我们看看减持的时间点。

减持时间

这里可以看到,是在一个几乎是最低点的地方减持的。为什么呢?

老李给我们科普了一个知识就是可能是避税。大概就是之前以非公开发行/定向增发/原始股之类的方式入手的股,再抛出到二级市场的时候,需要交资本收益20%的税。而已经在二级市场的股票抛售是不需要交这20%的。

所以如果等日后涨得很高再减持出来,就要交更多的税。如果出于避税为目的,那么就可以认为三股东觉得这将是历史的一个低位。那么相对应的就是三股东对公司股价的强烈看好。

2月份张总给我推的一个富川环保(002479),那时候是8块,现在都21.5块。当时是张总给我推了以后,立马吃了一个大跌8个点,然后大股东减持。当时看到消息吓坏了,然后就抛出了。现在看来,应该也是同样的节奏罢。只怪当时太年轻……根本看不懂。所以懂得背后投资银行的操作手法对于投资而言还是很重要的。

五、滞涨

龙源技术属于创业板。在创业板指数翻了5、6倍的时候,龙源技术1倍都不到。那么我们可以认为龙源技术有补涨的需求,相对比较安全。

综上五点,是我自己买入该个股的逻辑。当然里面很多都是推测,但是这么多推测合到一起,还是有比较大的可信度的。

写作计划

自从ACM退役以后,都没怎么写过博客。其实也不是没什么好记录的,只是之前写博客的时候比较注重原创,觉得如果能在别的地方轻易搜到,那么就没必要写了。

后来又看到一篇dd学长在twiter上转的文章:《写作是种高质量的社交方式》。觉得写作不止是一种强迫或者说帮助自己思考总结、理清思路的方式,也是一种交流的方式。不必太在意写出来水平如何,反正能使和自己水平差不多的小伙伴得到启发就挺好了。

其实最近主要的精力是花在看股票相关的内容和陪女朋友上了,接下来会以每周一篇的频率把学习到的内容汇总写一下。

都说要追根朔源,那么先把最近利用到的一些材料罗列一下,对自己也好有个清醒的认识。

  1. 知乎。搜索了解一些基本的金融知识,解决疑问。长期关注刘鹏程和他的A股收盘小笔记
  2. 雪球。A股的论坛里比较靠谱的讨论集中地之一。关注了的股票出公告之类的还有推送。
  3. 缠中说禅
  4. 旁听李兴建老师的投资银行实务课程。=w=,真是效果拔群。
  5. 浙大的证券投资群。给力的路神。
  6. 实盘操作
  7. 东证的一些投顾朋友
  8. 一些书籍:《聪明的投资者》、《证券分析》、《投资银行实务》、《金钱有术》(知乎整理版)……

之后整理的话,也会顺着来源去,力求形成自己的系统。

My Way

从今年7月ICPC final回来以后,我一直都在思考人生。但是到现在还是处于一个比较混乱的状态。写这篇东西首要目的是理清自己的思路,次要目的是希望有人能对我的误区进行指正,最后希望我的思考可以对同样在迷茫的小伙伴有一点启发吧。

在这个过程中,我大概经历了这么几个阶段:

一、在阿里A部门实习

这前面还有个故事,当初ICPC final前投实习的时候,只投了阿里和Google上海,想着怎么也挂不了。但是没想到Google投得太晚了,一面以后HR似乎去旅游了,一个月以后告诉我一面feedback不错,但是我们快招满了blabla,校招的时候直接来,这一面就当成校招的电面了。于是乎就去了阿里实习了。

然而实习阶段又分成两半。

前一半在用Java写网站后端。这部分的心理感受大致是这样的吧:

  • 做的事情单调重复、琐碎
  • 同事CS基础根本没有,就像语言速成班出来的一样,几乎是以排斥的态度对待没见过的技术/工具
  • 文档根本没有,接口用起来各种不清不楚
  • 没有给新人足够的上手资料
  • 我并不想融入到这里面,真真切切的道不同不相为谋

这里面有很多事情导致了我的这个想法,但这里并不想谈,总之一段心里大多是相对比较negative的想法。

二、在阿里B部门实习

至于为什么转了部门,主要是中间8月初有一个转正面试,而这个时候我已经过了Google HC。于是就直接对HR说,HR review的时候看了我的简历,把我介绍给了另外一个主管见面。结果就有了这次转部门。说实话我心里是很感谢这位HR的。

后一半在北京的一个算法部门,主管是从Google回到阿里的。这一段还是有点意思的,从同事给的资料以及和同事的交流中学习了不少机器学习的东西。中间和乐其的学姐交流过一下。在这一段,我的想法有了很大的改变。同期8月初开了个A股的户,开始玩起了股票。当时在想的主要有这么几个事情:

  • 创业要趁早
  • 炒股盈利经实践真的靠谱
  • 到Google工作一下,然后回来创业
  • 要做什么没想好,但是做什么都比打工好
  • 我不知道我想要什么,但是平平淡淡的生活不是我是想要的
  • 做什么方向随意,关键是和什么人在一起

三、校招期间

当时觉得Google、Facebook进其中一间应该不成问题,于是就没有投别的了。因为同是大公司的话,其它的就没有什么可比性的样子。这段期间也见识了各公司HR的人肉水平,总是有各种奇怪的电话打来。

里面值得一提的是华为和依图。

华为是杭研所的所长和HR总裁把我拉到曲院风荷吃了顿饭。说了一通什么人不就是为了钱和面子,你列出到Google能获得什么东西,我们都提供给你。要是愿意还可以给你带一个团队。刚开始觉得带团队还是有点吸引力的,但是一细想到阿里A部门的实习经历,带的估计也只能是那种人。就再无念想了。

依图是我到现在都纠结的一个点。和他们谈了很多次。毋庸置疑,他们几个leader很有水平,理念也很对我胃口,对方也很能坚持。而我也已经认同了这家公司。更主要的是,和我见过的别的创业团队完全不一样。谈了很多,这里还是把一些主要的想法列一下,希望自己能够尽快想清楚吧。

成功到底是什么?

这个问题真的想了很久。想起了《人性的弱点》中的一句话,人做事的动机有两点:性冲动和渴望伟大。虽然这个翻译看上去就很拙劣。但是我同意想装X是人做事的一个很主要的动机。Google的"Do Cool Thing That Matter"就是对这个观点很好的诠释。所以说其实“获得很多人的认同”这一点对于绝大部分人来说都是很具有吸引力的。

但是他们也问我了,如果你有10个优点,另外一个人每天膜拜你最不以为意的一个。你什么感觉?我想了想只能回答是翔一样的感觉。

所以说单单是认同这一点,似乎确实是说不过去。那么再想深一层,这里会出现这样的结果,无非是因为觉得对方不理解你。而这种感觉造成了对对方的不认同,于是要修正一下的话,我想要的可能就是得到“我认同的人”的“认同”。

这里又涉及另外一个问题:我认同哪些人?实际上这个答案还是相对好找的,你羡慕哪些人,想成为哪些人,那就是答案吧。

但是仔细一想,这个目标是会变的。以前中学觉得拿NOI金牌保送清华好厉害。后来觉得CF TC的红人好厉害,再到后面觉得World Finals拿牌好厉害,结果是虽然没拿到,但感觉拿到的确实比我厉害,但也不是那么羡慕了。然后是还没开始找工作的时候觉得去Google、Facebook的挺厉害,后来发现好像不是太厉害的一些人也去Google、Facebook了,自己也一下子拿到了offer,于是又感觉so so了。反正现在我觉得像依图一样开一家有逼格的公司然后不断做大做强的人都挺厉害的……

至于赚钱,是必须的,但不是目的。

我觉得成功就是获得了“我认同的人”的“认同”,而不一定是达成了特定的目的。

去G社有什么好?

我是从一开始就没有想在G社待着超过两年。毫无疑问,在美国G社的生活是相对安逸的。然而这显然不是我所追求的。那么如果说开公司就是我下一步的目的,那么我所做的就应当为自己的目标服务。站在这个层面上看,去G社最大的好处是平台更大,更容易从Top-Down的角度去看,但是底下的东西就完全没有实践的机会。所以抽象来看,获得的可能就是一个视角。

images

然而回顾我的经历,我就不是一个喜欢从Top到Down的人。如果从数据结构的树上来看,我喜欢的是从若干叶子开始,享受那种不同的小树根并在一起融会贯通的感觉。还有一点就是,这种方式形成的树长成什么形状,是不定的。而Top-Down的话,是相对固定的。如果你用状态压缩的动态规划写过Minimum Steiner Tree的话,就会觉得这真的很形象。XD

是不是要那么着急地开始,在G社先玩玩也挺好的?

这一点是我最犹豫的,因为说不定会在G社获得什么。但是回想起在阿里实习我自己那个状态,抱着“将来不会留在这里”的心态干活的那个状态,我想想心里有点虚。那么对比实习有什么不一样呢?我觉得一是周围人可能水平都高了,二是技术氛围更好一点。但能获得什么我真没有底。

而在依图,可以用最低的成本看到一家算是靠谱的公司是怎么成长起来的。而我自己还能在里面做一些实操的尝试,用很低的成本去试错。

至于要不要这么着急,我还是怀有疑问的。我觉得去G社大概就相当于旅游,增长见识,而practice的机会就很难有了。

我想要获得什么?

因为家庭以及ICPC的原因,在我的观点里面,要成事,团队的技术、管理和组成、对大环境的大局观都很重要。那么我学的很明确,就是技术的架构和细节,人力管理,看人的能力和对大环境的了解。为什么我没有现在开始自己创业,是因为我觉得自己的这些能力还没有达到。需要找一个试错成本比较低的地方。

如果拒绝G社,怎么面对别人的看法?

实际上我从来不在意自己是不是一个某些衡量标准下优秀的人,但我觉得我自己必须是一个特别的人。Do something cool that matter. It is absolutely irony!正因为G社的这句话,我有可能不去G社了。

最坏情况是什么?

依图挂了。我开始自己干。这几年就相当于上课了。问自己一句:怕吗?答案自然是一点也不怕。

四、结论

开始工作前去北美旅游,感受一下。

要么我了了自己的玩心,要么我发现了什么值得去看的东西。

Codeforces 455D Scapegoat tree 解决动态的树套树问题

传送门

昨天CF的题。给一个数列,每次操作要么把一个区间的末尾数字插到头部,要么询问区间内等于某个给定值的数字的个数。
显然分块可以做,也有优雅的Splay方法,但是直观的树套树也是不错的。
一般正常是线段树套平衡树,这样复杂度很容易分析,但是对于第一维空间也是动态的情况,就没法处理了。
而平衡树套平衡树最大的问题就是旋转的时候结点内套的内容没法批量修改。
于是使用不太旋转的平衡树(比如 Scapegoat tree)就是很自然的想法了。
对于这题而言,第一维用Scapegoat tree,第二维用map就可以了。
但是写起来有一个要注意的点,因为Scapegoat tree不太好delete,我是采用lasy delete的方法。
而lasy delete以后忽略空节点的size不能用作判定平衡情况,因为被delete的元素很多的时候,这样判定树的平衡性就完全不对了。
于是不包含空节点的size和包含空节点的nodeCount都要记录。
不过跑出来的速度似乎和同样用hashmap的分块差不多,虽然理论上来讲这个时间复杂度是O(Q log^2 N),分块是 O(Q^{1.5} log N)的。

code

edward_mj退役经验帖

考完试了,也是时候补上退役帖了。

考虑了一阵要怎么写,鉴于本文的目的主要是希望给后来的校队成员或者想参加这个竞赛的同学一个借鉴,最后还是决定用Q&A的形式。

打ACM/ICPC有什么好处

我觉得确切而言应该问把时间花在这上面有什么好处。

  1. 提升算法设计/coding能力。而这直接面向IT公司的招聘
  2. 获奖无论在哪里都是加分点。
  3. 结交这个领域很优秀的人。这条有多重要,自己感受一下吧。

如果只是抱着划划水的态度参加,几乎不投入时间,我觉得上面任意一条都得不到。

我为什么要打ICPC

  1. 预科的时候校队选拔第4,可以说算法底子还算是好的(至少在浙大)。当时也没想太多,觉得navi,猛犸,fancy退役以后我肯定是No.1了,好像还是挺有前途的。我一直觉得,无论在哪一个领域,只要是top的,都会有很大收获。
  2. 上面的好处,每一条都和我想走的路关系密切。

想在这项竞赛上取得好成绩是否需要很高智商

至少就final上拿到奖牌这一点而言,我觉得不需要,记得叉姐也是抱有同样观点的。
但是充分的练习是必要的。
高中参加OI的时候,我也曾觉得会考到的内容基本都会了,剩下的看智商,听天由命了。
后来发现只是知道工具的基础应用是远远不够的。
很多时候想不出来,是因为对这些东西的理解不够深入。
而更可怕的是,你永远不知道自己是否理解得足够深入。
于是只能在不断解决新问题的过程中,加深对这些工具的理解。

如何看待有些老师会说这个竞赛“没有创新”,“做重复的工作”,“没有意思”,“就一辈子搞这种竞赛了”

这个问题是经常有学弟学妹提到的,也是我自己亲身经历过很多次的。
首先要提到的是,每个人都有自己的局限性,老师也不例外。
想象一下如果自己是老师,每天面对追求新意的科研。
然后看到一个总是在解决别人已经解决了的问题的竞赛,会不会觉得第一反应就抵触?
人考虑东西的时候总会不自觉地把自己代入到里面,我倒是觉得老师这么想是可以理解的。
武断地以自己的价值观衡量别人,难道我们自己就没做过吗?
我还是那句话,在任何一个领域,只要是做到比较top的,收获不会少。大概也没有什么领域,随便划水就能有很大收获。
人各有志,且不论这些观点是否正确,就从解决方案来看,也不见得跟着说这些话的老师做工程/研究,就比花时间在这上面好。

如何提升自己的个人实力

没啥好讲。
把codeforces,topcoder,gcj一套一套刷下来,不懂的都看题解弄会。
无论是知识面还是coding功力必定大涨。
光说不做那只能继续被殴打。

如何挑选队友

如果你是队长,而又想保证成绩的话,一定要考虑好下面几个因素:

  1. 大家训练的时间能不能有保证。
  2. 选性格好的,能交流的。比较受的更好了:)
  3. 选水平高的。最好不要相信什么意愿强不强烈,什么会努力之类的鬼话。除非他很年轻,否则打不过别人自然是有他自己的问题。

组队训练什么题目

先是各个regional,再是GYM靠谱的比赛刷完,然后刷opencup。

训练的强度

eternal reality一共训了90+套题。算算10个月有多少天除一下,每套5个小时,赛后还要补题。

作为队长要注意的

首先你自己要以身作则,主动补题,让队友看到你的努力。
其次,补完了要和队友主动讨论。赛后总结的时候分清楚是策略问题,还是水平问题。
水平问题不要太急,好好补就是。
策略问题一定要重视起来,总结的时候先肯定做对的事情,再讲做错的事情。
任何一个人上来就被喷都会很难受的,而且会有自己全盘做错的感觉。

对今年的第15名有什么看法

其实没拿到牌当然还是有点不甘心。
B题是我拿手的类型,但问题是两个人的代码套在一起,不知道是谁的错了。
而且题目也一反常态地难,前期就被打蒙了。
单从训final题的来看,我们队和AoD打感觉应该是7:3开。
一路训过来好像夺冠了4次吧。就连11年AoD现场夺冠的那次也踩了。
所以说到最后还是要看发挥和运气吧。当然,临危不乱的大心脏也是很重要的!

其它注意事项

  1. 要想打好就不要躲题。老老实实补掉。总是只做自己会的,效果可能并不是那么好。
  2. 训练选题要选那些board真实的。比如regional之类的。我个人是很讨厌训那种有人贴代码的online比赛的。那种你训出来也不知道自己打得怎么样。

ACM/ICPC 2014 World Finals —— 退役战

zjuWF2014

sigh,到最后还是没有拿到奖牌,不过好歹刷进了第一版。
imag0141

第15也不错了。

说说过程吧。

开场大家看题,肚子白ABCD,我EFGH,猛犸IJKL,看了好一阵,没有一题会做……

然后猛犸跟我讲了K的题意,我知道不是圈的怎么做,感觉圈的肯定是类似的,在那个做法上改,结果想了好久都没想出来。清华一下就秒了,有点欲哭无泪。这显然这是个原题,但是我们却不会做,当时就感觉不妙。
我和猛犸轮流想K,还是不会。

有人也过D了,猛犸就问肚子白题意,弄了一下终于有题会做了,令人感动。 D 55min 2Y

C也有人过,肚子白开C,调了好久,sample也不对,好不容易调对了,一交又是好几个WA……
猛犸只得又跑去看,我在G和K中交替想,终于发现我K题想的方向根本是不对的,告诉了猛犸这个题的关键:每个区间的后继是固定的。然后终于想清楚了,猛犸问我写还是他写,我觉得G我还可以想一下,I裸平面最大团有人过感觉也可以上去乱搜一发,于是觉得猛犸上比较科学。于是猛犸想了一会儿直接就过了。K 127 min 2Y
其实我觉得K题还是挺难的……但是navi说是东京大学校赛的原题,USACO据闻也有,于是就被万人轮了……我们没做过智商又一下子没上线,只好被碾压了。

期间我I写完了,交了一发TLE,顿感没救。

猛犸又去写了一半B,然后说复杂度好像不太对,跟我讲了复杂度不对的部分,让我去想。
我弄了一下,发现这就是多重背包的凸优化。正确做法是用dp中的重量对“当前物品重量”取模分剩余类,然后每个剩余类的转移利用决策单调构建单调队列来做。有点讽刺的是,这是dd的背包九讲里,唯一没有讲的多重背包的姿势。

虽然我会做,但是那个单调队列的维护需要推的公式很复杂,我推错好几次……

因为这个题除了这个离散的部分,后面还有连续的部分,我的代码和猛犸的代码套在一起,也不知道是谁的错了,怎么交都Wrong Answer。
期间我的部分发现的几个错误,猛犸的部分本来说没问题的,结果又被肚子白发现了几个致命的错误,改来改去也没见过。

然后猛犸和肚子白就去想E了,想了一会儿想出了科学的方法,封榜后1min就过了 E 241 min 1Y

这时候,猛犸选择了去改我的I看能不能搜过去,我弄了好一会儿也没弄对B,于是就跟肚子白讲。然后肚子白大概没怎么接触过这种姿势,好像也没怎么听懂。然后我发现我有一个正负号搞反了,改了以后还是无尽的WA。

然后比赛就结束了。

最后B也不知道是我的代码有问题,还是猛犸的代码有问题。
I搜不搜的过去只能看脸……中国队里也只有北大脸好搜过去了。

如果猛犸过了E以后,和我一起折腾B的话,我觉得九成就5题了,这样第10就有铜牌了(前12有奖牌)。还是有点太贪了。
当然也不怪猛犸,毕竟I也是有可能搜过去的,只能说结果是我们都悲剧了。

于是就这样在大三和FQW,GXX一起退役了,也许后面会补一个退役贴吧,不过现在得用力准备回去连续5天的考试了T_T

说实话,这两年final打下来,真是挺伤的,上一年final刚好是考试周,一坨考试都缓考了。
今年是考试周之前,回来就连考5门,= =b只能求老师们尽可能手下留情了……

2014北京邀请赛 Prob G Great Escape

传送门

做了才知道为什么NowOrNever交那么多次都没过……

首先应该要想到的做法是给每个楼之间的区间分配飞多少层楼的高度。

然后很直接的想法就是每次取涨一层楼代价最小的那个区间来加一的高度,直到这个涨的代价大于1.0/w,或者涨满L这么高。

但是L有10^9,这样做肯定是要TLE的。那么我们可以二分这个+1的代价,然后贪心地去算,然后判断楼层是否超过L就可以了。

不过我的做法更暴力一点,先直接按连续的去做了,差分变成求导,求导以后不难看出这个导数是单调递增的,由于函数是连续的,可以避免很多取整、讨论。于是通过实数的模型可以得到每个区间占用楼层的近似初值。有了这个近似初值,就可以用上面最直接的那个想法通过这道题目。不难证明复杂度是 n lg n的。

代码