10 2025 档案
摘要:AGC001D 很早之前看到一度怀疑是错题,然后今天发现我看错题了,原来是说这个序列只包含一种元素啊…… 一个 \(l\) 长的回文串定下了 \(\frac{l}{2}\) 的等价关系,可以视作连边,于是转化出图论模型。 考虑无解是为什么,注意到奇数长度的回文串很影响我们,拉出来分析,发现一个奇数长
        阅读全文
                
摘要:jly 讲的分治做法。 首先这个可划分的段数 \(k\) 的数量显然就是最多划分的段数 \(k\),因为 \(k\) 段的方案可以选两个相邻的段合并得到 \(k-1\) 的方案。 把所有数减一,这样原题的最小缺失元素就是 \(\operatorname{MEX}\)。 考虑一个序列的 \(\oper
        阅读全文
                
摘要:QOJ9937 首先发现可以直接 \(n-m\) 放到 \(n\) 把问题转化为 \(m=0\)。 一个尝试是分组,但是分两组是没办法构造的,于是考虑分三组,\(\{1,2,\cdots,n/3\},{n/3+1,\cdots,n/3*2},{n/3*2+1,\cdots,n}\)。 观察一下发现只
        阅读全文
                
摘要:CF1982F 一个想法是找一段前缀,满足其最大值小于等于后缀最小值,然后再做一次后缀的,而且要求了选出的前后缀都不将。 尝试做一下,发现前面这个可以双老哥二分出来,后面这个则可以直接维护 \(a_i>a_{i+1}\) 的位置来求。 那直接取较紧的约束就好了,但发现双老哥过不去。 注意到我们可以先
        阅读全文
                
摘要:CF238E 首先我们虽然不知道路径长啥样,但肯定能求出必经点,而且我们感觉只能在必经点等到车。 然后就发现这个东西看着就很能做了,记录 \(f(i,j)\) 为在点 \(i\) 且在 \(j\) 列车上,到终点还有多少步,把必经点抓出来倒推即可。 然而这个东西是错的,发现会被一些结构卡掉,比如 \
        阅读全文
                
摘要:QOJ5819 可以写出 \(ct_i+x_i\le ct_j+x_j\wedge ct_i-x_i\le ct_j-x_j\wedge t_i\le t_j\) 这样的约束,所以地皮就是三维数点。 感觉这仨限制很特殊啊,发现转一下坐标轴后可以砍一个,于是做完了。 P6680 考虑最小点,删除之后是
        阅读全文
                
摘要:QOJ9903 “只经过某些点”考虑 Floyd,这题就直接拿分治把外面的拉进来跑。 CF2154F2 考虑给出排列的逆排列,这里面最多一对逆序对。 如果已确定的部分没有逆序对,那就能枚举(可能的)逆序对在哪两个数间,然后需要对前后的限制(\(a_i\) 前的数要有 \(b_i\) 个)做一个归并。
        阅读全文
                
摘要:ARC204D 首先是注意到我们不希望操作过于混乱,而一直操作末尾可以稳定删除末尾,否则呢?错一位之后再做删除末尾就可以删除开头。 那么就可能会想我们先做一段删除末尾到 R,再删前面某个位置,就可以一直删开头到 L。 然后计算发现这个位置 \(x\) 是有要求的,他会需要 \(R-L+2<L\) 才
        阅读全文
                
摘要:P13725 采取神人的方法:考虑求 \(q(s,t)\) 表示一个 \(f(P)=s,f(Q)=t\) 的答案,然后做容斥。 答案肯定是长成 \(\sum q(s,t)\times val(s,t)\) 的样子,然后你可以高斯消元打出容斥系数(?)或者有理有据地说明它就是 \((-1)^{|s|+
        阅读全文
                
摘要:AGC029B 直接做是一般图匹配,那么想这个能不能是二分图。 把相同的值缩到一起,发现确实没有奇环,但还是不能跑。 想了想较大的数貌似更不容易满足,然后写了个从大取到小的贪心就对了。 为什么呢?哦,这是一棵树! CF936D 一个稍微思考了一点的人会掉进的陷阱:可能坦克会在前面一段把后面某段的障碍
        阅读全文
                
摘要:QOJ13509 这个题加强到求 \(L\sim R\) 的每个数,虽然其实差不大。 考虑我们求的东西其实本质是 \(f(n)=\sum\limits_{i\mid n}\sum\limits_{j\mid (i-1)}[\gcd(i,j)=1]\),首先后面这个 \(\gcd(i,j)=1\) 会
        阅读全文
                
摘要:CF1942H 大概要做的就是把一些 \(a\) 分给一些 \(b\) 和 \(c\),且 \(b\) 可以从祖先和儿子的 \(a\) 拿,\(c\) 还能从子树拿。 建模为二分图匹配,用霍尔定理判定,求解 \(\min\limits_{S}{a_S-b_S-c_S}\)。 设 \(f_{i,0}\
        阅读全文
                
摘要:QOJ903 这个题神了。 路径是个全局信息,这显然是不利于我们做的,所需的状态空间很大。 这个题用到了一种很神秘的方法来把这个全局信息局部化。 具体地:我们设 \(f_u\) 为 \(u\) 子树内选路径的贡献和,考虑求 \(f_u\)。 首先记 \(sum_u=\sum f_v\),那么 \(f
        阅读全文
                
摘要:CF2146F sort 函数就是冒泡排序的轮数,而冒泡排序每轮让所有位置逆序对减一,直到全部非正。 因此记 \(f_i=\sum\limits_{j<i}[p_j>p_i]\),那么 sort 就是 \(f_i\) 的最大值,而 \(b_i\) 只涉及到前缀的 \(f_i\),\(f_i\) 同样
        阅读全文
                
摘要:2146E 考虑求出区间 \(\operatorname{MEX}\),然而发现没有什么好的作用。 注意到右端点固定,转而考虑值域,发现左端点会被不同的 \(\operatorname{MEX}\) 分段。 显然一个段只考虑最长的,因此考虑维护 \(\operatorname{MEX}\) 为不同值
        阅读全文
                
摘要:分段 转最大或问题,然后有 \(\mathcal{O}(V\lg V)\) 做法! 具体地,标记每个数的子集,然后对于查询的数进行贪心。 记录到当前位截至时来自被选择数的 1,若查询的数这一位是 0,那么看被选择的数在这一位也为 1 是否被标记。 标记时发现子集都被标记了就可以走了,可以证明复杂度是
        阅读全文
                
摘要:QOJ10354 比较机械地写个求和,容易看出做法应当是先定黑点,然后算这个局面下黑边的贡献。 如果一条合法边染黑,那么贡献 \(m+1\),否则 \(1\)。 发现不合法边一定是链,于是枚举链的端点计算,但是需要容斥。 我不太会链的容斥,不过这个题上我推出来发现可以这样:考虑每对端点,只会在自己及
        阅读全文
                
摘要:今日份收获是什么呢?两个做法阈值分值,增量维护路径,保证一步控制,外部乘兄弟的换根,以及早睡晚起可以逃一次早自习(划掉)。 感知了一下,交互这一块反而像二分这样的东西用得少一点,增量这种更多,因为信息更密集,当然明显的对数还是不要犯唐了。 CF750F 一开始想直接 bfs,但这个只有初始点深度比较
        阅读全文
                
摘要:CF865D 贪心是当前挑一个最小的买入点卖掉。 反悔是把不卖这一天且买入点是这一天用掉的插入决策。 P4053 考虑按报废时间贪,如果我们直接修就不会来,就要放弃前面的。 不想考虑这个要不要修,先假定全都修,每次发现修不回来,就删去修得最久的那个。 P3826 先认为每天只能卖当天过期的蔬菜,以天
        阅读全文
                
摘要:神秘网络流题单这一块。 P5192 上下界最大流有两种写法。 考虑我们加的边 \((t,s,+\infty)\),起到了一个把原汇点平凡化的作用。 原网络中跑过的流量就相当于这条边上的流量,而这部分也是用于平衡流量的流量。 那么把可行流扩展到最大流的时候,可以选择把这条边删去,然后就只能在已经平衡的
        阅读全文
                
摘要:将军说了,学习笔记一定要有头图! 线性空间 Vector Space 要求 \(\mathbf{F}\) 上的 \(\mathbf{V}\),有以下运算: \(\mathbf{V}+\mathbf{V}\to\mathbf{V}\); \(\mathbf{F}\times\mathbf{V}\to\
        阅读全文
                

浙公网安备 33010602011771号