2012年BNU新生程序设计大赛解题报告【非官方版】
来源:互联网 发布:淘宝无线优惠券 编辑:程序博客网 时间:2024/05/01 22:19
A.校队的聚餐
本题在校队内部讨论过程中就被定义为游离在五个难度等级(简单,中下,中,中上,难)之外“坑题”,实际上三种方案的数学期望都是一样的,详细证明见这里http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=1402#report
第一种方案的数学期望就是:编号*出现的概率的累和。概率都是相同的,和是的2n项的等差数列求和。
吐槽:校内只过了两个,看来猜测结论的勇气还有待提高啊!同时比赛过程中有人提问异或是什么,C语言课上是100%讲过的!!!
B. 化身
本题是一道字符串处理的简单题,可利用结构体去存每个技能所对应的武将标号,最后扫一遍所有的技能找出给定的技能所对应的武将编号即可,于是标程就写矬了= =。因为可以边读技能边比较…….
吐槽:本题除了题面比较长以外(这一点可能阻碍了大家签到的脚步),其他的没有任何trick,好好做&&编译后过样例基本就能AC了,校内此题过的人也最多^_^
C.神Lisy的智商
本题的基本出发点是要对智商进行排序,同时从贪心的思想去思考:要想取得最大的智商值,肯定要先和神Lisy的当前智商值最接近的且比他大的人辩论。这样排序过后依次操作即可~~~同时在校队讨论题目过程中将此题的数据缩小,所以每次找到比当前值大的最小的智商值进行操作+2,直到没有比当前值大的为止,对剩下的进行+1操作
吐槽:这题主要在于解题的思想,不过FB奖还是很不错的!!
D. 整数边直角三角形
由于题目中已经给出结论:以任何大于2的素数为直角边的整数边直角三角形唯一存在,同时在初中时大家一定见过这样的整数边直角三角形:7,24,25 11,60,61….酱可以总结出一个结论:另两边的差为1
(证明见http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=1402#report),之后就是解方程组了~~需要注意的是longlong问题,据说在新生培训中是讲过滴!!而且比赛后来已经提示要用longlong了
吐槽:非常可惜的是有位新生结论推对了,只是在输入时加了一句:printf("enter T ge sushu: \n"); 然后就华丽丽的WA了= =。
E. 我爱背单词
由于题目数据量不算太大,因此直接模拟for一遍就可以了
for(int i=1;i<=d;i++)
for(int j=0;j<k;j++){
word[i+r[j]-1]+=n[i];
}
和G题差不多,在M个询问前就把1到D+Rk-1天的单词数算出来,询问过程中如果Qi>D+Rk-1直接输出0,else输出word[Qi]。需要注意的是有多组数据,因此在输入每一组之前都要把word数组清零,这也是比赛中很多WA的原因之一!
吐槽:本题校内无人通过,很可惜的是新生TOP1 WA了,不然他很有希望搞出5题的;
赛后出题人大玉儿向校队内部询问如果数据量很大的做法,结果竟然要用很神棍的FFT算法
F. SoftKitty
据出题者说本题的解题方法主要是2进制移位问题,这里说一个用数学方法推出的过程:
唱第m次这首歌时,该次需要唱6*2^(m-1)句;
唱了m次之后总共唱了S=6(2^m-1)句歌词;而对于给定的n,我们可以利用上式大致推算出m的值,m=log2(n/6+1)这就不难搞出第n句所要输出的歌词了吧,同时这个式子也在暗示我们本题确实与2进制有关~~~
G. 找规律问题
本题也是一道字符串处理题,属于中等难度。规律题目中已经给了,第i行的字符串是根据第i-1行的字符串得来的,看到n<=20可能会想到手动打表直接交上去,但是在比赛过程中能一次搞定还是很有难度的,况且n=20时输出的字符串长度会达到300+!!!这在编译器中一行是无法看全的,很容易CE!!比赛中也有新生尝试这种方法,不过没有AC
因此模拟一下就行了,在模拟过程中要注意:应比较当前字符与上一个字符是否相同,不同的话就生成字符串,否则频数+1。这个模拟的过程应在输入n前完成,以便节约时间,也就是“离线打表”~~当然如果n>50的话可能会RE!
吐槽:字符串模拟题在新生赛中还是比较常见的,只要多练习一些这类题还是可以过的~~
H.Triangle
这是一道不太常见的几何题,因为需要添加辅助线才能简化推导过程,当然用正弦定理和余弦定理来回倒角和边也是可以的(此题对精度的要求不高,而且是Special Judge),不过会很麻烦的 = =||
辅助线的构造方法如图所示,作B’D∥A’C并设BD=x,x可由△AA’O∽△ADB’以及△BB’D∽△BCA’推出,这样AD的长度也是可求的!下面第一个图中的黄色部分的面积就可利用相似比的平方求出,i.e. 对于△ADB’的面积,它的高与△ABC的高也存在相似比关系,这样就可以推导出△AA’O的面积,原图中其他两块黄色部分的面积可利用类似的方法求出,黄色面积的和即为S(黄)
对于绿色部分的面积,S’(绿)=△ABB’—(两块黄色的面积),这里△ABB’与,△ADB’等高的,只是底不同而已~~~。类似地可以求得三块绿色面积的总和
最后红色部分的面积S(红)=S(总)—S(绿)—S(黄)
总的面积用海伦公式求解 ,
I. 乘车问题
因为此题需要讨论的情况比较多,对于我这个前信科专业&&木有考过GRE的人来说已然亚历山大,因此只提供解题报告传送门:
http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=1402#report
总体来讲比赛没有校队内部预期的好,但是题目真心不难,本菜出的B题至少还是能过的,同时强烈建议使用codeblocks,DEV C++等编译器,能够有效的避免CE问题,OJ上也提供了下载http://acm.bnu.edu.cn/rj/codeblocks-10.05mingw-setup.exe
http://acm.bnu.edu.cn/rj/devcpp-4.9.9.2_setup.exe
这两种编译器比VC6/TC不知好到哪里去了!!!
后记:最后一次玩新生赛了,也是最后一次出新生赛的题了,从最开始题目都很naïve每年都要无聊地出上一个斯诺克问题,到现在题目一直认可可以上线,质量在提高,同时有必要吐槽一下今年的题目:测题时一道签到题都木有,于是就把我拿到字符串判等最为最简单了,也就导致新生有一半没有AC题目…….校赛出题时希望能把算法彻底复习一下,同时个人认为测题不是为了AC,而是去寻找题目数据的漏洞,可能的trick,甚至要从做题人的能力角度出发去测题,比如找规律那个题可以打表,当年还是有新生尝试打表的,但是和我预期的一样一次打对的木有!!!同时测题时题面出现了两个K都没发现(⊙o⊙)?
关于解题报告我还是认为应该给新生留有余地,不要什么都给他们“喂到嘴边”,似乎这是在我教育实习之后才悟到的真理吧~~~昨天校队内部举行了包饺子的活动,第一次参加感觉不错,龚犇新世纪煮饺子法值得推广啊!!!!!回来后有点儿催生了我对大学的不舍之情,还有半年西北339的六个人就要各奔东西了[叹气ing…..]想起大一时一起刷题到ranklist的第一页,下学期全员组队参加校赛,再到现在可以参与出题,时光荏苒,白驹过隙是也!
将近四年的ACM生涯看上去对化学没什么用途,其实收获还是颇丰的,而且这段经历可以作为双选会上其他人所不具备的不对称优势!唯一遗憾的是大二那年与现场赛失之交臂,大三那年却因为周六做实验阴错阳差地选择了放弃,大四又因为教育实习不能参加比赛= =。哎就这样吧,争取明年校赛出个好题弥补一下~~~目前已经想好了一个题呢~
转载此文请注明出处:http://blog.csdn.net/rabia/article/details/8393053
- 2012年BNU新生程序设计大赛解题报告【非官方版】
- 乐师2017年新生程序设计大赛解题报告
- 【中北大学2013年第一学期新生程序设计大赛 解题报告】
- 2016年乐山师范学院程序设计大赛解题报告
- 2017年乐山师范学院程序设计大赛解题报告
- 2012年低年级编程大赛解题报告
- 2016年第四届湘潭大学新生趣味程序设计竞赛 解题报告(动态规划)
- 深圳大学2012年程序设计比赛解题报告
- 2013年4月_武科大程序设计大赛_解题报告(problem 1001)
- 2013年4月_武科大程序设计大赛_解题报告(problem 1002)
- 2013年4月_武科大程序设计大赛_解题报告(problem 1003)
- 2013年4月_武科大程序设计大赛_解题报告(problem 1004)
- 2013年4月_武科大程序设计大赛_解题报告(problem 1005)
- 2013年4月_武科大程序设计大赛_解题报告(problem 1006)
- 2013年4月_武科大程序设计大赛(复赛)_解题报告(problem 1001)
- 2013年4月_武科大程序设计大赛(复赛)_解题报告(problem 1002)
- 2013年4月_武科大程序设计大赛(复赛)_解题报告(problem 1003)
- 2013年4月_武科大程序设计大赛(复赛)_解题报告(problem 1004)
- East Meets West: How the Brain Unites Us All
- 中国当代黑社会大哥排行
- struts2+ajax+json
- Restaurant LA4851
- 使用JavaScript库还是自写代码
- 2012年BNU新生程序设计大赛解题报告【非官方版】
- T-SQL 查询优化之扫描搜寻
- wm_ncpaint消息
- Struts2拦截器实现日志管理系统 (同理实现权限,模块点击计数器等)
- 周星驰 周润发等都是黑道大哥难怪那么红什么都敢演!
- warning: deprecated conversion from string constant to "char *"
- 著名硬件黑客黄欣国正在设计开源笔记本
- NASA:世界末日谣言不攻自破
- NASA 上线开源网站