摘要: F.小Z的树迁移 思路 赛事没想出来如何做,可以发现,对于一个节点u,走d步所走的最远距离即为 深度为depthu+d且位于u的子树之中的节点距离根节点距离的最大值 再减去节点u距离根节点的距离即为结果 当我们查询时该如何做? 第一步,我们先给每个节点按照dfs序进行编号,这样保证了同一子树的节点的 阅读全文
posted @ 2024-11-11 21:17 MGNisme 阅读(17) 评论(0) 推荐(0)
摘要: G.小苯的数位MEX 思路 比较模板的数位dp,虽然我不会 代码 #include <bits/stdc++.h> using namespace std; #define endl '\n' using ll = long long; using ull = unsigned long long; 阅读全文
posted @ 2024-11-06 22:05 MGNisme 阅读(20) 评论(0) 推荐(0)
摘要: D. I Love 1543 思路 模拟,判断循环字符串中"1534"的个数,由于"1534"中每个字符都不相同,所以直接判断\(s+s[1...3]\)中有多少个"1534"就行了。 对于判断任意的子串的个数,只需要开始判断一次原串的子串个数,然后逐一计算把原串第一位字符移动到末尾的贡献值就行了( 阅读全文
posted @ 2024-11-04 10:46 MGNisme 阅读(30) 评论(0) 推荐(0)
摘要: E - Permute K times 2 思路 这题由于序列P是一个排列,所以将P表示成一个图的时候,这个图将由\(m\)个环构成 对于每个环上的点来说,第一回合它会移动到距离它为\(2\)的点上,距离它为\(2\)的点同时也以相同的方式移动,那么第二回合,它就会移动到距离它为\(4\)的点上,得 阅读全文
posted @ 2024-10-26 22:26 MGNisme 阅读(169) 评论(0) 推荐(0)
摘要: F. Kosuke's Sloth 思路 由皮亚诺定理可知,模数为\(k\)的循环节长度不会超过\(6k\),所以我们可以暴力枚举找到第一个\(k\)的倍数的位置\(p\),答案即为\(pn\),时间复杂度复杂度\(O(m)\) 相关证明: Pisano Period - Shiina_Mashir 阅读全文
posted @ 2024-10-25 23:46 MGNisme 阅读(75) 评论(0) 推荐(0)
摘要: G - Add and Multiply Queries 思路 开始直接用的线段树,写完才意识到是假的 由于题目说答案不会超过\(10^{18}\),所以一个询问区间内的大于2的b的个数不超过64个,这样一个区间内大于2的b的就可以把a分成不超过64个连续的区间,用树状数组维护,b大于2的位置可以用 阅读全文
posted @ 2024-10-24 21:43 MGNisme 阅读(27) 评论(0) 推荐(0)
摘要: G - Road Blocked 2 思路 只有当一条边是从\(1\)到\(n\)的所有最短路构成的图的桥时,去掉这条边,最短路才会变大 怎么判断一条边是否可以构成最短路呢,比如求\(1\)到\(n\)的最短路,分别求出dist1(源点为1)和distn(源点为n),当一条边(端点分别为a,b,边长 阅读全文
posted @ 2024-10-21 10:57 MGNisme 阅读(17) 评论(0) 推荐(0)
摘要: F - Road Blocked 思路 \(n\)的范围很小,考虑用\(floyd\)算法,对查询进行倒序的离线处理,原题目的删边就变为了增加边,每次增加边更新仅为\(O(n^2)\) 代码 struct Edge{ int a,b,c; }; //离线处理,倒序进行,操作1就变为了加边操作,更新以 阅读全文
posted @ 2024-10-14 22:31 MGNisme 阅读(39) 评论(0) 推荐(0)
摘要: E - K-th Largest Connected Components 思路 由于要求求所求点第\(k\)大点,所以在每个点上开一个\(set\)就可以了,因为\(k\)小于\(10\)所以直接遍历取第\(k\)大就行了,当连接两点的时候,使用并查集维护,因为要合并,但直接合并会超时,所以使用启 阅读全文
posted @ 2024-09-21 22:40 MGNisme 阅读(32) 评论(0) 推荐(0)
摘要: abc365 E-Xor Sigma Problem 思路 本题首先可以想到用前缀异或和维护,我们记作\(b_i=a_1\oplus a_2 \oplus ··· \oplus a_i\),所求的式子就变成了\(\sum^{n-2}_{i=0}\sum^n_{j=i+2}b_i\oplus b_j\ 阅读全文
posted @ 2024-09-06 22:08 MGNisme 阅读(25) 评论(0) 推荐(0)