COCI模拟考试心得体会

本文分享了一次COCI模拟考试的体验,主要讨论了五个题目,涉及键盘打字、电视换台模拟、矩形轮廓绘制、矩形前缀和问题以及堆栈操作。对于第五题,提出了通过优化复杂度来解决大规模数据问题的方法,强调了理解和优化在解题过程中的重要性。

今天考了一场COCI的比赛,感觉题目没考什么特别难的算法,但是有些题就实现很麻烦。


第一题键盘打字,就是个打表题,打了我好大半天,还好没打错。


第二题一群固执的老人看电视,模拟一下谁去换台,换了什么台就可以过了,注意有循环就输出-1


第三题building,一道卡格式的题,给出每个矩形的左下角右上角坐标,让你勾勒整个透视图的轮廓。我想的是从外围跑一次flood fill,能够接触到的矩形的边就是要画出来的了。然后输出的时候注意下标迭代的顺序。这么一道无聊的题花了我好大半天时间,写了100行才写完。


第四题ranking,就是绑定矩形前缀和,然后利用矩形割补法求一下这个人能“完虐”多少人,多少人能“完虐“他,其他的人总是存在合理的安排顺序的,然后注意一下细节就行了。


第五题堆栈,比较有意思,所有的操作要么是复制一个之前出现过的堆栈,然后把当前操作id放在栈顶,要么复制一个之前的堆栈,然后pop,要么比较两个堆栈有几个公共元素。首先明确模拟肯定没法做,因为每一次复制都会增加O(n)的内存,内存很容易就崩了。模拟一下样例就会发现栈里的元素都是递增的,那么建一棵trie树,把每一操作后新产

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值