您的位置:首页 > 其它

CSP超级合集(更新中)

2018-01-16 12:28 281 查看

Before

听说有些学校能抵机试,准备参加三月份的CSP。

以下所有代码请到github

201312-1 出现次数最多的数

sb-t。计数随便扫一下。

201312-2 ISBN号码

sb-t。随便模拟一下。

201312-3 最大的矩形

easy mode:枚举左端点,枚举右端点,顺便维护最小值,乘一下更新一下。

medium mode:考虑枚举一个点,并使该点就是区间中最低的,那么就是要求向左向右第一个低于当前点的。这件事情可以用单调栈来搞,正反各一遍。

201312-4 有趣的数

一眼看上去想搜索,但是仔细一想。。。是个数学题,稍微懵逼了一会儿,还是要慢慢来,列列式子。

因为0都在1之前,也就是说最后一个0在第一个1之前,那么它们可以看作一个整体。又因为每个数字至少出线一次,所以第一个一定是0。23同理。

设0和1的总位数是x,那么首先要在n位中选出x位,又因为整个串的第一位不能是0,所以应该是n−1位,即Cxn−1。剩下的n−x位分给23。然后在这x位中,只要选一个位置断开,前面是0后面是1即可。枚举最末的0,除了不能在最后都可以(必须有1)。23同理。所以答案等于Cxn−1C1x−1C1n−x−1,2≤x≤n−2。n小于等于1000,阶乘打表或者组合数打表,随便搞搞。

201312-5 I’m stuck!

70:我以为504肯定能过的。。。直接写了个先起点bfs再每个格子bfs的。。。TLE

100:可以直接连边在图上和反图上搜。但是不太想重写,所以加了一个反向搜的函数,注意反向的时候判断的是要到的那个格子的连通方向。

201312 Summary

作为全系列第一场,非常简单,甚至不需要什么算法知识就能ak。

201403-1 相反数

不会重复,直接取绝对值找出现两次的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CCF CSP 合集