摘要: 题目非常精简。。感觉非常爽。。不像之前做的那个啥虚拟内存。。读起来简直累爱的题面。这道题就是DP,但是DP的转移似乎比较复杂,但是没有什么预处理之类的。f[i][j][k]代表前i行,有j列上只有一个炮,有k列上有2个炮。非常容易理解。。每一行每一列都最多只能有2个炮。边界就是f[0][0][0] = 1;接下来就是神奇的转移,首先我们得分几类来讨论,第i行摆0个炮,1个炮,和2个炮这几类情况。首先对于第i行摆0个炮,那么f[i][j][k] = f[i - 1][j][k]然后对于第i行摆1个炮,那么就有2种情况,对于I-1行的状态来说,有j-1列的炮数为1,那么 f[i][j][k] += 阅读全文
posted @ 2014-02-18 23:04 拉拉乌 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目。。很长。。我一开始还没有理解。。语文果然有待加强的节奏啊~思路大概如下:n是10000,m是1000000,但是pi会有1e9,那么就是需要离散化的节奏。用一个数据结构struct wyh1{ int p , pnum; bool operator x.ti; return t > x.t; }};ti代表这个页面的访问次数,num。。。可以无视。。t代表加入时间。priority_queue q; 声明一个堆还得考虑的一个问题就是如何更新堆中维护的那些页面的访问次数,首先就是暴力,暴力的一个个拉出来更新再加入,虽然慢但是还是可以过的,因为时间限制是5秒一个。但是愚蠢的我写完这个之 阅读全文
posted @ 2014-02-18 15:52 拉拉乌 阅读(262) 评论(0) 推荐(0) 编辑