8.9#
AT_agc016_d#
设当前序列的异或和为 并把 放在 。每操作一次即为交换 和 。这样就能判无解了。
对于位置 ,若 ,则 与 之间连一条边,答案为连通块数 + 边数 - 1。
CF199F#
设当前有 个 0 和 个 1,答案即为 。
P10654#
对于每个位置 ,分别处理最早/晚从这个点出发能到两端的时间。
设 表示 能到达 要出发的最早时间, 表示 能到达 出发最晚时间。
首先 ,由于 和 之间的边只在 能走,所以 。然后还有 ,最优的情况是在 的最后一秒向左走,所以 。
但是这个地方有细节的啊,我以为这样就做完了于是样例一直不过。考虑只有当 的时候才能进行上面一步转移,否则 秒结束之后无法立即向左走。
然后再倒着做一遍向右的就做完了。
8.10#
CF1388C#
先 dfs 一遍把每个点经过的人数 求出。设每个点有 人开心, 人不开心,,这样可以求出 ,并且要满足 ,再一遍 dfs 即可。
8.11#
今天打比赛打破防了,狂补一下。
abc366e#
和 是独立的,所以可以设 表示考虑前者 的个数, 表示后者 的个数,枚举 分别计算即可。
abc366f#
这个函数是增函数。,即为 。于是按照这个排好序后做 01 背包即可。
CF1998D#
如果 到远处一个点 的时间要短于艾尔西,那这个点就合法。枚举每个桥 ,设 表示到达 的最短时间,。 不合法即为 且 ,。可以用差分维护一下。
arc182a#
为什么想不到?为什么想不到??
可以考虑任意两个之间的关系,枚举 , 在 后面,如果 ,如果 ,那 的操作一定是左边, 的操作一定是右边。反之则相反。如果有矛盾的就输出 0。
如果 ,任选其一即可,不受限制,设这样的个数为 ,答案即为 。
agc015d#
狗屎,写破防了,略。
8.12#
CF1998E1#
arc182b#
CF2002D1#
对于排列中相邻的两个数 , 表示对于 是否合法,若 是 的父亲,或 在 父亲的子树里,。当 的时候这个排列合法。若 是 的父亲,当且仅当 ,若是后者可以从 往上跳。时间复杂度 。
CF2002D2#
上面算法的时间复杂度是对的,存一下边然后查询的时候倍增跳就可以。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略