10 2018 档案
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1485 [算法] 我们不妨从1-2N依次选取奇数项 考虑到P2n-1 < P2n , 显然 , 当1至i中 , 不选的数 > 选了的数 , 不合法 那么 , 当一个序列满足 : 1-i中
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4033 [算法] 树形背包 时间复杂度 : O(N ^ 2) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2654 [算法] 给白色边都加上一个值,会使得最小生成树上的白边数量减少,不妨二分给白色边加上的值 , 检验答案时用Kruskal求最小生成树即可 时间复杂度 : O(NlogN) [代
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1179 [算法] 首先 , 将这张图缩点 , 然后 , SPFA最长路即可 时间复杂度 : O(KN) [代码]
阅读全文
摘要:[题目链接] https://www.luogu.org/problemnew/show/P2966 [算法] SPFA最短路 时间复杂度 : O(N ^ 2) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4318 [算法] 考虑如果已有x个1 , 那么 , 如果再增加一个1 将会对答案产生(x + 1) ^ 3 - x ^ 3 = 3x ^ 2 + 3x + 1的贡献 用Fi表示第i个数结
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2879 [算法] 首先 , 将每种食物建一个点 , 将每位厨师做的每一道菜建一个点 建图如下 : 1. 将原点与每种食物连一条流量为Ai , 费用为0的边 2. 将每种食物像每位厨师的每
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4653 [算法] 首先将区间按长度排序 那么 , 满足条件的一定是一段连续的区间 , [Li , Ri] , [Li+1,Ri+1] ... [Lj , Rj] 我们不妨枚举每一个L ,
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1070 [算法] 首先 , 我们发现 , 在倒数第i个修车会对答案产生i * k的贡献 将每辆车建一个点 , 每名技术人员建n个点 ,将车与技术人员连边 , 第i个技术人员的第j个点与第
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1189 [算法] 首先 , 答案具有单调性 , 不妨二分答案” 第mid秒是否可以完成疏散 ” 检验时 , 首先通过广度优先搜索BFS求出每扇门到每个空地的距离 然后建图 , 判断最大流
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1585 [算法] 一个最小割的经典模型 , 详见代码 时间复杂度 : O(dinic(2N , 2C)) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1875 [算法] 用f[i][j]表示现在在走了i步 , 在第j条边的方案数 矩阵加速 , 即可 时间复杂度 : O(N ^ 3logN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4819 [算法] 很明显的0 / 1分数规划问题 首先二分答案 , 显然 , 若 sigma(Aij - mid * Bij) >= 0 , 说明有比mid更优的解 用费用流 / KM算
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1880 [算法] 最短路 + 动态规划 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4397 [算法] 树状数组 时间复杂度 : O(QlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4098 [算法] 显然 , 回文路径中第i个字母的位置(x , y)必然满足 : x + y - 1 = i 用f[i][j][k]表示现在在第i步 , 左上的横坐标为j , 右下的横坐
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4093 [算法] 对于k个枢纽 , 分别在正向图和反向图上跑dijkstra最短路 , 即可 时间复杂度 : O(K(N + M) log N) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4392 [算法] 线段树 时间复杂度 : O(MlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1034 [算法] 考虑贪心 首先将两个数组升序排序 若当前最弱的 > 对方当前最弱的,打 若当前最强的 > 对方当前最强的,打 否则用最弱的去打对方最强的 时间复杂度 : O(NlogN
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4990 [算法] 首先记录b中每个数的出现位置 , 记为P 对于每个ai , 枚举(ai - 4) - (ai + 4) , 将Pj从大到小加入序列 然后求最长上升子序列即可 , 详见代
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5192 [算法] 维护树的直径,在树上离一个点最远的点一定是一条直径的端点。 在直径为(x , y)的树上加入一个叶子结点z,则新的直径必然为(x , y) , (x , z) , (y
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1192 [算法] 显然 , 答案为所有<=m的2的幂次 时间复杂度 : O(logN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4993 [算法] 动态规划 转移类似于求LCS [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3362 [算法] 带权并查集 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5141 [算法] 树形DP 时间复杂度 : O(N) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5140 [算法] 最短路 时间复杂度 : O(N^2) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5139 [算法] 二分答案 时间复杂度 : O(NlogN^2) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5142 [算法] 首先用RMQ预处理S数组的最大值 然后我们枚举右端点 , 通过二分求出合法的 , 最靠右的左端点 , 用这段区间的最大值更新答案 , 即可 时间复杂度 : O(Nlog
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2743 [算法] 首先预处理nxt[]数组 , 其中 , nxt[i]表示下一个和i号位颜色相同的位置 , 然后离线 , 将询问按左端点排序 , 每次将nxt[i]减一 , nxt[nx
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4551 [算法] 树链剖分 时间复杂度 : O(QlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4552 [算法] 首先 , 二分答案x , 将比x小的数看作1,比x大的数看作0 然后用线段树检验即可 时间复杂度 : O(MlogN^2) [代码]
阅读全文
摘要:[比赛链接] http://codeforces.com/contest/922 [题解] Problem A. Cloning Toys [算法] 当y = 0 , 不可以 当y = 1 , x不为0时 , 不可以 当 y - 1 <= x , (x - y + 1)为偶数时 , 可以 时间复杂度
阅读全文
摘要:[题目链接] http://codeforces.com/contest/839/problem/C [算法] 概率DP 时间复杂度 : O(N) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/1011/problem/E [算法] 裴蜀定理 : 设为n个整数,d是它们的最大公约数,那么存在整数 使得 显然 , 我们只需求出a1,a2...an模k意义下的最大公约数G,然后枚举G的倍数即可 时间复杂度 : O(Nl
阅读全文
摘要:[题目链接] https://codeforces.com/contest/545/problem/E [算法] 首先求 u 到所有结点的最短路 记录每个节点最短路径上的最后一条边 答案即为以u为根的一棵最短路径生成树 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/507/problem/E [算法] 首先BFS求出1到其余点的最短路 , N到其余点的最短路,记为distA[]和distB[] 显然 , 我们只需最大化求出的最短路上没有被破坏的边即可 , 不妨用f[i]表示现在在城市i
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4850 [算法] 首先对不等式进行移项 : hj <= hi + p - sqrt(|i - j|) p >= hj - hi + sqrt(|i - j|) 显然 , sqrt(|i
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4753 [算法] 很明显的分数规划 可以用树形动态规划(树形背包)检验答案 时间复杂度 : O(N^3logN) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/486/problem/B [算法] 显然 , 当Bi,j为0时 , 矩阵A的第i行和第j列所有数均为0 将其它元素填充为1 , 判断是否合法即可 时间复杂度 : O(N^3) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/425/problem/A [算法] 枚举最终序列的左端点和右端点 , 尝试用这段区间中小的数与区间外大的数交换 时间复杂度 : O(N^3logN) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/482/problem/B [算法] 显然 , 当qi二进制表示下第j位为1时 , [li,ri]中每个数二进制表示下的第j为也为1 根据这个性质 , 计算出要求的序列a, 然后用线段树检验序列是否合法即可 时间复杂度 :
阅读全文
摘要:[题目链接] https://codeforces.com/contest/482/problem/A [算法] 首先构造一个(k + 1)个数的序列 , 满足它们的差为1-k 对于i > k + 1,令Ai = i 时间复杂度 : O(N) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/problemset/problem/639/B [算法] 当d > n - 1或h > n - 1时 , 无解 当2h < d时无解 当d = 1 , n不为2时 , 无解 否则 , 我们先构造一条长度为h的链 , 然后 , 将一条(d
阅读全文
摘要:[题目链接] http://codeforces.com/contest/623/problem/A [算法] 首先 , 所有与其他节点都有连边的节点需标号为'b' 然后 , 我们任选一个节点 , 将其标号为'a' , 然后标记所以该节点能到达的节点 最后 , 我们需要检查这张图是否合法 , 只需枚
阅读全文
摘要:[题目链接] https://codeforces.com/contest/986/problem/E [算法] X到Y的路径积 , 可以转化为X到根的路径积乘Y到根的路径积 , 除以LCA到根的路径积 , 再除以LCA父节点到根的路径积 考虑如何计算根到X路径上每个点与Value的GCD之积 不妨
阅读全文
摘要:[题目链接] https://codeforces.com/contest/496/problem/E [算法] 按右端点排序 , 每个乐曲优先选取的左端点最大的演奏家 用std :: set维护贪心 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] http://codeforces.com/problemset/problem/1037/E [算法] 首先离线 , 将问题倒过来考虑 , 转化为 : 每次删除一条边 , 此时最多有多少人参加旅行 假设所有点都选取 , 那么 ,如果一个点的度数 < k , 显然这个点不能选 , 我们
阅读全文
摘要:[题目链接] http://codeforces.com/problemset/problem/1037/D [算法] 首先求出每个点的父节点 , 每棵子树的大小 然后判断BFS序是否合法即可 时间复杂度 : O(N) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/666/problem/B [算法] 首先 , 用BFS求出任意两点的最短路径 然后 , 我们用f[i][0-2]表示从i出发到达的最远三点 , g[i][0-2]表示到i距离最远的三个点 枚举b和c , 然后在枚举3 *
阅读全文
摘要:[题目链接] https://codeforces.com/contest/449/problem/B [算法] 最短路 时间复杂度 : O(N ^ 2) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/475/problem/B [算法] 建图后运行Tarjan算法 , 判断强连通分量数是否为1 时间复杂度 : O(NM) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/437/problem/C [算法] 按照点的权值从小到大删点为最优策略 每条边对答案的贡献为两个端点权值的最小值 时间复杂度 : O(N + M) [代码]
阅读全文
摘要:[比赛链接] https://codeforces.com/contest/1006 [题解] Problem A. Adjacent Replacements [算法] 将序列中的所有偶数替换为奇数即可 时间复杂度 : O(N) [代码] Problem B. Polycarp's Practic
阅读全文
摘要:[题目链接] https://codeforces.com/contest/986/problem/A [算法] 用dist(i,j)表示第i种食物运到第j个城市需要的最小代价 将所有特产为第i中食物的城市加入队列 , 进行广度优先搜索BFS 显然 , 对于每个城市 , 答案为到该城市代价前s小的食
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1059 [算法] 二分图最大匹配 时间复杂度 : O(N^3) [代码]
阅读全文
摘要:[题目链接] https://codeforces.com/contest/1051/problem/F [算法] 注意边数 - 点数 <= 20 , 我们不妨首先求出图的任意一棵生成树 , 不在生成树内的边最多有21条 , 这些边不同的端点最多有42个 对这些点分别运行Dijkstra最短路 回答
阅读全文

浙公网安备 33010602011771号