01 2022 档案
CF 1624G - MinOr Tree
摘要:题目链接: https://codeforces.com/problemset/problem/1624/G 题目大意: 一棵 \(spanning tree\) 的 \(ority\) 就是它所有边权的位或值,现在给出一个图,求出里面 \(spanning tree\) 的 \(ority\) 的
阅读全文
最小生成树(MST)
摘要:Minimum Spanning Tree Prim 在稠密图中比 Kruskal 优,在稀疏图中比 Kruskal 劣。Prim 是以更新过的节点的连边找最小值,Kruskal 是直接将边排序。 Prim 时间复杂度:\(O(n^2)\),通过堆优化可以变成 \(O(mlogn)\) #inclu
阅读全文
COMPFEST 13 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred)
摘要:比赛链接: https://codeforces.com/contest/1575 A. Another Sorting Problem 题意: $n$ 个长为 $m$ 的字符串,对它们进行排序,比较奇数位时要实现递增,偶数位要递减。 思路: 直接 sort 就好了。 代码: #include <b
阅读全文
Educational Codeforces Round 115 (Rated for Div. 2)
摘要:2400 暴力 + dp
阅读全文
CF 1608C - Game Master
摘要:题目链接: https://codeforces.com/problemset/problem/1608/C 题目大意: $n$ 个玩家玩一个游戏,游戏中有两个地图,每个玩家在两个地图中的能力值已知,同一个地图中能力值大的玩家可以打赢能力值小的玩家(同一地图中不会出现能力值相同的玩家),现组织一场比
阅读全文
CF 1609D - Social Network
摘要:题目链接: https://codeforces.com/problemset/problem/1609/D 题目大意: 有 \(n\) 个人参与会议,他们相互之间不认识,\(William\) 有 \(d\) 条介绍关系,每条关系就是让参加会议的 \(x\) 和 \(y\) 这两个人相互认识,输出
阅读全文
CF 1625C - Road Optimization
摘要:题目链接: https://codeforces.com/problemset/problem/1625/C 题目大意: 在一条长为 \(l\) 的公路上有 \(n\) 个路标,第 \(i\) 个路标在第 \(d_i\) 米处,限速 \(a_i\),意味着在这个路标到下一个路标之间的路段最快速度是
阅读全文
CF 1622D - Shuffle
摘要:题目链接: https://codeforces.com/problemset/problem/1622/D 题目大意: 给定一个只含01的字符串,你可以选择其中一个包含 \(k\) 个 1 的子串,然后对这个子串重新排序,计算可以获得多少个不同的字符串。 思路: 因为符合条件的子串有可能有很多个,
阅读全文
CF 1624D - Palindromes Coloring
摘要:题目链接: https://codeforces.com/problemset/problem/1624/D 题目大意: 长为 \(n\) 的字符串,有 \(k\) 种颜色,对字符串进行染色,每种颜色都要出现,但不用每个字符都染色。同一种颜色的字符构成要构成一个回文字符串,求能获得的回文子串中最短的
阅读全文
排序
摘要:1.快速排序 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; int a[N], n; void quickSort(int l, int r){ int key = a[(l + r) / 2], i =
阅读全文
CF 1591D - Yet Another Sorting Problem
摘要:题目链接: https://codeforces.com/problemset/problem/1591/D 题目大意: 给定一个长度为 \(n\) 的序列,可以选择其中的一个三元组 \((i, j, k)\),按顺序移动 \(i -> j -> k -> i\),可以进行任意次该操作,判断是否能使
阅读全文
洛谷 P1908 逆序对
摘要:题目链接: https://www.luogu.com.cn/problem/P1908 题目大意: 给长为 n 的序列,求序列中逆序对的数目 思路: 一、 归并: #include <bits/stdc++.h> using namespace std; #define LL long long
阅读全文
树状数组
摘要:单点修改,区间查询 #include <bits/stdc++.h> using namespace std; using LL = long long; struct Fenwick{ int n; vector<int> a; Fenwick(int n) : n(n), a(n + 1) {}
阅读全文
CF 1266E - Spaceship Solitaire
摘要:题目链接: https://codeforces.com/problemset/problem/1266/E 题目大意: 在游戏中要造宇宙飞船,需要 \(n\) 种材料,第 \(i\) 种材料需要 \(a_i\) 个。游戏更新了 \(q\) 个回合,每个回合会出现一个新的里程碑 (s, t, u),
阅读全文
CF 1266D - Decreasing Debts
摘要:题目链接: https://codeforces.com/problemset/problem/1266/D 题目大意: 有 \(n\) 个人,有 \(m\) 条债务关系,定义 \(d(a, b)\) 表示 \(a\) 欠 \(b\) 块钱,如果 \(c\) = 0,那么就相当于没有债务关系,现在想
阅读全文
链式前向星
摘要:head 记录了从每个节点出发的第一条边在 ver 和 edge 数组中的储存位置 ver 记录了每条边的终点 edge 记录每条边的边权 next 模拟了链表指针 //存图 void add(int x, int y, int z){ //x:起点 y:终点 z:权值 ver[++tot] = y
阅读全文
The 18th Zhejiang Provincial Collegiate Programming Contest(队内训练)(replay)
摘要:比赛过程总结(个人记忆,有些细节也忘了): 刚开始的时候,从头开始扫了一遍题目,感觉 A,C,E,F,J,L 可以做,先选择开了 L,看了一会儿,wcj 觉得有思路了,于是他和 wd 讲解(我没懂),然后我就放心去看了一下 A(这么简单?迟迟不敢确定,就又看了两遍),然后觉得就是水题,于是直接讲了一
阅读全文
CF 1620D - Exact Change
摘要:题目链接: https://codeforces.com/problemset/problem/1620/D 题目大意: 商店有 \(n\) 个物品,你有1,2,3三个面值的硬币,问最少需要带多少硬币能买商店中的任何一件物品。 思路: 容易想到,每个物品最优的策略应该是用 \(\lfloor x /
阅读全文
CF 1620C - BA-String
摘要:题目链接: https://codeforces.com/problemset/problem/1620/C 题目大意: 给定一个数 \(k\) 和一个由 'a' 和 * 构成的长为 \(n\) 的字符串,字符串中每一个 * 可以被 0 到 \(k\) 个 'b' 替换,要求输出第 \(x\) 小的
阅读全文
CF 1616D - Keep the Average High
摘要:题目链接: https://codeforces.com/problemset/problem/1616/D 题目大意: 给定一个长度为 \(n\) 的序列和一个 \(x\),选择序列中的一些元素,使序列中所有子区间 \(a_l\),\(a_{l + 1}\),...,\(a_r\) 满足 \(\s
阅读全文
CF 1269D - Domino for Young
摘要:题目链接: https://codeforces.com/problemset/problem/1269/D 题目大意: 给定非递增序列构成的杨氏图,问最多能放下多少个 1 * 2 或 2 * 1 的不重叠的矩形。 思路: 采用染色法,将一个矩形分解为一个 黑色格子 + 一个 白色格子。整个杨氏图都
阅读全文
CF 1622C - Set or Decrease
摘要:题目链接: https://codeforces.com/problemset/problem/1622/C 题目大意: 给定一个序列 \(a_1\),\(a_2\),\(a_3\) ... \(a_n\),和一个 \(k\),一步操作中你可以选择一个 \(a_i\) 减去 1,或者让 \(a_i\
阅读全文