- 博客(9)
- 收藏
- 关注
原创 SPOJ0002 prime1
一道不算太难的是很经典的东西。 好像PKU上也有一道类似的prime distance吧!用的是两次筛法,直接贴代码!program prime1;var f:array[0..1000000] of boolean; list:array[0..5000] of longint; a,b,sum,t,i:longint;function getmax(a,b:longint):longint;begin if a>b the
2010-08-30 11:08:00 342
原创 PKU1679 the unique mst
<br /> 一个图论的题目——判断最小生成树是否唯一。<br /> 首先我们能得到这样一个事实:如果对于一个图的两个不同的生成树权值相等且最小则最小生成树不唯一——说白了就是先求最小生成树,再求次小生成树,比较之!<br /> 这个次小生成树怎么求呢?它可以通过最小生成树换边得到。至于证明呢,漫山遍野导出到时了,自己找找吧!<br /> 当然,需要注意的是,当你再去边的时候,余下的图是否还连通呢?这就是我为什么贡献了一次WA…<br />pr
2010-08-29 11:18:00 333
原创 PKU1191 chessboard devision
<br /> 在市图的电子阅览室搞了这道DP。估计这个就是我这个假期的最后一道题了。难度不大,状态转移也比较好想,分横纵两次切割。F[xa,ya,xb,yb,k] 表示把矩阵 [xa,ya,xb,yb] 分割成 k 份的最小数值。<br /> 开学之后可能不会很有时间,应该会弄一弄简单图论,在巩固一下搜索跟DP。<br />program chessboard;const inf=200000000;var data,sum:array[0..9,0..9
2010-08-28 10:24:00 303
原创 PKU1157 little shop of flowers
<br /> 跟刚才做的那个题基本一个模板…可以说是把邮局变成了花,把村庄变成了花瓶…<br />program flower;const inf=200000000;var data,f:array[0..101,0..101] of longint; n,m,i,j,k,ans:longint;function getmax(a,b:longint):longint;begin if a>b then exit(a);
2010-08-24 10:24:00 321
原创 PKU1190 post office
<br /> 好久不做题了,今天特用这道DP释怀一下。<br /> 应该不算洪水般的裸DP了,需要想几分钟…<br /> 首先初始化出在任意两点间建立一个邮局时这两点间村庄所用距离的最小值。接着开二维数组表示前j 个村庄的人去前 i 个邮局所用的最小距离和。<br /> 这样就应该搞定了。感兴趣的呢,可以滚动一下,或者四边形一下!<br /><br />program post_office;const inf=200000000;var
2010-08-24 09:23:00 427
原创 pku1190 cake
生日蛋糕这么经典的搜索剪枝我以前都懒得做,难怪去年不给我省一…… 题目大意应该都很清楚,问题就是剪枝怎么减。 首先用上下界剪枝——如果当前剩余层数所能形成的最小体积都比剩余体积大就应该减掉。同理,如果能形成的最大体积比剩余体积小也剪掉,只不过后者我懒得花时间写了,直接进行下一个剪枝。 接着呢是最优性剪枝——如果当前剩余层数所能形成的最小表面积比当前的最优解大,显然应该剪掉。 然后我们再结合一些不等式的小知识优化优化吧!
2010-08-09 14:11:00 445
原创 PKU2155 matrix
<br />依旧是树状数组,今天这道是二维树状数组。<br />首先呢,我们最好把这题降一个维度研究研究,之后再推广到二维情况。讨论一下,对于闭区间 [0,n] ,我们有这样的操作:C(a,b)和Q(a,b)功能同题意。于是我们发现,一个节点的状态仅仅和它改变的次数有关。这样的话,我们就能得到一种把改变状态转化为统计前缀和的问题——我们将辅助数组c[a] 和 c[b+1] 分别加1。这样转变之后,当我们查询节点x的时候,我们发现当x∈(0,a)或者x∈(b,n)时,前缀和sum(x) 是偶数,当x∈[a,b
2010-08-06 11:09:00 371
原创 PKU1435 gates
为了这道题,我贡献了一堆一堆的WA…… 昨天做NOI的同步赛,悲剧死了……第一题只会那个80分算法;第二题想用上平衡树,之后一想也不是那么回事儿啊;第三题想用SAP,但是没写,一是时间不太够,二是构图觉得不太完美…… 这道二分搜索的证明是个挺有想头的东西。首先吧我把n个开关想象成一个n位的二进制数,这样比较好算。接着呢,我再把与非门的输出端结果设成calc函数。 我们按什么顺序研究研究呢?我们依次研究一下:0000000、0000001、0000011……相
2010-08-03 22:37:00 322
原创 PKU1159 palindrome
<br /> 这道动态规划和我前几天做的括号序列基本一个思路,都是明显的线性结构,状态转移是十分简单的。但问题是这回规模不小……于是,我傻乎乎地开了个5000*5000的数组MLE,想到了滚动数组之后又做了无数次多余的取模运算TLE……哎……<br />program palindrome;var f:array[0..5005,0..2] of longint; st:ansistring; i,j,k,n,a,b,c:longint;begin
2010-08-01 00:02:00 295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人