NOIP
文章平均质量分 73
Batman_
这个作者很懒,什么都没留下…
展开
-
noip2005-奖学金 2008.10.17
noip2005-奖学金 2008.10.17program scholar;const fin='scholar.in';fout='scholar.out';var f1,f2:text; n,p,max,i,x1,x2,k,t,code,tot:longint; y1,y2,x,na,names:string;begin assign(f1,fin);rese原创 2016-02-05 11:25:45 · 342 阅读 · 0 评论 -
noip2000-fjz-进制转换 2008.11.5
noip2000-fjz-进制转换 2008.11.5算法:1.负进制,短除法,但是余数小于0时要从上一位借位(商+1,余数-进制数)2.遇到此类题目,肯定是对原来的进制转换有所改进的,所以,对规则若不确定可以多写几个连蒙带猜的,必定可以通过!3.Wa,题中说的是r:-2,-3,….-20,不能想当然的认为是到-16—一定要看清题中的每一个字!program fjz;cons原创 2016-02-05 13:12:07 · 969 阅读 · 0 评论 -
noip-2000乘积最大 2008.11.5
noip-2000乘积最大 2008.11.5一直wa掉一组,却找不到原因我的program cjzd;const fin='cjzd.in';fout='cjzd.out'; maxn=41;maxm=7;var f1,f2:text; n,m,i,j,code:longint; f:array[0..maxn,-1..maxm]of int64;原创 2016-02-05 13:13:08 · 302 阅读 · 0 评论 -
noip2001-car的行车路线 2008.11.5
noip2001-car的行车路线 2008.11.5算法:把一个个机场当成一个个点,来进行floyd,只不过是要先分类算一下权值心得:不要被表象迷惑,要深入剖析,找到数学模型。本以为这是一道有多么难的题,但是,找到了本质,却发现,真是太简单了!var g:array[0..500,0..500] of real; x,y:array[0..500] of long原创 2016-02-05 13:15:05 · 389 阅读 · 0 评论 -
noip2001-数的划分 2008.11.5
noip2001-数的划分 2008.11.5心得:本以为搜索过不了,只有dp可以ac,实际上,搜索也可以过完。 如果实在想不出来dp,那就用最好的搜索来做!法一:搜索program sdhf;const fin='sdhf.in';fout='sdhf.out';var n,k,sum:longint; f1,f2:text;procedure search(原创 2016-02-05 13:15:57 · 394 阅读 · 0 评论 -
noip2001-统计单词个数2008.11.5
noip2001-统计单词个数2008.11.5 心得:1.dp前,可能要对数据进行处理2.拿到一个题目,要看有没有和以前做过的题目相似的地方。3.一定要静态差错,多查几遍,又是一个字母打错,就挂了!program1:算从I到j有多少个单词时,wa了2组program noip;const fin='tjdcgs.in';fout='tjdcgs.out';var a:原创 2016-02-05 13:17:11 · 422 阅读 · 0 评论 -
noip2001-一元三次方程 2008.11.5
noip2001-一元三次方程 2008.11.5发散给的启示:1把误差定位很小时,就可以通过,因为精度是0.001,所以,0.001^3=0.000001就是误差范围了2 题中的话一般都不是废话,他给出了精度之类的东西,就是让用的,必定是判定条件,或者是对算法有提示,或者是对数据规模有提示法一:wa一组program p_3cfc;const fin='3cfc.in';f原创 2016-02-05 13:18:44 · 250 阅读 · 0 评论 -
noip2002-均分纸牌 2008.11.5
noip2002-均分纸牌 2008.11.5心得:不要把题目想得太复杂了,有时实际上很简单,而其需要猜一下,做一个猜想,然后验证猜想是对的,要大胆的去猜想!!考试时,尤其要大胆猜想,不一定非要证明出来,只要正确就行了program Everage; var a:array[0..100] of longint; s,i,n,t:longint; begin assig原创 2016-02-05 13:19:53 · 434 阅读 · 0 评论 -
noip2002字串变换 2008.11.5
noip2002字串变换 2008.11.5Program 1:滚动广搜问题:1.2组的数组不够用2.一定要自己造数据,在读题的时候,就要想到特殊数据,构造出来,在完成程序后,要先静态查错,多查几遍,然后,先测自己设计的边界数据,看是否符合,然后,要用f7,f8跟踪查错,确定每一步的变量值都正确,再测样例,也要单步跟踪,一定要先测自己的,再测样例。3.像‘no answer’这类东原创 2016-02-05 13:23:31 · 285 阅读 · 0 评论 -
noip2004-虫食算 2008.11.5
noip2004-虫食算 2008.11.5Program 1:辛苦了半天敲上去的程序,结果发现,忘了考虑一列中有相同的字母的情况—一定要想到没有下次再开始敲program alpha;{分了好多种情况}const fin='alpha.in';fout='lapha.out';var f1,f2:text; n,i,j,nn:longint; c:array['A'.原创 2016-02-05 13:25:34 · 398 阅读 · 0 评论 -
noip2000-计算器的改良 2008.11.5
noip2000-计算器的改良 2008.11.5发现了一个很神奇的bugwrite(0/-1) 的结果是-0,前面居然有个负号,这是一个漏洞,注意啊!坑人!program computer;const fin='computer.in';fout='computer.out';var m,x,y,i,j,lx1,lx2:longint; xx,x1,x2:string;原创 2016-02-05 13:11:03 · 316 阅读 · 0 评论 -
noip2000-单词接龙2008.11.5
noip2000-单词接龙2008.11.5小结:1:要多想一想题中数据的特殊情况,多往外延想一想,看看与题目相关的到底都有哪些情况,这些情况又在不在题目的叙述的内涵中2:想好,没有一点瑕疵了,再敲,否则要敲好多遍 program1:错误的算法program words;var f,la:array[1..20]of longint; a:array[1..2原创 2016-02-05 13:09:13 · 455 阅读 · 0 评论 -
noip2005篝火晚会 2008.10.18
noip2005篝火晚会 2008.10.18注意:1. 刚开始,我用的是图来标记这两个人是否已经输出过,一直出错,后来看了标称,方法很好2. 求出序列后,因为是圆环,要正着求一次差,求相同的最大值,还要倒着求一次差,求最大值,这样才圆满,我只正着求了,故一直出错3. 不能用abs,若剪出的结果是负数,应加上n;标称的处理方法很好,相减后+n,再原创 2016-02-05 11:26:58 · 671 阅读 · 0 评论 -
noip2004-合并果子 2008.10.22
noip2004-合并果子 2008.10.22合并果子队列优化大家都知道,合并果子(NOIP2004)这道题可以用堆优化,时间复杂度是O(nlogn)。不过其实这道题还可以用队列优化到O(n)的。首先我们将n堆果子按照果子数递增的顺序排成一个序列a[1]‥a[n],a[n+1]=∞,a[n+2]=∞。b序列设为空(b[1]=b[2]=‥b[n]= ∞,p=0)。然原创 2016-02-05 11:29:20 · 781 阅读 · 0 评论 -
noip2003加分二叉树 2008.10.30
noip2003加分二叉树 2008.10.30 顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向:1. 根—>叶:不过这种动态规划在实际的问题中运用的不多,也没有比较明显的例题,所以不在今天讨论原创 2016-02-05 11:30:39 · 373 阅读 · 0 评论 -
noip2004合唱队形2008.11.4
noip2004合唱队形2008.11.4注意:一定要把求的得值都打出来,还要单步跟踪,不能认为自己一定就对了!!!program chorus;const fin='chorus.in';fout='chorus.out'; maxn=100;var a:array[1..maxn]of longint; f,g:array[1..maxn]of longin原创 2016-02-05 11:31:48 · 309 阅读 · 0 评论 -
noip2002-麦森数 2008.11.4
noip2002-麦森数 2008.11.4心得:在变程序前,一定要对题目进行彻底的分析,为了减少时间,就要减少机器的运算次数,要抓住特点进行转化。例如这道题:2^p转化为高精度乘高精度和高精度乘单精度,先平方,再根据余数进行乘法计算。先乘方,就减小了加法和单精度乘法的运算次数。Program1:赤裸裸的模拟—超时5组program mason;const fin='mason.原创 2016-02-05 11:32:41 · 432 阅读 · 0 评论 -
noip2006-金明2008.11.5
noip2006-金明2008.11.5问题:1.把主件单独拿出来,改变了原来的编号,反而跟难处理我在存储的时候,把附件剔除出去了,一直wa,后来,看了别人的,他们在读入附件的时候,直接加在主见的后边,应当存放附件的那个编号是空的,这样号码就不会乱了。我是把主见单独挑出来,存在一个数组里,这样初始号码就很乱,对数据的处理就不是太容易。实际上,把附件站的那个编号,都赋值为0,dp时当然不会影原创 2016-02-05 11:49:58 · 255 阅读 · 0 评论 -
noip2002-自由落体 2008.11.5
noip2002-自由落体 2008.11.5遇到纯计算的问题一定要谨慎,多读几遍题!这样的题一定不能丢分 这道题,只要达到小车上,不一定就是小车的顶部就行了原创 2016-02-05 12:43:02 · 325 阅读 · 0 评论 -
noip2003传染病控制 2008.11.5
noip2003传染病控制 2008.11.5小结:1. 这道题,我的方法普遍的要快很多,以空间换时间,我先把他们的关系用不同的数组存起来,包括每个人的前面,每个人的后面,都存了下来,算是对数据的初始化吧。包括每个人在第几层,然后一层一层的直接调用。好的数据结构真的很重要,载运算前,对数据的处理,真的很重要,一定要多想,选择最好的!2. 我刚开始没读懂题,还是同原创 2016-02-05 12:43:58 · 498 阅读 · 0 评论 -
noip2007矩阵取数游戏 2008.11.5
noip2007矩阵取数游戏 2008.11.5注意:比大小位数不相同时,取位数大的数大;当位数相同时,要从最高位开始比较,相同,则往下比,不相同,则大的数就大。(我刚开始,弄成了从最低位开始比较,故,wa了20多分钟)小结:这道题,我打了不下5遍,一定要先想好,在纸上把每个细节都确定了,并确定这是最好的算法,最好的数据结构,在开始敲程序,敲总是很快的,不要担心,但一定在敲之前,保证正确!原创 2016-02-05 13:06:43 · 345 阅读 · 0 评论 -
noip2007守望着的逃离 2008.11.5
noip2007守望着的逃离 2008.11.5小结: 到每一秒的时候,有三种选择:1,原地不动,m+4;2.使用魔法m-10,s+10;3.步行这里还用到了一个贪心的策略:只要魔法值>=10,就用魔法,而不是原地呆着。所以,就变成了两种选择:1.可以用魔法就用,不能永就原地呆着—魔法选择(我们把用魔法和不用魔法归为为一类) 2.步行—不性选择为什么会有这样一个贪心策略呢原创 2016-02-05 13:26:27 · 275 阅读 · 0 评论