摘要: 题目在这里 http://acm.hdu.edu.cn/showproblem.php?pid=3401很明显的动态规划,每一天都有三种情况,不买不卖,买或者卖状态转移方程是:对于买f[i][j] = max (f[i][j], f[r][k] - (j - k) * ap[i]) 1 <= r <= i - w -1 , max(0, j - as[i]) <= k < j对于卖f[i][j] = max (f[i][j], f[r][k] + (j - k) * ap[i]) 1 <= r <= i - w -1 , min(maxp, j + bs[i 阅读全文
posted @ 2012-06-01 10:28 守護N1身边 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 最近学了点数论的知识,关于进位制方面的。1, 进位制进位制已经很了解了,需要注意的就是两种进位制相互转化的问题了,但是相关的问题还是很多,要充分理解进制的概念,熟悉进制的表达。2,快速幂取模 求: a^b mod c 的值 解:首先要知道,a^b mod c = [ (a mod c)^b ] mod c 直接枚举1~b的话必然会超时,我们就分类讨论一下: a^b mod c = [ (a^2) mod c ]^(b div 2) mod c c为偶数 a^b mod c = [ (a^2) mod c ]^(b div 2)*a mod c c为奇数 很明显,时间复杂度降到了log(b).. 阅读全文
posted @ 2012-05-24 15:04 守護N1身边 阅读(354) 评论(0) 推荐(0) 编辑
摘要: Treap学习总结 最近在研究平衡树,这里是我的treap学习笔记。 Treap是一种用来排序的数据结构,编写比较容易,时间复杂度也很好。Treap = Tree + Heap为了解决查找树退化的问题,在所学的数据结构里,能保证树的层数尽量少,分布尽量均匀,我们最先想到的就是完全二叉树了。而具有完全二叉树性质的数据结构很明显,堆就是其中之一,所以我们可以试想一想,如果在满足二叉查找树的前提下,同时又能满足堆的性质,是不是就可以避免这个树的退化呢?当然,如果都以权值作为标准的话,很明显是不可能做到的,但是我们可以再给每个节点添加一个修正值,让这个修正值构成堆,而原始值满足BST,这样就解决了二叉 阅读全文
posted @ 2012-05-15 15:55 守護N1身边 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 线段树学习总结这个星期主要是进行线段树的复习与进一步学习,做了些题目,将我的错误与注意事项总结在此。 在这次的学习中,我才算是基本会使用了线段树,不再像以前,只能当做一种帮忙整段修改区间,求解区间最大值的数据结构,线段树的优越就在于它的树形结构,将任何操作都降到了log级别的,在此基础上可以记录很多数据,而并非只有节点的值。我的线段树习惯如下:此种写法参考了http://www.notonlysuccess.com/index.php/segment-tree-complete1, 用root表示当前节点,不记录节点区间,而是在递归过程中随着函数的改变自动更新。2, PushUp() 是把当前 阅读全文
posted @ 2012-04-28 21:14 守護N1身边 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 序: 写这篇文章完全是为了抒发OIer的感慨,以及给父母对我多年支持的一个交代,与其说是随笔,倒更像是一篇日志,一封给朋友的信。 本来就想写的这篇文章,起名为我的电脑生涯,因为我的成长之路就是电脑的学习,转念一想,我的OI(信息学竞赛)之路还远没有结束,就借着这个机会,把它和我的成长之路写在一起,为我的学习做一个小结。 在初二以前,我和大家都一样,每天和朋友聊聊天,玩玩游戏,偶尔听听课,讨论下“那些年一起追过的女孩”。直到接触了信息学竞赛(用竞赛这个词可以显得更专业一点儿),我的生活才发生了改变,每天下午第二节课后和一个一起学电脑的朋友在同学鄙视的目光下趾高气昂地逃课离开学校去学习电脑,这正是 阅读全文
posted @ 2012-04-27 23:35 守護N1身边 阅读(283) 评论(0) 推荐(0) 编辑