摘要: 今天上午的状态不是很好,就做了2道题,一个炮兵阵地,另一个是英文名字、具体忘了。 下午的考试难度应该介于NOIp和NOI之间吧,感觉发挥的还行,已经做到我能做的极限了。①导弹拦截,变成三维空间的了,而且要求的是最长上升序列的长,第一问很简单,和原来的一样,1D1D动态规划,需要注意的是导弹被拦截的顺序是可以改变的,例如拦截完第3个后可以再去拦第一个,所以要先对数据排序。不过第二问就有点儿不一样了,因为要求的是最长上升序列,所以这个序列就不满足偏序关系了,也就是所谓的dilworth定理(最小链划分 = 最长反链),这个的证明可以找一本组合数学或离散数学去看看,或者去网上搜索下,其实我也只... 阅读全文
posted @ 2012-06-16 11:36 守護N1身边 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 首先把前面几次考试的题目改下,这个应该是下午做的,预计是要4天的时间。 要学的就是矩阵乘法和博弈论,稍微复习下,然后平衡树也要再看看,把模板在整理一下,上次看到一半放弃了,这回要彻底结束。至于动态规划和状态压缩,偶尔做下题复习下吧,不再作为主线了。 阅读全文
posted @ 2012-06-15 11:42 守護N1身边 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 几天做了几道状态压缩的题目,然后下午考试竟然真的让我碰到了、①第一道题,是一个字母树的问题,我没有写,因为在插入后的查找构建N次字母树就超时了,但是我写了个最简单的搜索的,目测能过50%但是提交的时候晚了1分钟……于是就没有这道题的成绩了,50分啊( ⊙ o ⊙ )最后知道,只要把读入的数据线排序,在查询的时候插入就好了……这么简单竟然没有想到。②刚看的状态压缩,就遇到这种题让我情何以堪,果断状态压缩搞之,把每一列的状态压缩成一个数字,那么就应该是0~15,不难得到状态转移方程:f[i+1][j]=∑f[i][k] f[i][j]表示当前第i行状态为j的方法数,枚举每一行然后dfs就可以... 阅读全文
posted @ 2012-06-15 09:19 守護N1身边 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 这个星期的任务就是它了,看了看周伟的论文,开始做题,做一道传一道吧。【POJ 3254】Corn Fields【题目大意】给一个矩阵,可以放牧的点为1,不可以的为0,且放牧的时候任意2头牛不能相邻(包括上下和左右),问总共多少放牧方案【解析】状态转移方程很好列,用f[i][j]表示第i行的状态为j的时候的方案数,j的二进制每一位表示一个格子0为不放,1为放。很明显的有f[i][j]=∑f[i-1][k] k为与j不冲突的放法。 边界是f[1][j]=0(j合理)/1(j不合理)刚学位运算,算是用到了一些技巧:①判断是否相邻,可以用k&(k<<1)②存初始矩阵的时候可以反过来 阅读全文
posted @ 2012-06-14 11:49 守護N1身边 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 上午看了看周伟写的《状态压缩》感觉收获还可以,准备明天上午写写题。 下午考试完全是虐的,3道题题目描述一个比一个长。这里是最后的结果干净利落……第一道题,我隐约觉得是dp,但是没有思路就没去写。第二题是矩阵乘法的思路+高斯消元法,因为上午刚在论文里看到了一段话: “给出一个图的0/1邻接矩阵G( 允许有自环,两点间允许有多条路径,此时G(i,j)表示i 到j 的边的条数),则从某点i走k步到某点j的路径数G^k(i,j)” 不得不说我的运气很好,于是我想到了如果表示的不是边数而是概率的话,那么G^k(i,j)表示的就应该是本题中的K时间后到达j点的概率,那么第一列放的就是从1出发到每... 阅读全文
posted @ 2012-06-14 09:31 守護N1身边 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 今天做了一道博弈论的题目,正好去找找相关资料再复习一下。 网上能找到的都是同样的文章,不过我觉得足够了,Nim游戏百度百科里说的很详细,包括公式、证明之类的 http://baike.baidu.com/view/1101962.htm 而对于SG函数,算是概括了一系列Nim游戏的变种,这个网站把重点的话语都加了特殊字体,看起来更明朗一些 http://hi.baidu.com/%C3%D7%C0%BCloveac/blog/item/dc2ba6fa3772676d034f56ab.htmlNim游戏是博弈论的经典类型,记下几个地址方便日后复习。 阅读全文
posted @ 2012-06-13 07:49 守護N1身边 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 刚到省实验的第一次考试,大家水平都相差不多,也基本没有分出什么名次。 这回考试的题目第一个有一点水,是USACO 2.2.4,也算是技巧性的题目了,具体的不再多说,可以看nocow上的解析。Usaco 2.2.4 1 /** 2 *Prob : partya 3 *Data : 2012-6-12 4 *Sol : 容斥+搜索 5 */ 6 7 #include <algorithm> 8 #include <string> 9 #include <iostream> 10 #include <cstdio> 11 #include <cs 阅读全文
posted @ 2012-06-13 07:35 守護N1身边 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 最近学习了四边形不等式和斜率优化。总的来说,都是围绕着决策单调性进行的。 首先是四边形不等式,总结写过了,在这里 http://www.cnblogs.com/nevergoback/archive/2012/06/03/2532814.html现在说下斜率优化的问题: 斜率优化,就是说把决策与决策之间表示成一个类似斜率的式子,进一步分析其中的单调性,并用队列维护其有用决策。因此斜率优化又称为队列优化。 对于方程,其中,x(i),y(i)都是可以在常数时间内通过f(i)唯一决定的两个量,我们以x(i)为横轴,y(i)为纵轴建立平面直角坐标系,这样一个状态f(i)所决定的二元组就... 阅读全文
posted @ 2012-06-07 22:33 守護N1身边 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 题目评测在这里http://www.lydsy.com/JudgeOnline/problem.php?id=1010一道很明显的1D1D动态规划,方程很好写f[i]=min{ f[j] + ( i-(j+1)+s[i]-s[j]-l )2}直接写的话500000的数据量会让你明白。两种做法:①四边形不等式优化 很明显的,用w[i+1,j]表示上述方程里的( i-(j+1)+s[i]-s[j]-l )2,不难验证这是个满足单调性的,也就是说对于这个方程,决策是单调的 那么根据决策单调性,很自然的就有O(nlogn)的算法了决策单调性 1 /** 2 *Prob : HNOI 20... 阅读全文
posted @ 2012-06-07 11:30 守護N1身边 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 学习了四边形不等式,这类题的的方程通常是这样的:f[i,j]=opt( f[i,k-1]+f[k,j] )+cost[i,j]【我一般理解为区间动态规划】应用条件是:第一,其中的cost(I,j)是存在单调性的,即当区间[i,j]包含区间[i’,j’]时有cost(i,j)>=cost(i’,j’)第二,设i<=i’<=j<=j’,有cost(i,j)+cost(i’,j’)<=cost(i’,j)+cost(i,j’)如果上面两个条件满足的话,那么就有以下的定理:定理1:f(I,j)也满足四边形不等式即设i<=i’<=j<=j’,有f(i,j) 阅读全文
posted @ 2012-06-03 16:52 守護N1身边 阅读(589) 评论(1) 推荐(0) 编辑