杂题 题解
文章平均质量分 93
平时训练赛遇到的或者各种校赛的题解
Texcavator
会慢慢慢慢慢慢学会的!
展开
-
ZAFUACM - 23.8.5个人赛补题
观察数组发现,从中位数开始,如果当前遍历的数和比后面的数小,就可以只将当前的数加1(也能保证当前的数还是中位数),当前的数如果和后面的数一样大,就需要将后面一样大的数也一起加1(才能保证中位数也加了1)给出一个数组,如果某个元素之前的任何一个元素都比这个元素大,那就叫这个元素 record,现在要删去一个元素,让这个数组的 record 最多,问删去哪个元素。现在要解决的问题变成了每一段的方案数是多少,稍微枚举一下就能发现,这一段有几个连续的“w”或“n”,这一段的方案数就是斐波那契数列。原创 2023-08-05 21:31:51 · 166 阅读 · 0 评论 -
ZAFUACM - 7.11个人赛补题 A - F & H
先把无向图每个顶点的度存下来,先找到度为 1 的点存进队列,让这个点连接的这条边直接指向这个点,将被指向的点度赋为无穷大,另一个点度数减去 1,最后再更新度为 1 的点存进队列,队列为空时判断有多少点度为 0,这个数量就是答案(因为度为 1 ,主动被指向的点都被赋为无穷大了,度为 0 的只能是没有被指向的)我一开始想得太复杂了,哪个序列怎么填充给自己绕的晕头转向,但是后来突然想到,从前到后直接按顺序填 0 - 最大的非负整数 不就可以了吗TAT,这样不管怎么取子序列都是满足条件的啊…占坑,今天补完这题!原创 2023-07-12 07:38:42 · 71 阅读 · 0 评论 -
ZAFUACM - 7.10个人赛补题 A - C & E & H
给出任意组数据,每组包含两个字符串,当 A 组的第二个字符串等于 B 组的第一个字符串时,将 A 组的第一个字符串转换成 B 组的第二个字符串,输出全部转换后还剩多少组数据,每组数据分别是什么。参考了某大佬的代码,先找到所有度为 1 的点,这些点的 s 就等于该点的邻接点,然后修改邻接点的 d 和 s,继续操作直到没有度为 1 的点。给出点的个数,每个点给出两个信息 d 和 s,d 表示度,s 表示与该点相邻的所有点的异或和,问这个图长啥样。,x y 不能重复,输出 y 的数量和 y 的值。原创 2023-07-12 16:29:31 · 96 阅读 · 0 评论 -
ZAFUACM - 7.9个人赛补题 A - C E G H
题目链接:https://codeforces.com/problemset/problem/495/B。原创 2023-07-10 23:46:29 · 72 阅读 · 1 评论 -
7-11 关键活动
然后,用early数组记录每个点(事件)的最早发生时间,假设有事件i和j,它们之间有关系j -> i,那么事件i的最早发生时间early[i] = max(early[i], early[j] + weight),(因为i前面的所有活动全部完成才能开始i,所以在前面的路径中选取最大值),这样到最后,early数组中的最大值就是整个工程的最早完成时间啦。首先,题目没有告诉我们从哪个点开始到哪个点结束,所以需要先记录一下每个点的入度和出度,入度为0的点是起始点,出度为0的点就是终止点啦。原创 2023-05-26 22:17:20 · 459 阅读 · 1 评论