transformation 1506d epic cf

CF434E Furukawa Nagisa's Tree

CF434E Furukawa Nagisa's Tree 洛谷:CF434E Furukawa Nagisa's Tree Codeforces:CF434E Furukawa Nagisa's Tree Problem 冈崎朋也要送古河渚一棵点带点权的树。给定常数 \(k, x, y\),其中保 ......
Furukawa Nagisa 434E Tree 434

CF1178H Stock Exchange题解

CF1178H题解 分成两个问题解决 问题一:最小时间 发现具有单调性,于是二分,考虑怎么 \(check\) ,画几个函数图像之后看出,在最终时刻最大的\(n\) 个点,在 \(0\) 时刻必然要可以取到 问题二:最小交换次数 正常费用流建图,初始,终止时各一个,前缀和优化建边 具体的,是在排过序 ......
题解 Exchange 1178H Stock 1178

CF contest 1909 Pinely Round 3 (Div. 1 + Div. 2) 题解(Vanilla的掉分赛)

[Pinely Round 3 (Div. 1 + Div. 2) - Codeforces](https://codeforces.com/contest/1909) $$ \color{purple}\large\textbf{世界上只有一种真正的英雄主义,} $$ $$ \color{red}... ......
题解 Div contest Vanilla Pinely

CF1621G Weighted Increasing Subsequences

CF1621G Weighted Increasing Subsequences 你有一个长度为 \(n\) 的序列,定义 \(a\) 的一个长度为 \(k\) 的子序列为 \(a_{i_1},a_{i_2},\dots,a_{i_k}\)。由此,我们不难发现,\(a\) 的一个长度为 \(k\) ......
Subsequences Increasing Weighted 1621G 1621

CF983E

题目传送门 解题思路:倍增+树剖+树状数组 对于每次询问,我们可以看成是两个点都不断往上跳(如果一个点是另一个点的祖先则是只有一个跳),有一个很明显的贪心策略:每次都跳到能跳到的深度最小的点。然而一次一次往上跳可能被极端数据卡掉,所以要用倍增维护跳 \(2^i\) 次能跳到哪里。 然而两个点都跳到他 ......
983E 983 CF

CF1140G

居然差一点场切了。 首先可以将两棵树上对应的点看作一个点的两个不同状态考虑一个类似最短路的东西:设 \(dis_{i,j,0/1,0/1}\) 为树上 \(0/1\) 状态的 \(i\) 点到 \(0/1\) 状态的最短路。考虑怎样维护这个值。 由于是树上路径问题,容易发现设 \(k\) 为树上 \ ......
1140G 1140 CF

CF1536E

很强的题。 结论:每个非 \(0\) 点的值一定是它到最近的 \(0\) 的距离。 证明:记该点值为 \(x\),上文距离为 \(d\)。考虑反证。 若 \(x>d\)。 考虑该点到 \(0\) 的最短路。记路径上的点到该点的距离为 \(d'\),值为 \(x'\)。则 \(x'\) 最小能取到 \ ......
1536E 1536 CF

CF1768F

dp+根号分治,配得上省选题的难度。 一眼 dp,虽然暴力肯定过不了,但是把朴素转移先列出来绝对没坏处。 \[dp_i=\min\limits_{1\leq j<i}(dp_j+\min\limits_{j\leq k\leq i}a_k\times v) \]这个东西很难用 DS 维护,有 \(\ ......
1768F 1768 CF

CF850C

学习 SG 基础题。 首先发现每个质数之间是独立的,于是分成了若干个子游戏。 考虑如何计算每个子游戏的 SG 值。一开始没搞懂为什么可以状压,看了大佬代码才明白:对于一个质数 \(p\),\(p^k\) 对答案是否有影响,只和这个 \(k\) 是否出现有关。所以将 \(k\) 的出现状态情况成二进制 ......
850C 850 CF

CF1444C

可撤销并查集好题。 首先考虑如果已经确定选哪两组,该怎么判断。发现是一个二分图判定的问题,拓展域并查集即可。 那如果要求出所有可能的两组的答案怎么办。首先,如果两组中至少有一组,在只加入组内边时就已经不可能是二分图了,这种情况就显然是不行的。 否则,可以考虑预先加入所有组内的连边,枚举每一种出现过的 ......
1444C 1444 CF

CF870F

感觉完全没有 *2700? 看到题,猜测 \(\max dis\) 不会很大,于是按照路径种类分类讨论一下路径 \((i,j)\)。下设 \(f_i\) 为最小质因数,并且更下面的情况不包括上面的情况。 \(\gcd(i,j)>1\) 这种显然 \(dis=1\),数量则为 \(\sum\limit ......
870F 870 CF

CF1866K

李超线段树二次离线。 容易发现,将和某个点 \(x\) 相邻的边权翻若干倍后,直径所在位置有两种可能:经过或不经过该点。不经过可以跑一次直接求,否则还要分类讨论一下。 \(\operatorname{deg}_x=1\) 那么它会作为直径的一个端点。 否则 直径会从一条边进,另一条边出。 前者是简单 ......
1866K 1866 CF

CF119D

还是一道很综合的 string 练手题。 先来分析一下,将 \(B\) 按照答案分成三段,三段与 \(A\) 都有什么关系。 第一段:\(A\) 的一个子串。 第二段:\(A\) 的一段后缀翻转。 第三段:\(A\) 的一段前缀翻转。 我们大概率是要枚举其中一个的,其中第三段都能用 \(A,B\) ......
119D 119 CF

CF1217F

强制在线是诈骗,还是很有意思的。 首先,如果没有强制在线就是一个 SGT 分治板子。强制在线看起来做不了,但是发现 \(lastans=0/1\)。这启示我们不同的加边可能性不会太多。考虑先记录两种加边可能。 容易发现,如果当前时刻 \(j\) 可能操作 \((u,v)\),上一次可能的时刻是 \( ......
1217F 1217 CF

CF119D

还是一道很综合的 string 练手题。 先来分析一下,将 \(B\) 按照答案分成三段,三段与 \(A\) 都有什么关系。 第一段:\(A\) 的一个子串。 第二段:\(A\) 的一段后缀翻转。 第三段:\(A\) 的一段前缀翻转。 我们大概率是要枚举其中一个的,其中第三段都能用 \(A,B\) ......
119D 119 CF

CF1178H

cdqz 两道题都很有意思啊!顺便是第一篇 *3500 题解。 先考虑第一问。 显然有单调性,所以可以二分。cdqz 这是二分专题吗 Lemma 1:所有操作都在 \(0\) 和 \(t\) 时刻进行。 Proof:这是若干个一次函数,最大或最小值都会在端点处取得。所以是显然的。 接下来你就要使你在 ......
1178H 1178 CF

CF1055F Tree and XOR

这道题代码虽然比较短,但花了我整整一天才过,太菜了 这是 CF241B 的加强版,但是有点不同,因为 CF241B 后半部分求前 \(k\) 大的和没法优化了,而这道题能把前面的求第 \(k\) 小时间复杂度优化到单 log ,但是需要注意这道题开 trie 完全开不下,所以肯定没法 trie 上二 ......
1055F 1055 Tree and XOR

CF1883G2 Dances (Hard Version)

Problem - D2 - Codeforces Dances (Hard Version) - 洛谷 Hint1: 对于 \(C[i]\) 的答案上界和下界分别是多少? Hint1.1: 记 \(C[i]_1\) 时的答案 \(ans\),答案范围显然是 \([ans,ans+1]\) Hint ......
Version Dances 1883G 1883 Hard

CF1889C2 Doremy's Drying Plan (Hard Version)

Problem - C2 - Codeforces Doremy's Drying Plan (Hard Version) - 洛谷 很好的一道 \(dp\) 题,无论是 \(dp\) 状态还是优化都很思维 我们设 \(dp_{i,j}\) 表示考虑了前 \(i\) 个城市,第 \(i\) 个城市干 ......
Version Doremy Drying 1889C 1889

CF1761E Make It Connected记录

题目链接:https://codeforces.com/contest/1761/problem/E 题意简述 以邻接矩阵的形式给你一张无向图。你可以执行如下操作: 选定节点 \(u\)。对所有其它节点 \(v\),翻转 \(u\) 与 \(v\) 的连边状态。 给出一种花费操作最少的方案,使图连通 ......
Connected 1761E 1761 Make CF

CF1726G A Certain Magical Party

CF1726G A Certain Magical Party 聚会上有 \(n\) 个人,第 \(i\) 个人有一个开心指数 \(a_i\) 。 每个人都有一种确定的个性,这种个性可以用一个二进制整数 \(b\) 来表示。如果 \(b=0\) ,那么意味着如果他将一个故事讲给一个开心指数比他低的人 ......
Certain Magical 1726G Party 1726

transformer 预测 ENSO

第一篇《A self-attention–based neural network for threedimensional multivariate modeling and its skillful ENSO predictions 》 发表在Sci Adv. 张荣华 起名3D-Geoforme ......
transformer ENSO

CF241B Friends

异或粽子的加强版,时间复杂度是 \(O(n log^2 w)\) ,其中 \(w\) 是值域 \(2^{30}\) ,原来的是和 \(k\) 有关的,相当于是 CF241B 的代码通过不了异或粽子,异或粽子的代码通过不了 CF241B(雾 先考虑一个整体的思路,求前 \(k\) 大,先需要求第 \( ......
Friends 241B 241 CF

CF1881F Minimum Maximum Distance 题解

因为白点对 \(f_i\) 没有贡献,所以可以重构出一棵原树的子树,使得所有的叶子都为标记点且标记点数量不变(没有删去标记点)。因为没有标记被删去且结构不变,所以这棵树的答案与原树答案相同。 现在,对于所有节点,到它距离最大的标记点一定在叶子上。那么问题就变为:求出树上任意一点到所有叶子节点的最大距 ......
题解 Distance Minimum Maximum 1881F

CF1912H Hypercatapult Commute记录

题目链接:https://codeforces.com/problemset/problem/1912/H 题意 有 \(n\) 个城市,\(m\) 个人。第 \(i\) 人想从城市 \(a_i\) 移动到 \(b_i\)。每个城市每天可以使用至多一次传送胶囊,可以将任意数目的人从该城市传送到任意一 ......
Hypercatapult Commute 1912H 1912 CF

[CF17E] Palisection 题解

[CF17E] Palisection 题解 思路 直接统计相交的字符串很难数,考虑正难则反。 用总共的回文串对数减去相离的回文串个数。 设总共有 \(tot\) 个回文串,用 manacher 跑出来每个位置的最大回文半径后,使用差分的技巧保存两个数组: \(f_i\) 表示以 \(i\) 为开头 ......
题解 Palisection 17E CF 17

CF187A 题解

原题传送门 题目大意 如题意翻译。 思路分析 很水的一道题目,可以将第一个排列 \(a\) 看作最终排列,接下来每输入一个数,让它与 \(a_m\) 进行比较,直到两个排列相同。 最后看题目范围,\(1≤n≤2\times10^5\),时间复杂度 \(\mathcal{O(n)}\),空间复杂度 \ ......
题解 187A 187 CF

CF1912L 题解

原题传送门 题目大意 有一个仅有 0 和 L 构成的序列,求出一种方案,使得左部分的 0 数量不等于右部分的 O 数量,且左部分的 L 数量不等于右部分的 L 数量,若不存在输出 -1。 思路分析 首先看题目范围,\(2≤n≤200\),数据很小,考虑暴力。 可以使用字符串截取函数 s.substr ......
题解 1912L 1912 CF

[Codeforces] CF1579C Ticks

CF1579C Ticks 题意 \(n \times m\) 的棋盘,左上角和右下角坐标分别为 \((1, 1), (n, m)\),一开始每个格子为白色。 每次操作可以选择一个格子 \((x, y)\) 以及左上角和右上角方向的 \(d\) 个连续格子染成黑色,并将其称为一个大小为 \(d\) ......
Codeforces 1579C Ticks 1579 CF

[Codeforces] CF1817A Almost Increasing Subsequence

CF1817A Almost Increasing Subsequence 题意 给定长度为 \(n\) 一个序列 \(a\) 以及 \(q\) 次询问,每次询问给出 \(l\) 和 \(r\),找出序列 \(a\) 在 \([l,r]\) 内最长的几乎递增子序列。 对于几乎递增的定义:如果一个序列 ......