Codeforces 553C Love Triangles(图论)】的更多相关文章

Solution: 比较好的图论的题. 要做这一题,首先要分析love关系和hate关系中,love关系具有传递性.更关键的一点,hate关系是不能成奇环的. 看到没有奇环很自然想到二分图的特性. 那么当前的任务是先二分染色,判断给定的边是否有冲突,并且缩点. 假设缩完点后图中只身下k个点.这k个点的hate关系满足二分图的关系. 那么计算组合数,共2^(k-1)种方法. #include <bits/stdc++.h> using namespace std; ; typedef pair&…
[题目链接]:http://codeforces.com/problemset/problem/553/C [题意] 给你n个点,m条边; 每种边有2两种类型; 让你补充剩下的边,构造一个完全图; 使得这个图中任意3个点的3条边中,0类型的边有2条,1类型的边有一条,或者全都是1类型的边; 问你有多少种构图方案; [题解] 首先,可以肯定,那些1类型的边,连成的联通快,内部必然都是1类型的边;即一个团; 可以构成很多个团; 然后其他的团内的点,和某个团内的点的边只能都是同一种类型. (即全是0边…
http://codeforces.com/problemset/problem/15/E 题意: 从H点走下去,再走回H点,不能走重复路径,且路径不能把黑色三角形包围的方案数 中间的黑色三角形把整张图分成两部分 即如果想要走回H点,除了只第一行的路径,必经过上面的蓝色点 否则一定会包围黑色的三角形 设从H往左下走,又回到蓝色点的方案数为S 那么 ans=(S*S+1)* 2 S*S 是因为左右两边是等价的 加1是不经过蓝色点的那一条路径 再乘2是先向左和先向右是两种方案 如何求S? 将两行看做…
Little Petya likes to draw. He drew N red and M blue points on the plane in such a way that no three points lie on the same line. Now he wonders what is the number of distinct triangles with vertices in red points which do not contain any blue point…
[题目链接]:http://codeforces.com/problemset/problem/229/C [题意] 给你一张完全图; 然后1个人从中选择m条边; 然后另外一个人从中选择剩余的n*(n-1)/2-m条边; 在这两个人分别选出的两张图中; 问你构成的长度为3的环的个数; [题解] 先考虑完全图; 完全图中长度为3的环的个数为 C(n,3) 然后再考虑"分割"的这一过程毁掉了多少个环; 考虑A图中的某个点x; 假设它的度数为du[x]; 则B图中对应的点x 它的度数应该为n…
Solution: 假设已经选了所有的点. 如果从中删掉一个点,那么其它所有点的分值只可能减少或者不变. 如果要使若干步删除后最小的分值变大,那么删掉的点集中肯定要包含当前分值最小的点. 所以每次删掉一个点都记录一次最大值.取最大的情况输出就好. #include <bits/stdc++.h> using namespace std; ; vector<int> E[N], out; set<pair<double, int>> s; int deg[N]…
题意: 给出平面上n个点,问能在其中选出6个点,组成两个三角形,使得其互不相交 问有多少种选法 大致思路  考虑枚举一条直线,将所有得点分为左右两部分,其中有两个点在直线上, 以这两个点为顶点,分别统计左边有多少个三角形,右边有多少个三角形即可. 枚举直线时,枚举一个点,然后对其他点极角排序, 枚举另一个点,可快速算出该直线左右两边的点的数量(二分,叉积),组合一下即可. /* : . : i i . i : . i . i . i : . i . i i : . . . . . . . ..…
题目链接:点击打开链接 题意: 问有多少个与矩阵边平行的直角三角形.且三角形的3个顶点都是* 对于 L形 或者_| 形的三角形.我们仅仅须要知道在_ 上方有多少个*就可以,下底边则任取2个 所以用l[i]表示 第i列的*的个数 然后扫完一行,再把这行的*更新到 l[] 里 从上到下扫一遍得到全部 L _| 的三角形 再从下到上扫一遍 得到 ~| 和 |~ 的. . #include <stdio.h> #include <string.h> #include <stdlib.…
codeforces 思路 我顺着图论的标签点进去的,却没想到-- 可以发现排列内每一个数都是集合里的数异或出来的. 考虑答案的上界是多少.如果能用小于\(2^k\)的数构造出\([0,2^k-1]\)内所有的数,那么答案就对这个\(k\)取\(\max\).很显然这一定是上界. 考虑能不能构造出一组解.把\([1,2^k-1]\)的数拎出来插入线性基里得到一组极大线性无关组,那么显然它的\(size\)就是\(k\).由于它线性无关,所以任意选取一个子集得到的异或和都不会相同,所以考虑把\(0…
Fighting for Triangles 题目连接: http://codeforces.com/gym/100015/attachments Description Andy and Ralph are playing a two-player game on a triangular board that looks like the following: 1 2 3 4 5 7 8 6 9 10 11 13 14 16 17 12 15 18 At each turn, a playe…