think-cell Round 1
1|0Preface
这场一周前打的了,结果因为每天都有训练一直拖到今天才有时间补
前期虽然有点犯病但一直到D2出题都还算稳,然后看到E题经典数数题就走不动路了直接投降
后面请徐神来救场才堪堪会做,可惜最后推出优化的式子后比赛已经结束10min了
不够好在是手速够快没有掉分,感觉现在就是前面题出的巨快但总是后面题一个也做不来罚坐到结束
2|0A. Maximise The Score
签到,排序后相邻的两个数一对地取即可
3|0B. Permutation Printing
不难发现所有的数都不存在倍数,因此将它们和的数交替放即可
4|0C. Lexicographically Largest
感觉很典的一个题
首先如果所有都不相同就很简单,从大到小取即可,否则考虑有若干个的和都是
我们总是先取最靠左的那个数,这样就可以一路得到
那么做法就很简单了,把所有从大到小排序,对于当前的数,找到且还未被使用的数,将输出即可
然后因为之前做过和这个基本一样的东西,直接离散化后用并查集维护一下就好了
5|0D1. Sum over all Substrings (Easy Version)
经典Guess Force,直接无脑猜结论就行
D1因为数据范围很小,可以暴力枚举每个子串,现在的问题就是对于某个确定的01串求它的贡献
直觉告诉我们如果包含该点的大的区间内的众数为目标数字,那么被包含的较小的区间中也必然存在合法区间,因此我们只需要考虑长度为的区间即可
那么问题转化为,对于原01串的每个1,需要保证在与其距离的位置内至少存在一个1,这个显然可以直接从前往后贪心
因此这题就有了的做法,当然很容易优化到但是没必要
6|0D2. Sum over all Substrings (Hard Version)
考虑上面那个东西的本质,其实就是要拿出最少的长度为的区间,使得用这些区间能覆盖原01串中的所有1
不妨考虑DP,设表示所有以为左端点的区间的答案之和,转移的时候考虑:
- ,我们找到距离最近的,满足,显然第一个区间以为左端点最优,因此
- ,那么显然第一个区间的左端点必然要放在处,因此有(因为以为左端点的串共有个)
直接从后往前递推处理即可,复杂度
7|0E. 2..3...4.... Wonderful! Wonderful!
唉又被徐神救了,不然我真做不来一点Counting Problem
首先数据范围允许我们枚举,然后大力枚举删除了次,这里的复杂度是调和级数的
考虑用容斥,用选个数删除的方案数减去不合法的删除方案数,考虑后者有什么性质
根据徐神大力猜测的结论,一个删除序列合法当且仅当存在至少一个没被删除的位置,使得其左右都有至少个数被删除
证明的话考虑如果某个局面不满足上面的限制,则显然无法倒推完成最后一次删除操作;否则因为可以任意地把个数还原回去,因此条件一定变宽松了
那么考虑怎么计算当前局面的方案数,不难发现此时删除位置的形态一定形如中间一段连续的删除位置,然后两边分散一些删除位置随便放
具体地,不妨设,则我们需要先选一段长度为的区间全部钦定删除,然后在该区间的左右两侧各放上个删除位置
因此不难想到枚举中间那段的起始位置然后暴力将两边的方案数乘起来,即下面代码中注释的部分,但这样显然会TLE飞因此还需要考虑优化
不妨从组合意义的角度出发,这个问题相当于在个球中先放一个隔板,再左右各取个球
不妨把隔板也看作一个球,这样相当于在各球中取出个球,因此最后方案数就是,就可以计算这部分了
8|0F. Maximize the Difference
这题其实本质不难,但就是要破除一定要用数据结构来优化的桎梏
首先是一个很经典的问题,设其最大值为,则一定满足是的子集,同时也是的补集的子集
证明的话也很简单,是的子集这点是由于若某一位是则这一位上就不可能是;同理若某位上是则这一位上就必为,因此是的补集的子集
因此不难想到一个暴力做法,开两个数组分别记录当前状态是否作为某个数的子集/补集的子集出现过,每加入一个数字的时候暴力枚举子集/补集的子集即可,这样复杂度是的,无法通过
考虑我们只要算出最大值,因此如果已经确定一个数是合法的(其同时作为某个数的子集以及某个数补集的子集出现过),那么它的所有子集就没有必要再扩展了
因此可以用类似BFS的方法来按位扩展子集,一旦遇到以及扩展过的状态就不再重复扩展,最终复杂度就变成了
9|0Postscript
唉马上就要开学力,事情多起来后训练的时间就要减少了
而且这个学期还有给新生暑假前集训出题、校赛、省赛、蓝桥杯、天梯赛等一堆事情,同时绩点和科研啥的也不能落下
借最近玩的《拔作岛》的经典台词与诸君共勉吧:
不畏人间苦,不惧世上难,万般皆磨炼,有志终逞愿。
__EOF__

本文链接:https://www.cnblogs.com/cjjsb/p/18031005.html
关于博主:复活的ACM新生,目前爱好仅剩Gal/HBR/雀魂/单机/OSU
版权声明:转载请注明出处
声援博主:欢迎加QQ:2649020702来DD我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2018-02-24 POJ 2299
2018-02-24 EZ 2018 1 21 2018noip第五次膜你赛
2018-02-24 POJ 1068&&2632&&1573&&2993&&2996