欢迎辞欢迎来到“笃志以砺,决起而飞”! 如果您是第一次来到本站,建议访问 本站导读以便更快地了解本站。 如果您喜欢本站, 欢迎订阅。 | 大幕徐徐拉开…… 为使参赛者熟悉本次NOIP提高组模拟赛的比赛环境,特举办比赛环境适应赛,给大家体验比赛平台的机会。比赛共有三题。由于本次比赛不是正式比赛,题量和难度和正式赛并不相同,时间也很宽松。 比赛时间:2010年5月31日,19:00:00 – 22:00:00。 单击此处提交你的程序。 特别说明: 一、文件名(程序名和输入输出文件名)必须使用小写。 二、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 三、统一评测时采用的机器参考配置为:CPU AMD 2.7GHz 双核,内存 2 GB,使用虚拟机环境测试。 四、关于使用Pascal语言与编译结果的说明 1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。 2.允许使用数学库(uses math子句),以及ansistring。但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。 五.关于C++语言中模板使用的限制说明 不作限制 题目一、神牛果 (时限:1 sec | 内存: 128 MB | 分值: 100 分) 【题目描述】 在某次膜拜大会上,一些神牛被要求集体膜拜。这些神牛被奖励每人吃一些神牛果。但是,每个神牛的肚量不一样。为了不显得某些人吃得太多,决定两人一组,使得吃得最多的那组吃得尽量少。(神牛数为偶数) 【输入格式】 第一行一个整数 n。(n<=10000) 第二行有 n 个正整数,为给定的一列数字,表示每个神牛能吃多少神牛果。(数字均小于 1000000000) 文件名为“1.in”。 【输出格式】 一个正整数,吃的最多的一组神牛吃的个数的最小值。 文件名为“1.out”。 【输入样例】 4 1 5 2 8 【输出样例】 9 单击此处提交你的程序。 题目二、四面楚歌 [...] 现在距离第一届机房病毒杯的举行(2008年11月9日)已经过去了将近一年的时间。我也顺利获得了当年的NOIP一等奖,现在我以文化课作为主要努力方向。 为了更好的造福广大OIer,我决定逐渐公开和整理一些OI资料,于是就从《第一届机房病毒杯NOIP提高组模拟赛》开始吧。因为这是第一届(或许是最后一届?)我自己主办的NOIP比赛,所以具有一定的纪念意义。值得说明的是,当初这届比赛就是为了模拟NOIP,所以难度很低。 [...] 昨天进行了模拟赛,很不爽,只有120分。想当然让我措失了80分,数学知识不能合理利用让我又失去了80分。懒惰也让我失去了一些分数。 从现在开始,我总结一下做题的情况和问题。将发布各题的解题报告。 第一题:不会,骗分 骗分也是一门艺术,不过只骗了20分。 我的骗分程序:(反正不会写,索性用 C++ 而不是 Pascal 写了一个骗分程序新鲜一下。) /* Cheat By Ceeji XD */ #include <cstdio> using namespace std; int n,q; int main() { freopen(“count.in”,”r”,stdin); freopen(“count.out”,”w”,stdout); scanf(“%d”,&n); scanf(“%d”,&q); if (n==1) { printf(“%d\r\n”,(1 % q)); } if (n==2) { printf(“%d\r\n”,(1 % q)); } if (n==3) { printf(“%d\r\n”,(2 % q)); } if (n==4) { printf(“%d\r\n”,(3 % q)); } if (n==5) { printf(“%d\r\n”,(8 % q)); } if (n==6) { printf(“%d\r\n”,(20 % q)); } if (n>6) { printf(“%d\r\n”,5); } fclose(stdin); fclose(stdout); return 0; } /* <br/> Cheat By Ceeji XD<br/>*/<br/>#include <cstdio><br/>using namespace std;<br/>int n,q;<br/>int main()<br/>{<br/> freopen(“count.in”,”r”,stdin);<br/> freopen(“count.out”,”w”,stdout);<br/><br/> scanf(“%d”,&n);<br/> scanf(“%d”,&q);<br/><br/> if (n==1) { printf(“%d\r\n”,(1 % q)); }<br/> [...] 首先声明这个文章不是我原创,功劳归 Matrix67(First Published By Matrix67)但合并,整理 + 改编后效果更好,也删除和添加了一些东西,献给所有需要的人。首先还是从最基础的东西说起。 什么是位运算? 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算 符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理): 110 AND 1011 ———- 0010 –> 2 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。当然有人会说,这个快了有什么用,计算6 and 11没有什么实际意义啊。这一系列的文章就将告诉你,位运算到底可以干什么,有些什么经典应用,以及如何用位运算优化你的程序。 Pascal和C中的位运算符号 下面的a和b都是整数类型,则: C语言 | Pascal语言 ——-+————- a & b | a and b a | b | a or b a ^ b | a xor b ~a | not a a << b | a shl b a >> b | a shr b [...] | |
近期评论