10 2023 档案
摘要:[CSP-S2020] 儒略日 今儿终于做掉困扰多年的题目了,其实想好细节也不难。 容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出 ~ 会经过多少天,可以通过一天一天暴力跳的方法
阅读全文
摘要:题目链接 相当牛逼。 这种找数量的题型,确定树形 没跑了。 首先思考常规树形 ,不难想到设 表示以 为根节点的子树内(包括点 ),最大值是 ,最小值是 的连通子图数量,转移很容易,但是这样时间空间复杂度
阅读全文
摘要:有一种和题解区完全不同的做法。 首先将所有任务按照时间从小到大排序,接着用 表示处理前 个任务所能得到的最大空闲时间。 回顾一下需要满足的条件:再某个有任务的时刻,如果尼克是空闲的,就必须从中选择一个任务做。那么我们对于第 个任务,枚举上一个做的任务 \(j\
阅读全文
摘要:题目链接 对于括号问题,考虑区间 。这道题的括号序列是固定的,所以直接找出每个括号对应的括号在进行转化即可。 设 表示 ,左括号不染色/染红色/染蓝色,右括号不染色/染红色/染蓝色的方案数。 若 是一对
阅读全文
摘要:题目链接 对于括号题,基本是栈匹配没有匹配的左括号和区间 两个方向。这道题括号序列并不确定,只能用区间 搞。 如果直接设 表示 的合法括号序列,那么由区间 的套路可知,需要枚举中间点进行合并,那么 \(()()
阅读全文
摘要:题目链接 本题解讲解环图的做法。 要将一个 的排列通过交换变成 ,可以先将 向 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最
阅读全文
摘要:题目链接 先将所有作业按位置排序。 直接贪心显然是不行的,因为我们没有办法确定对于一个时间较久的作业,是在原地等待,还是在未来的某个节点返回,并且无法确定是那个节点,所以只能考虑 。 对于此类可以倒来倒去的问题,通常考虑区间 ,若设 表示完成区间 \(
阅读全文
摘要:题目链接 首先可以想到设状态 表示小 和小 分别表示他们目前取得的得分,那么最终的答案便是 的时候。 但是这样设置状态的复杂度无疑是高的。并且十分浪费,所以考虑设 表示 的值。那么 \(z
阅读全文