范围元【2013 GDCPC】有为杯 广东ACM省赛小总结
文章结束给大家来个程序员笑话:[M]
第一次加入生赛,心情万分激昂,我不是大牛,但是在子畦大牛的率领下,刚好排到了校赛的第20名,升级省赛。
广东的ACM省赛弄得非常好,无论是职员安排还是举办方对参赛队员的照料,竞赛时光是从上午的9点半始终打到下昼2点半,延续5个小时,地点是华南农业大学。
我从来对由第三方提供的饮食没有什么信念,所以自己还买了个10大洋的三明治(美心的三明治做得很好……),但是等我看到提供给参赛选手的午饭后我才觉得那个三明治真弱啊。中午大概12点,每位选手会发一袋,对,是一袋午饭,里头有——大牛角包,香蕉(感到是华农自己种的?因为这条香蕉的味道不太专业),一个三明治(普通面包店能买到的那种,不过量更足),一支华农酸奶,一条Kinder夹心巧克力。不错不错,当然矿泉水是一开始就有提供的。
竞赛很好玩,从A~K一共11题,每题对应一个颜色的气球,最对的步队就会有工作职员在桌子上竖一个气球。对于各题,拿到first blood的步队还有额定的奖金
所以加入竞赛的感到就是很快乐,不过这次我们全队发挥变态,这是另外一个悲伤的事。好了,还是直接上题目上总结吧,题目是全体英文的,不过我翻译成中文好了
——————————————题目——————————————
*A题:
(前面一大堆描述分析temple run2这个游戏,然后重点来了)人物每次身后,可以消费一定量的钻石来使用“Save Me”功能,在没有升级的情况下,统一局中多次使用Save Me将依次消费1,2,4,8.....个钻石,每升级一次,每次消费的钻石就减少1个,例如升级一次后,依次消费1,1,3,7……起码消费1个。问在升级了M次后,第N次使用Save Me会消费多少钻石。
最水的题目,直接cout<<(pow(2,N-1)-M)<1?1:(pow(2,N-1)-M)<<endl; 就能够了
**B题:
(前面一堆描述……还画了图,非常具有误导作用,现实概括后就很简单)限定m*n巨细的数列,给定K个数,然后对数列可以进行Insert(a),Remove(a),Find(a)操作,执行Insert如果超越数列容量,则把数列中最大的数抛弃,然后插入;Find操作则输出是否存在a即可。
这也是水题,惋惜我们在这题上耗费了太多时光,哭,为什么耗费了那么多时光呢,因为这题的数据结构是手敲的……现实直接使用STL的set就能够了,我是在竞赛结束后突然间发现傻了。唉,STL啊STL,没想到每次大竞赛最会这么败给STL一次。
?C题:
没有看……迟点有空我补上
***?D题:
不好意思……这题太蛋疼了,和编译原理有关,迟点有心情再看题补上
******E题:
有N元(1<=N<=10^18),可以兑换成1,2,5,100,5000,10000元,有多少种将N元完全兑换的方法?最后的结果对1000000007取模。
赛后CYL师兄讲题的时候说这是本次竞赛最大的一个坑,因为其题目极其冗长,题意极其简单,但是现实上是本次竞赛的压轴题。具体的崩溃方法我来不及记,大概就是把N从大到小分解,然后可以发现一个什么东西,然后用矩阵求幂。下面的,我就不知道了……
***F题:
Alice和Bob的宠物小精灵互相对打,能力值高的精灵赢,每只小精灵只可以进场一次。Alice在每只小精灵赢,平局,输后,分别会取得X,Y元,或者损失Z元。现在给定Alice的前后进场的小精灵的能力值,然后再给出Bob的小精灵能力值(不按进场顺序),问Alice的期望收入是多少元。数据范围:每个人的小精灵数目N相同且范围是(0,100000],X,Y,Z的范围都是(0,1000)。
这题非常捶蛋,不知道为什么就是Wrong Answer,到最后结束也没检查出来,其实就是分别统计Alice每只小精灵的收入期望,然后再把Alice的全体小精灵的收入期望加起来。如果直接使用线性统计每只精灵的期望,那么复杂度将打到O(n^2),会超时,所以要先对Bob的精灵按照能力从小到大排序,复杂度是O(n*log(n)),然后对Alice的每只精灵,再Bob的精灵顶用2分查找找到能力值一样的精灵,如果找不到那么也会找到分界点,这样可以倏地统计多少只精灵是负于Alice当前的精灵,多少只平局,多少只胜出,然后直接计算即可,复杂度是O(n*log(n))。这样算法总的复杂度也降到了O(n*log(n)),这样就不会超时了。也是水题,惋惜就是不知到哪里写错了
一个安静的夜晚,我独自一人,有些空虚,有些凄凉。坐在星空下,抬头仰望美丽天空,感到真实却由虚幻,闪闪烁烁,似乎看来还有些跳动。美的一切总在瞬间,如同“海市蜃楼”般,也只是刹那间的一闪而过,当天空变得明亮,而这星星也早已一同退去……
****G题:
N堆石子,每堆的数量起码为1,不超过10^18,Alice和Bob轮番取石子,有两种取的方法:1. 只取走1个石头 2. 在这堆石头有2个或以上时,可以取走一半(奇数时取走(N-1)/2,偶数时取走N/2)。给定有N堆石子,每堆的数量ni,问谁会赢。
这题本来是交给子畦做,但是因为没有沟通好,所以写完程序才发现题意理解错了。唉,悲催,时光啊。后来在赛后讲题时发现他们说若只有一堆时如果数目>=2则先手必胜??为什么呢??按照分析应该是找出不安全状态(可以搜索nim问题,或者可以看一下《编程之美》对于nim问题的解答),然后再递推。我今晚再问一下周生这题怎么做,到时再更新。
****H题:
N*M的矩阵里头有若干老鼠,初始情况下每个格子最多1只老鼠,当铃响一次,老鼠就会随机挑一个相邻的格子并跳入其中,如果在统一个格子有x只公鼠,y只母鼠,那么它们会产下min(x,y)只小老鼠(看来是一夫一妻制……),这些小老鼠之后并不会交配产子,即可以把小老鼠当做是无性别的。问经过R次铃响后,小老鼠数量的期望值是多少?数据范围:N,M和R都是[1,10]
这题的数据范围小,不过我们并没有想过这题,也是等我问完周生怎么做,再更新吧。
***I题:
N个节点,M条边的有向无环图,问每个节点可以达到的节点数有多少个(包含自己)。数据范围:N是[1,10000],M是[1,100000]。
用STL的bitset容器
****J题:
给定N和K,整数序列S如果同时满足下面3个条件,那么就称之为烦闷序列:
1. 数列有N个整数
2. 每个整数要么是0,要么是1
3. 同样的数字连续出现K次以上(即K+1或以上次)
例如N=3,K=2,那么111和000都是烦闷序列。计算给定N和K在范围[1,1000]下的烦闷序列数量,最终结果对1007取模。
这题计算时要转换一下思路,首先计算非烦闷序列的数量,然后再用2^n减去非缄默系列的数量即可失掉答案。计算非烦闷序列时,需要使用动态规划,后来子畦跟我说这题时,我的感到就是——丫这动态规划的转移式太秒了,我确定想不出来,怎么办?子畦语重心长地答复:“靠经验,靠积累吧。”
我们用f[i][j][0]表现到数列的第i个位置(从0开始)连续j个都是0(从(i-j+1)~i)的情况数,f[i][j][1]则是连续j个1,状态转移方程如下:
f[i][j][0] = f[i-1][j-1][0]
f[i][j][1] = f[i-1][j-1][1]
f[i][1][0] = ∑f[i-1][k][1],其中k从1~K
f[i][1][1] = ∑f[i-1][k][0],其中k从1~K
*K题:
给定一个字符集合(全体小写)如{a,e,f,f,g,i,r,q},然后再给定一些单词(全体小写),如:
abacus
deltoid
gaff
giraffe
microphone
reef
qar
要求找出一个单词,其字符全体由字符集合中的字符组成,并且对应的字符出现的次数不超过字符集中该字符出现的次数。如果有多个满足条件的单词,那么找最长的,如果长度一样,则找第一个出现的,这里符号条件的是“giraffe”
非常水的一道题……但是我们wrong answer了7次……算了,不说了。
————————题目完————————
这次竞赛,虽然诸多不顺,但是总体来说是开了眼界,也发现了自己算法水平的不足,唯有努力追赶以缩小差距,其实竞赛还是非常开心的,而且当你看到一些算法那么精妙的时候(不一定是巧妙),不忍啧啧称赞,哈哈,愿各位算法不太好的同学也多多加油。
文章结束给大家分享下程序员的一些笑话语录: IBM和波音777
波音777是有史以来第一架完全在电脑虚拟现实中设计制造的飞机,所用的设备完全由IBM公司所提供。试飞前,波音公司的总裁非常热情的邀请IBM的技术主管去参加试飞,可那位主管却说道:“啊,非常荣幸,可惜那天是我妻子的生日,So..”..
波音公司的总载一听就生气了:“胆小鬼,我还没告诉你试飞的日期呢!”
范围元【2013 GDCPC】有为杯 广东ACM省赛小总结相关推荐
- 2013第四届蓝桥杯Java组省赛题解析
2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 第五题:前缀判断 第六题:三部排序 第七题:错误票据 第八题:翻硬币 ...
- 2013第四届蓝桥杯JavaA组省赛真题详解
蓝桥杯历年省赛真题汇总及题目详解 蓝桥杯历年决赛试题汇总及试题详解 目录 第一题:世纪末的星期 第二题:振兴中华 第三题:梅森素数 第四题:颠倒的价牌 第五题:三部排序 第六题:逆波兰表达式 第七题: ...
- 2018 年“浪潮杯”山东省 ACM 省赛总结
5月初比赛完,一直拖到现在,没下笔写,更多的原因大概还是不愿去回忆吧,苦笑. 第一次参加比赛,结果不是很好. 虽然赛后教练一直在说这个比赛很水的,让你们大一的第一次参加比赛就想让你们适应适应环境,没指 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码 链接:https://www.nowcoder.com/acm/contest/90/K 来源:牛客网 题目描述 ZiZi登录各种账号的 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题 链接:https://www.nowcoder.com/acm/contest/90/I 来源:牛客网 题目描述 牛客网是是一个专注于 ...
- 蓝桥杯2013年第四届C++B组省赛真题
蓝桥杯 由于最近正在准备蓝桥杯的比赛,打算把这几年的真题做做,正好把蓝桥杯的笔记也发出来,方便以后自己查看笔记,也欢迎大家批评指正错误 2013年第四届C++B组省赛真题 高斯日记 题目描述 大数学家 ...
- 广东工业大学acm校赛总结(基础差的人的自我觉悟)
2022.03.27 广东工业大学acm校赛总结: 实话说,这次校赛表现非常不好,B题的钩子就差一点点,分块了,也知道%k也知道分奇数偶数,就是最后差一个特判不知道怎么解决,寥寥草草一个三等奖,练了这 ...
- AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介.奖项设置.大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略 导读: 蓝桥杯属于互联网程序设计竞赛的一种,除了它之外,类似的比赛还有ICPC(A ...
- 蓝桥杯c语言校内选拔赛试题,2013年蓝桥杯校内选拔赛C语言B组.docx
2013年蓝桥杯校内选拔赛C语言B组.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...
最新文章
- Oracle——redo+undo总结
- Android系统的开机画面显示过程分析(13)
- P4495-[HAOI2018]奇怪的背包【数论,dp】
- Sublime 插件- px 转rem
- grpc php 返回值过大,使用grpc实现php、java、go三方互调
- 安装oracle ora-01005,Exteernal table ORA-29913,ORA-30653,KUP-01005
- 快点来学吧!mysql批量插入数据
- 用AI算法分析光影看到盲点:这项MIT新研究偷学到二娃技能
- 分享一套jquery视频教程
- 2017年微软暑期实习PM产品经理面经
- C# 本地图片转Base64码和Base64码显示
- 转载 Android端调用Caffe模型实现CNN分类
- GeeM2引擎弹出装备显示框的设置方法
- DPVS安装配置、使用(1)
- 财务经历——京东换新服务/常用常新:一次换新经历匹配自己的知识库
- python画龙猫_Python:制作动态字符图
- docker下自定义分词器词库
- 虚幻引擎(18)-局域网联机详细教程
- 硬盘结构受损—数据恢复
- AutoSAR系列讲解(深入篇)14.3-Mcal Dio配置