图论----拓扑排序
长沙橘子猫
这个作者很懒,什么都没留下…
展开
-
hdu 565 入门题
点击打开题目 思路:当然是从大到小排序,分数才会最大,可是有限制不能完全按照大小排序,不过可以从已经排好的人去解除他人的限制,说白了,拓扑排序,很简单的一个题。#include #include #include using namespace std; int vis[100001]; vectorf[100001]; int n,m; void clear() { for(int原创 2017-09-29 19:44:20 · 312 阅读 · 0 评论 -
zoj 3780 Paint the Grid Again 拓扑排序
zoj 3780 题意:你可以一行全涂X,也可以一列全涂O,可以覆盖,输出字典序最小的一个涂色方案,使得从一个空白的n*n的矩形可以变成给定的矩形。 思路:正过来想不好想,可以反过来想,如果一行全为X,那么这一行肯定是最后涂的,那么就把这一行X全部擦掉,如果这一步造成某一列只剩下O,那么剩下的涂色方案中,这一列是最后涂的颜色,这么一想,有点像拓扑排序,设R数组度数为每一行O的个数,C数组度数为...原创 2018-08-27 20:08:29 · 210 阅读 · 0 评论 -
Codeforces Round #541 (Div. 2) BDEF题解
B. Draw! 题意:要你求总共有多少次比分相同。 思路:其实很水,就是求min(x[i],y[i])-max(x[i-1],y[i-1])+1的总和,但是直接这样写边界点可能会算重,因此写了个动态开点线段树。最后区间总和即答案。 #include<bits/stdc++.h> #define ll long long using namespace std; const i...原创 2019-02-24 00:23:33 · 247 阅读 · 1 评论 -
2019牛客暑期多校训练营(第五场)
今天队友不仅又爆零了,还送我几发罚时(下次再这样就要他请客谢罪) A digits 2 解法:算出n每为数字的和x之后,算出x与n的lcm,输出lcm / x 个n即可 #include<bits/stdc++.h> using namespace std; int gao(int x) { if (!x) return 0; return x % ...原创 2019-08-01 20:51:27 · 737 阅读 · 7 评论 -
Educational Codeforces Round 72 (Rated for Div. 2) DE题解
昨晚差点被D卡死,然后E题题意一直没读对,导致线段树水题给漏了 D. Coloring Edges 题意:给你一个有向图,你要给每一条边涂色,问最少需要多少种颜色,使得如果存在环,那么环上的颜色不能全部相同。 解法:首先我们用拓扑排序判环,无环一种颜色够了,如果有环,其实最多两种颜色足够,因为一个有向边构成的环,肯定存在有向边 u -> v,u 大于 v,也肯定存在有向边 u -> ...原创 2019-09-06 14:20:43 · 321 阅读 · 0 评论