Tag Archives: C++

[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

Posted in Information Technology | Tagged , , , | 3 Comments

[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

Posted in Information Technology | Tagged , , , | 1 Comment

NOIP2007 完结

NOIP 2007 已经结束很长时间了,但是由于比赛之后一直比较忙,也比较担心获奖的情况,所以一直没有能对 NOIP2007 做一个总结,现在放假了,有了空闲的时间,来总结一下我的 NOIP 2007 。 首先说一下 NOIP 2007 对语言的使用和评测机器的要求吧。试题上有三条说明: 文件名(程序名和输入输出文件名)必须使用小写 C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 全国统一评测时采用的机器参考配置为:CPU 2.0GHz,内存256M。 第一个和第二个没有什么特别的,是大家应该能做到的,而且轻易能做到的。第三个说明评测机的配置不错,毕竟是 2.0GHz 的机器(比起 USACO 的 700MHz……),对于内存来说,这次进一步放宽了内存,成了 256MB ,而且没有说明程序最大使用多大的内存,所以除去操作系统使用的部分,大家的程序想开多大就开多大了,而不用顾及以前的 64MB 内存的限制。(希望我没有理解错)。山东省的省测更是搬出了一台服务器来进行评测,说明 NOIP 的机器配置已经很不错了。(省测这个可能也跟去年发生的一些事情有关) 拿到卷子,先发现的是卷子的样式跟以前的不一样了,个人比较喜欢 NOIP 2006 的样式,感觉那个更好用一些。(赛后看到电子版,竟然是 doc 文档,初赛题还是 pdf ,怎么复赛退化成 doc 了呢?) 再说一说题目吧。 NOIP … Continue reading

Posted in Information Technology | Tagged , | 11 Comments

clock() in C++

今天把在日照写的代码拿出来看了看,编译运行了一下,发生了一个意想不到的事:用来测时间的 clock() 函数返回了一个非常大的数……正常应该返回毫秒数啊。无奈,上网看了一下。看了一下 clock() 函数的介绍。 Returns the number of clock ticks elapsed since the program was launched. The macro constant expression CLOCKS_PER_SEC specifies the relation between a clock tick and a second (clock ticks per second). The initial moment of … Continue reading

Posted in Information Technology | Tagged , , | Leave a comment

Ten reasons why every programmer should learn C

每个程序员都应该学习C的十个理由引自:http://www.jubling.com/ten-reasons-why-every-programmer-should-learn-c.htmlEvery programmer should learn C during their programming career. Its benefits are to numerous to ignore. Not only will it open many more job opportunities, but it will teach you more about computers as a whole. 1) C is lower … Continue reading

Posted in English, Information Technology | Tagged , , , , | Leave a comment