codejam 2008 practice problems
来源:互联网 发布:网络教育公共服务体系 编辑:程序博客网 时间:2024/06/05 02:10
今年毕业,5月的codejam希望能够取得好点的成绩。
四个题https://code.google.com/codejam/contest/32003/dashboard
A Alien Numbers,进制转换,没啥好说的。
B Always Turn Left,走迷宫的模拟。如果往前走,当前位置左边有墙,往右走就是左边前边有墙。
记得迷宫的边界是有墙的,有的地方四面都没墙,上下,左右两块是共用一个墙的。
写这个的时候,本来打算用一个函数处理正着走和倒着走。但一懒,复制了一遍代码,没写成一个函数。结果,好几次改了一处,没改另一处。wa了好久。这样比赛的时候是肯定过不了的。
C Egg Drop,判断哪层鸡蛋摔碎。f(d,b)是算d,b已知时,最大的f的。有一个关系:
f(d,b)=f(d-1,b-1)+1+f(d-1.b)。假设第一次测试第x层,如果鸡蛋碎了,就用剩下的测试x下面的,这是第一项。如果没碎,就用剩下的测试x上面的,这是第三项。x自己也是1层。
算的时候,不能全部缓存,缓存d和b同事小于100的就行。
f(d,2)=(1+d)*d/2;
f(d,3)=d*(d-1)*(d+1)/6+d;
if(b==3&&d>4000)return -1;
if(b>32&&d>32)return -1;
if(b==d)return (1LL<<b)-1;
有了f(d,b)函数之后,二分查找d(f,b)和b(f,d)就行了。
D Shopping Plan,这个是看别人写的东西才做出来的。
是个动规,状态是 当前在那个位置×当前已经有的商品
需要一个a[1<<15][51]矩阵来缓存。详细递推http://stackoverflow.com/questions/4735387/can-someone-explain-one-of-the-algorithms-that-solves-this-google-code-jam-probl
发现用我笔记本跑大case 340s,用个快一些的电脑114s。看了比赛的时候必须用快的电脑了。
- codejam 2008 practice problems
- codejam 2008 practice Contest
- codejam 2008 Qualification Round
- google codejam 2008 round1B
- google codejam 2008 round2
- codejam-Round1A-2008-Numbers
- Codejam 2008 qualification round question A
- Codejam 2008 qualification round question B
- Codejam 2008 qualification round question C
- codejam 2008 APAC local onsites C 概率dp
- Problems
- Problems
- Problems
- ThoughtWorks CodeJam
- 另一个CodeJam
- practice
- practice
- google codejam 2008 APAC local onsites , Problem A What are Birds?
- android 混淆,反编译,反破解的简单说明和认识
- assert、ASSERT/VERIFY/TRACE
- 可以编辑的图像
- matlaba笔记 图像数据类型
- OpenGL: 挑选和深度值
- codejam 2008 practice problems
- osgi 学习osgi的declared_service启动禁用插件部署
- linux的mount(挂载)NFS 共享,命令详解
- Eclipse与MyEclipse的区别
- 防止验证码防被hack的注意事项
- 游戏资源打包方法总结
- Spring 发邮件
- Undefined symbols for architecture x86_64:
- 人民币上的毒品--献给那些打麻将赢了我钱的人