[Educational Codeforces Round 76]暑期训练第四天

A

有三个人去参加比赛,有一些问题要给这三个人去解决。第一个人要做前面的题目,第三个人要做后面的题目,剩下的题目给第二个人做。
但给三个人的题目并不是这样分配的,我们每次移到都可以将一个人的一道题目给另一个人。要怎么移到才能使题目的分配满足三个人的条件,求最小移到次数。

E. The Contest

B

给你一个长度为n的数组a[],要求你找到一个最短的子串,该子串中只有一个数是重复的,且这个重复的数只有两个。求子串的最短长度。

题解就不写了。
思路/过程: 这个题看完我就差不多有思路了,也没什么思考过程(虽然我的这个思路好像并不是很严谨,我们仔细证明,但是这个思路是可以过题的)。
遍历数组,用st[]来记录a[i]的位置i(st[a[i]]=i)。如果st[a[i]]原来是0,那么说明之前没有出现这个数( a[i] (1<=i<=n)),直接记录即可。
否则说明之前出现过这个数,那么就能得到一个目标子串,其最短长度为i-st[a[i]]+1,然后与当前最小值进行比较,保留最小值即可。

C

有n个人站成一排,其中有两个人,它们的位置分别为a和b,你可以让队伍中相邻的两个人进行交换。要求你通过x次这样的操作,使a和b两个人的距离最远,求最远距离。

水题。

D

你有m个英雄,第i个英雄有力量p[i]和耐力s[i]。你想去清理一个有n个怪物的地牢,每个怪物的力量是a[i]。
每天你可以派一名英雄去地牢,英雄会去挑战之前没有打过的第一只怪物。如果该英雄的力量大于这个怪物的力量,那么英雄就会打败它,否则他会撤退。每打败一只怪物,英雄的耐力会减一,当英雄的耐力为0或者地牢的怪全被打完时或者这只怪物的力量大于该英雄的力量时,该英雄会撤退。
问清理地牢最少要花多少天。

D. Yet Another Monster Killing Problem

E

给你n个数,要求你找到一个x,让x与a[]构造一个新数组b[],b[i]=a[i]^x。使得b[]中的数两两相似。(两个数相似:这两个数的二进制表示中1的个数相同)。

待补。

F

给你一个数组,数组中包含1-n这n个数(但没有顺序)。你可以进行如下操作:交换两个相邻位置的数。但交换过的位置不能再次交换。问如何操作才能使得该序列字典序最小。

这个题和昨天的重复了,应该是老师放错了把。

感想

这次的发挥还是比较正常的,至少该做出来的都做出来了。经过了这几天的训练,我感觉在做题能力上并没有太大的突破,不过这种进步也不是短短几天内就可以提升的,这种能力的提升一般都是大量的积累,最终引起突破。不过我的英语水平倒是提高了一些,比起一开始的时候阅读速度提高了不少,这几天以来的训练还是有效果的。
这几天以来接触了很大cf中比较靠后的题目,这些题的难度都是很大的,现在对于我来说补起来还是十分困难的,但也不是完全无法理解,努努力后期应该还是可以够到的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lwz_159

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值