JOISC 2014 简要题解
代码,题目推荐在 LOJ 上看。
#2872. 「JOISC 2014 Day1」巴士走读
大常数做法。
假设我们知道了终止的时间,那么就显然可以最短路直接求出最晚要什么时候到达 号点,复杂度为 ,然后可以二分终止的时间,复杂度为 。
但是有多组询问,因此直接整体二分就行了,复杂度应该是 。
#2873. 「JOISC 2014 Day1」有趣的家庭菜园
题目就是想说明要求 IOI 草是一个单峰的形状。
因此我们可以按照 从高到低加入 IOI 草,然后每次可以放左边或者右边,这两种的贡献形式都是逆序对个数,直接树状数组维护,然后注意一下相同 的 IOI 草同时处理,不能让他们互相影响就行了(因为一定是左边一部分选择放左边,其他部分放右边,然后互相之间不会有逆序对)。
#2874. 「JOISC 2014 Day1」历史研究
回滚莫队板子,不解释。
#2875. 「JOISC 2014 Day1」拉面比较
先两两分组,每组比较分出最大值和最小值,共 次,然后把两组的最大值和最小值分别比较,共 次。
今年我初赛题比较次数就是因为这个对的
#2876. 「JOISC 2014 Day2」水壶
写个广搜搜一搜,同时用并查集建出一个建筑物之间的生成树(就是两个节点交界处时计算边权),然后直接建出来 Kruskal 重构树,询问的时候找一下 LCA 就行了。
#2877. 「JOISC 2014 Day2」交朋友
定义 代表 出边的集合。
显然,对于每个 , 中的城市两两是友好国家。
然后我们发现,如果 是友好国家,那么 也是友好国家,因此最后再次用并查集合并一下就行了。
#2878. 「JOISC 2014 Day2」邮戳拉力赛
之前写了一个贪心 + DP ,然后萎了成 80 pts,找了半天错,最后发现是思路不对。
注意到走的方法可以很鬼畜,七拐八拐的,但是总有一个不变:
在某个点转向成下行列车,必定有一个地方转向成上行列车走回来。
然后我们可以将转向成下行列车作为 )
,转向成上行列车作为 (
,那么所有的方案一定是一个括号序列。
因此,考虑 记 f[i][j]
代表 目前考虑到 点,有 个 (
,的最小代价, 考虑 要放几个(
或者)
, 而贡献可以通过费用提前计算很好地计算出来。
#2879. 「JOISC 2014 Day3」JOIOJI
首先,我们对于 3 种字母分别进行前缀和统计个数,我们发现对于满足条件的子串 ,那么 , 的前缀和数组的差分数组一定相同,那么就可以直接对前缀和数组差分后进行 hash,用 map 统计答案即可。
#2880. 「JOISC 2014 Day3」稻草人
不解释。
#2881. 「JOISC 2014 Day3」电压
原问题等价于问有多少边满足删了该边使得整个图为二分图且 删边可以使得图不连通或者不删会成为非二分图 。
首先建出 dfs 生成树,然后通过差分可以求出每条边有多少个奇环和偶环经过,于是有两种情况:
- 删掉非 dfs 生成树边,只有当奇环个数为 的时候,可以删去该边
- 删掉 dfs 生成树边,当所有奇环经过该边并且没有偶环经过该边的时候可行。
简单讨论即可。
#2882. 「JOISC 2014 Day4」两个人的星座
计算几何,还不太会,正在咕咕咕咕咕。
#2884. 「JOISC 2014 Day4」挂饰
我们注意到,当 的时候,相当于将可用的挂钩数 , 其他的都是增加或者不变。
那么将 的单独考虑,其他的先跑一个背包,设 表示当期可用挂钩剩余量为 的最大喜悦值,最后再贪心匹配 的挂饰就行了,复杂度 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App