BIT training short round #1 summary
BIT 校赛 2.5h场第一场总结
- solved 5/6 , rk 5
我又来送罚时辣(11发)
流程
其实是在各个 CF 赛中选的原题,我 B,C 题做过写过,E 题看过思路。写起来就得心应手了。这里只说 D,E 题的拉跨历程。
D 题最开始想的是一棵树,不构成树无解,但样例 1 就错了。再仔细一想是个二分类问题,每个车有朝左朝右,于是就想 2-sat 去了,但是忘了咋写了......最后才想到二分图。最后跑拓扑偏序时判环又写错了,nm。
E 题我还看过原,写这么久,挂这么多发!大部分时间用在求欧拉路上了,一直想不到不用建图的做法(其实有)。最后偶数图还忘删边了,本地机跑大数据还爆栈了,还以为写挂了......
F 好高深的题。
部分题解
D - Cars
一个性质:有要求的车方向必须相对,同相而行的车不满足任何性质。
由这个性质我们可以构造二分图来确定车的朝向。
接着根据题目的限制,例如:若两车分别朝右,朝左,要求相遇,则前者的位置必须在后者的前面。这就确定了偏序关系,建有向图跑拓扑序就行,要注意判断该图是否有环。
E - Turtle and Multiplication
我们设不同的数字有
为了满足我们的假设,
那求欧拉回路就行了。
F - Game of Questions
很厉害的题。
每道题只能出现一次的限制比较麻烦,但其实一道题选完后,在后来的任何时刻再选这道题不会对选手产生任何影响,因为不会做的已经被淘汰了,会做的还是会做。因此我们不需要记录哪些题目被使用了。
我们设
随着题目推进,当前选手集合会逐渐取其子集,这启示我们从子集进行转移。
考虑转移,对于一个问题
即:分母为能将
现在我们求
复杂度为
用多项式好像可以优化到
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性