摘要:
只参加了提高组。 初赛 赛前复习了一下哈夫曼编码然后打摆。 赛时前面的题会的都会了,不会的也带逻辑去蒙了,可能会错一两道吧。后面貌似都比较简单,但是第一个阅读程序我一开始看那个式子首先就把按位或排除了。。。后来手玩了一下发现既不是异或又不是且。。于是我就选了啥也不是,然后我第一个阅读程序扣 \(8\ 阅读全文
摘要:
少有的独自做出来的 *3000,还是很有成就感的! 集中注意力读题,首先注意到每一时刻牌数为 \(k\),而牌的种类也为 \(k\),如果实际牌的种类数小于 \(k\),那么是很简单的情况,现在考虑实际牌的种类数等于 \(k\) 的情况。 观察过程,首先发现如果有相同的牌直接丢就行,过程中还会出现没 阅读全文
摘要:
这个条件有点不好处理,考虑找一些好处理的性质来做这道题。 首先,大体思路是套路的,我们扫描 \(r\),去更新答案,然后我们考虑维护指针 \(l\),我们首先希望区间子图 \([l,r]\) 有且仅有一个简单环,考虑用 LCT 维护,具体是维护一棵树与一条边,这条边是多出来的边,显然这条边连着的点都 阅读全文
摘要:
感觉是一道很好的图论题。 首先,每个点只有一个钥匙,意味着我们点集的加入顺序是固定的。我们考虑暴力枚举每个起点,维护一个栈,考虑栈顶的强连通分量是否能连到下一个目标,如果能连到,就判断是否可以缩出新的强连通分量。 这样子我们就能暴力求出每个点作为起点的答案了。 显然,如果 \(x\) 能到达 \(y 阅读全文
摘要:
构造题做的太少了,感觉这题是非常厉害的构造题。 考虑菊花图。菊花图结构非常简单,我的做法是先让所有点颜色相同,这样如果两个人分别在叶子上就可以在根相遇,否则一定会有一人走到根上,再与叶子挨个匹配即可。 考虑链的做法。我们可以考虑把两个人往中间赶,他们肯定可以相遇。但是这种想法非常不好构造方案,想想有 阅读全文
摘要:
题目中涉及到了加法和异或,一个是进位加法,一个是不进位加法,显得很不可做。 但是我们注意到加法只加 \(1\),如果产生进位了,那会将末尾的所有 \(1\) 推平成 \(0\),而如果没有进位,则后面的位不会受到加法影响。 这启发我们挖掘这道题的过程。我们发现这个过程形似可以从低位推到高位,并且过程 阅读全文
摘要:
前两个月被这题薄纱了,最后特判了几个数据通过,现在来补。 先看简单版本,注意到后面的删除不会影响到前面的,而如果前面删除了 \(x\) 次,那么对于后面的任意一点 \(i\),只要是满足 \(i-2x\le a_i\le i\) 这个条件就可以删除。 结合数据范围容易想到设 \(f_{l,r,x}\ 阅读全文
摘要:
简单数据结构,但本蒟蒻觉得并不简单呐! 容易发现这题的几个好用的性质: 只要被第一个操作影响的都能够保持单调,容易一起维护。 操作都是全局的! 没被操作一影响的都可以表示为 \(ki+a_i\) 的形式。 利用这些性质,我们考虑把没被操作一影响的项放在 \(S\) 集合,被操作一影响的项放在 \(T 阅读全文
摘要:
优美的数据结构题。 这题先修改再查询,基本明确了要使用扫描线做这道题。 我们将第一维视为时间,那么我们对于一个操作,将其变为时刻 \(l_1\) 时,在区间 \([l_2,r_2]\) 加上 \(x\),时刻 \(r_1+1\) 时,在区间 \([l_2,r_2]\) 减去 \(x\)。 然后对于一 阅读全文
摘要:
发现一个序列 \(x\) 不止可以用一个 \(p\) 得到,肯定不能直接计数,考虑构造一个映射。 假如已经定下了 \(x\),我们通过一种固定的操作得到 \(p\),这样就能改为统计可以由操作得到的 \(p\) 的数量,他们同样唯一对应一个 \(x\)。 我们考虑枚举从 \(n\) 到 \(1\) 阅读全文