文章结束给大家来个程序员笑话:[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省赛小总结相关推荐

  1. 2013第四届蓝桥杯Java组省赛题解析

    2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 ​第五题:前缀判断 第六题:三部排序 ​第七题:错误票据 第八题:翻硬币 ...

  2. 2013第四届蓝桥杯JavaA组省赛真题详解

    蓝桥杯历年省赛真题汇总及题目详解 蓝桥杯历年决赛试题汇总及试题详解 目录 第一题:世纪末的星期 第二题:振兴中华 第三题:梅森素数 第四题:颠倒的价牌 第五题:三部排序 第六题:逆波兰表达式 第七题: ...

  3. 2018 年“浪潮杯”山东省 ACM 省赛总结

    5月初比赛完,一直拖到现在,没下笔写,更多的原因大概还是不愿去回忆吧,苦笑. 第一次参加比赛,结果不是很好. 虽然赛后教练一直在说这个比赛很水的,让你们大一的第一次参加比赛就想让你们适应适应环境,没指 ...

  4. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码 链接:https://www.nowcoder.com/acm/contest/90/K 来源:牛客网 题目描述 ZiZi登录各种账号的 ...

  5. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题 链接:https://www.nowcoder.com/acm/contest/90/I 来源:牛客网 题目描述 牛客网是是一个专注于 ...

  6. 蓝桥杯2013年第四届C++B组省赛真题

    蓝桥杯 由于最近正在准备蓝桥杯的比赛,打算把这几年的真题做做,正好把蓝桥杯的笔记也发出来,方便以后自己查看笔记,也欢迎大家批评指正错误 2013年第四届C++B组省赛真题 高斯日记 题目描述 大数学家 ...

  7. 广东工业大学acm校赛总结(基础差的人的自我觉悟)

    2022.03.27 广东工业大学acm校赛总结: 实话说,这次校赛表现非常不好,B题的钩子就差一点点,分块了,也知道%k也知道分奇数偶数,就是最后差一个特判不知道怎么解决,寥寥草草一个三等奖,练了这 ...

  8. AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略

    AI:互联网程序设计竞赛之蓝桥杯大赛的简介.奖项设置.大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略 导读: 蓝桥杯属于互联网程序设计竞赛的一种,除了它之外,类似的比赛还有ICPC(A ...

  9. 蓝桥杯c语言校内选拔赛试题,2013年蓝桥杯校内选拔赛C语言B组.docx

    2013年蓝桥杯校内选拔赛C语言B组.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

最新文章

  1. Oracle——redo+undo总结
  2. Android系统的开机画面显示过程分析(13)
  3. P4495-[HAOI2018]奇怪的背包【数论,dp】
  4. Sublime 插件- px 转rem
  5. grpc php 返回值过大,使用grpc实现php、java、go三方互调
  6. 安装oracle ora-01005,Exteernal table ORA-29913,ORA-30653,KUP-01005
  7. 快点来学吧!mysql批量插入数据
  8. 用AI算法分析光影看到盲点:这项MIT新研究偷学到二娃技能
  9. 分享一套jquery视频教程
  10. 2017年微软暑期实习PM产品经理面经
  11. C# 本地图片转Base64码和Base64码显示
  12. 转载 Android端调用Caffe模型实现CNN分类
  13. GeeM2引擎弹出装备显示框的设置方法
  14. DPVS安装配置、使用(1)
  15. 财务经历——京东换新服务/常用常新:一次换新经历匹配自己的知识库
  16. python画龙猫_Python:制作动态字符图
  17. docker下自定义分词器词库
  18. 虚幻引擎(18)-局域网联机详细教程
  19. 硬盘结构受损—数据恢复
  20. AutoSAR系列讲解(深入篇)14.3-Mcal Dio配置

热门文章

  1. 多云战略未来五大趋势分析,必看!
  2. python与编码方式
  3. H3C S5500核心交换机策略路由调度流量到不同的路由设备
  4. tomcat的简单认识
  5. linux软件包管理详解
  6. 最近开发的一个项目的一些感想
  7. 世界编程大赛一等奖作品(转载)
  8. HTML5 progress和meter控件
  9. Java相对路径读取文件
  10. Android 实现布局动态加载