- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 tc srm659 div2 1000
题目:Garth likes apples and oranges. Recently he bought N fruits, where each fruit was either an apple or an orange. Then he ate allN fruits in some order. You are given an int K. Garth obse
2015-05-20 12:49:01
941
4
原创 写在离职之前
在公司的最后一周,马上就要变成一只考研狗了,又走到了人生的一个转折点。leader最近也打算离职了,感觉整个技术部大厦将倾,没想到自己在的第一家公司会以这样的结局收场。两年的工业界生涯也算是不短的一段经历了,确实学到了很多东西,不论是技术上还是人生的阅历上。很有幸遇到了一位严厉而出色的leader,也进了一个不用写烂代码的组。虽然说不上有了脱胎换骨的转变,但至少没有白费两年的时光。这两年也看到
2015-05-19 17:05:24
560
原创 BestCoder#40 C Tom and matrix
传送门在这里题意:求Sum(C[i][j]) (x1思路:由c[i][j]=c[i-1][j-1]+c[i-1][j]可知Sum(C[i][k]) = C[b+1][k+1]-C[a][k+1] (aLucas定理:C[n][m]%p=C[n/p][m/p]*C]n%p][m%p]%p令a=n%p,b=m%p,则C[a][b]=a!/(b!*(a-b)!)由于b!*(a-b
2015-05-15 16:05:12
710
原创 cf#299 Tavas and Malekas
传送门在这里题意:给出一个字符串的一个子串,告诉你子串在某些位置和原串匹配,求一共有多少可能的原串思路:其实就是要判断给出子串的所有前缀和后缀哪些是相等的。首先kmp的next数组求的是所有前缀子串(a1 a1a2 a1a2a3...)中长度最大的前缀和后缀的长度,设字符串长度为len,那么next[len]得到的是整个字符串中长度最长的相等的前缀和后缀,并且可知,所有起始位置
2015-05-13 16:08:00
600
原创 codeforces #301 D
传送门在这里题意:有a、b、c三种人,其中a克b(a和b同时出现a存活b消失),b克c,c克a,初始时abc分别有x,y,z个,每次随机出两个人(可能相同种也可能不同),经过无限次之后求每种人最后存活的概率。思路:裸的概率dp。比较通俗的想法是设dp[i][j][k]表示剩余的人中有i个a,j个b,k个c的概率,并且初始时dp[x][y][z]=1,最后只要算出sum(dp[i][0][0])就是
2015-05-07 10:44:52
585
原创 codeforces #300 E-Demiurges Play Again
传送门:点击打开链接dp好题,难点在于递推关系不太直观,需要静下来分析。设A是每次取最大的,B是每次取最小的,Max模式是使结果尽可能大的安排方式,Min模式是使结果尽可能小的安排方式按题目的需求有4种状态:A-MaxA-MinB-MAxB-Min最直观的是A-Max和B-Min,以A-Max为例,要使得当前子树的取值最大,那么会把编号最大的点都放到这课子树上。并且
2015-04-28 15:07:08
1298
原创 vs2013编译openssl
主要流程看这里遇到的几个问题:1.cannot open perl script "Configure": no such file or directory解决:Configure是openssl解压包中的一个文件,所以cmd需要进入到解压包所在目录2.编译报错tmp32\sha1-586.asm(1427) : error A2070: invalid instru
2015-03-11 18:02:54
1786
原创 codeforces 491C - Deciphering
传送门:题意:给出两个等长的字符串s1和s2,对字母表进行重新排列,若s1[i]和s2[i]在原字母表和新字母表中的位置相同则得分+1,求字母表的一种重排方式使得分最大思路:字母表重排实际上是一个完全匹配问题,并且可知边权w(x,y)是两个字符串中出现s1[i]=x&&s2[i]=y的总次数,于是就变成了一个最优匹配问题,直接上KM模块代码:#include#include#i
2015-02-12 17:22:21
592
原创 codeforces#290 Fox And Dinner
传送门:点击打开链接题意:给出n个数,要求将这n个数分成若干组,每组数的个数>3并且围成一个环,要求环内任意相邻的两个数只和为质数。(ai>=2)思路:首先相邻的两个数之和必须为一个奇数,所以一个奇数只能和两个偶数相邻,一个偶数必须和两个奇数相邻,并且可以推出任意一个环中count(奇数)==count(偶数) 于是可以得到限制条件:每一个数都必须和两个满足和值为质数的数相连,这
2015-02-06 17:54:48
515
原创 迁移到64位后的字节对齐问题
sdk在升级到64位编译后在解析本地一个资源文件时出现了bug,对每个字段写入和解析时的偏移位置打出日志,发现其中一个结构体成员变量中少了4字节。这个结构体大致是这样的:struct node{ int a; int b; int c; vector list;};创建一个结构体对象 node A;令int offset = (ch
2015-02-06 17:42:35
995
原创 工程移植到c++11标准
日志向。。记录一下迁移中遇到的几个不那么明显的编译错误。。都是由于c++11标准更加严格,以前编译器帮忙做的事现在不让做了导致的。对c++11标准没有去研究(md基础的c++都没学好呢TAT),所以只记录问题和目前的解决方法,到底为什么这么改或者有没有更好的修改方法以后学习过了再说。1.std::basic_istream中会用到ctype,而ctype只有char和wchar两种实现。如果b
2014-12-25 18:06:38
675
原创 codeforces#282 Obsessive String
传送门在这里读了很久(两天)才读懂题(自己先入为主了,在加上那个范式定义简直。。。),意思是从一个字符串中一次取出多个子串(字符必须连续),这些子串要满足两个条件:1)子串之间不能相交 2)每个子串都包含字符串t。求一共有多少种取法。样例的解释如下:假设1表示第一个d,2表示第二个d,12表示两个d的子串,(1,2)表示分别取两个d。那么12种情况如下:(1)(2)(3)(
2014-12-16 18:49:37
661
原创 我和nupt集训队的故事
亚洲赛刚刚结束,看了不少巨巨的退役贴以及岛娘在知乎上的那篇感天动地的人生经历,多少有点夜深忽梦少年事的错觉。作为一个两年前就打出gg的高龄选手,之后又强行以1次队员和两次教练的身份跑出去玩,只能说和acm的尘缘未了。回想起来自己该算是nupt现存的acmer中接触队员年龄段最广(还有benbb)了的吧(从07级的学长到14级的学弟)恩。。所以应该是一段有趣的回忆( ̄(工) ̄)
2014-12-16 13:07:13
1633
原创 小结_1
最近重构了UdpServer的代码,碰到函数指针、子类构造函数、模板类的一些问题。。。感觉自己c++太弱了,小灶势在必行。。又开始打cf了,工作比去年忙很多,所以只能打打周末场。感觉数学和脑洞打到黄名已经基本够用了。。但是手速严重不足,以前太依赖主代码手了。。另外还需要啃掉几个硬算法,比如最小费用流和后缀数组。加油吧。
2014-12-15 16:38:19
471
原创 gvim透明设置
周末学弟学妹过来比赛,发现清一色的用透明vim,感觉非常6,回来试了一下win下将gvim设置成透明。首先在这里下载vimtweak.dll,并且将dll文件放到gvim.exe所在的目录然后在_vimrc中加入下面的代码就OK了:if executable("vimtweak.dll") autocmd guienter * call libcallnr("vimtweak","
2014-12-09 18:25:42
6306
1
原创 浙大月赛G(zoj3836)
传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5410先吐槽一下这场蛋疼的比赛TAT比赛时间线:-7h:主代码手起床看动漫,然后失踪-0.5h:奶妈起床,下楼买了一发泡面-10min:奶妈烧水泡面,中单家里网断了。。。0:主代码手继续失踪,中单网络恢复,奶妈一般吃面一边看题0.5min:
2014-12-02 22:41:33
638
原创 现阶段对boost::asio的理解
从第一次用boost的同步Timer写Hello World到现在已经1年多了。这段时间以来一直断断续续的学了boost::asio中的一些东西。在学校的时候由于操作系统和计算机网络的课都翘掉了,所以对进程、线程、socket等等几乎没什么概念。在不断接触业务上的代码,仿照其他模块完成需要的功能之后开始有了自己的认识。不过老实说,自己对网络方面谈不上特别感兴趣,所以基本上是用多少学多少,学习进度不
2014-12-01 18:06:46
1436
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人