Tag cloud
adobe algorithm android apache Arch Archlinux birthday blogging C++ C++ Primer domain DreamHost English Firefox font fun G1 game GFW GnuPG Google holiday Java life Linux mail Mobile music network nVidia OI PageRank pal password programming qq science template Tor Ubuntu Vijos webmaster tools windows wordpress WoWCategories
Archives
- August 2010
- July 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- September 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Meta
Tag Archives: OI
OI 完结
谨以此文献给机房做题最多的 Ark 随着 NOIP2008 的结束,我的 OI 生涯也要就此结束了。 说起来,从初一到现在,已经过去了大概六个年头,我也在 OI 战线上“奋战”了六个年头,参加了 5 次 NOIP,虽然只获得了一个一等奖。 初一(貌似下学期)有个什么计算机培训的选拔,我去考了,除了一些计算机基础之类的东西,还有(印象中)貌似是 BASIC,不要说那时候,就是现在,我也不会 BASIC(因为没学过嘛),不过还是糊里糊涂地考了全区第三,去上课的话学费减半(利诱啊),不过我没去,现在也忘了是为什么了,可能是觉得时间有些紧吧(我也忘了是为什么了)。我选择了在家自学,其实那个培训就是教 Pascal,我当时也学的 Pascal,去上课的同学还经常问我问题呢,比如用星号画个三角形之类的……说起来,我学的第一门(程序设计)语言是 Pascal 呢,我还一直觉得是 C。Pascal 我现在基本都不会了,只能看懂简单的代码,写的话,必错,还是 C/C++ 比较顺手,毕竟用的时间要长得多。 学了好像没多久就转了 C,初二的 NOIP 得了貌似 100 分,是济南市一等奖。然后又转了 C++,当然 C++ 只学了不多的一部分,也学了 STL,而且还是比较用心地学的……NOIP 2006 接着就禁用了 STL,我直接郁闷了……当时还引发了 OIBH 上的一场论战(tid 还是回文数……),当时我还不知道 … Continue reading
启程—— NOIP 2008
23:45 的火车,去烟台, NOIP 2008。 最后的一次 NOIP,努力吧! God bless all... Tags:life,OI Related Posts 我的成绩变成220分了 (6) 开学了 (1) 回答问题 (8) 今天期末考试完了 (5) 今天是NOIP初赛的日子 (4)
[OI][Vijos 1107]环游大同 80 天
话说这题是一个搜索题。 我采用的是两次 DFS 的方法,也就是任意取一个点开始 DFS,找到这次 DFS 时深度最深的点(也就是从所选点开始最长路径的终点),然后从这一点(可以证明,这一点是最长路径的端点)开始再进行 DFS,这次 DFS 的深度就是要求的路径长度。 算法就是这样了,不过这个算法的正确性我一开始也不太确定,下面来证明一下: 大家看图: 设最长路径为 AB ,一开始任选的点为 P。取路径 PB 上的一点 Q,使得 AQ 与 PQ 只有一个公共点 Q(也就是使得从 A 走到 Q 再走到 B 不会走回头路)。设 AQ=a,QB=b,QP=s,不妨设 a<b。 要证明这个算法的正确性,也就是要证明从 P 开始的最长路径的终点一定是 A 或 B。假设从 P 开始的最长路径的终点是 … Continue reading
[OI][Vijos 1214]伤心的AsukaNoKaze
这题算是个数论题。 其实也没用到什么数论结论,首先手算找找规律。发现,对于 [tex]\forall x\in (\frac{n}{i+1},\frac{n}{i+1}],x\in {\mathbb Z}[/tex] 有 [tex]n ~{\mathtt div}~ x[/tex] 为常数[tex]i - 1[/tex],于是这一区间内的数就可以只算一次,然后将结果乘以区间内整数的个数就行了。但当[tex]i>\sqrt{n}[/tex]时,每个区间的长度[tex]\frac{n}{i}-\frac{n}{i-1}\sqrt{n}[/tex]时,进行朴素的计算。 时间复杂度 [tex]O(\sqrt{n})[/tex],空间复杂度 O(1)。 算法就是这样了,刚开始写的时候 TLE 了,原因是作为循环条件的 sqrt(n) 没有提前计算出来,于是导致了很多不必要的运算,多么低级的错误…… C++ 代码在这里。 P.S. 突然想做编号是大家生日的题目,这题编号是我一个朋友的生日,自己的生日编号的题目的状态是暂不提供…… Tags:algorithm,C++,OI,Vijos Related Posts [OI][Vijos 1107]环游大同 80 天 (2) [OI][Vijos 1059]积木城堡 (1) NOIP2007 完结 … Continue reading
[OI][Vijos 1059]积木城堡
一年没写代码了,这周又开始拿起我那二把刀,开始切题了…… 看到我们的小妹妹写了积木城堡这个题,于是我也从这题开始了…… 简单的 0/1 背包,渐进时间复杂度(大概)是 O(N*n*n),渐进空间复杂度(大概)是 O(N*n*n),其中 N 为城堡数量, n 为组成每个城堡的积木数。 这题有着 Vijos 的一贯传统,就是题目描述令人 confused,就这题来说,从中间抽取积木还能使城堡不倒,不得不说是有一定功力,抽出的积木就扔在一边,不能不说是浪费。其实这都可以在题目中说清楚的。 开始做,一开始用了 bitset (在 NOIP 中允许使用),结果 TLE ;后来优化了读入,还是 TLE,后来砍掉了 bitset ,用 boolean array,提交无数次后(Vijos 最近服务器有问题,运行程序忽快忽慢,随机 TLE 的现象时有发生),终于 AC 了。 代码可以看这里,其他 vijos 的代码也在那里。 事实证明, bitset 的效率并不高,竞赛的时候应远离 bitset …… … Continue reading