题意: 给出平面上n个点,问能在其中选出6个点,组成两个三角形,使得其互不相交 问有多少种选法 大致思路  考虑枚举一条直线,将所有得点分为左右两部分,其中有两个点在直线上, 以这两个点为顶点,分别统计左边有多少个三角形,右边有多少个三角形即可. 枚举直线时,枚举一个点,然后对其他点极角排序, 枚举另一个点,可快速算出该直线左右两边的点的数量(二分,叉积),组合一下即可. /* : . : i i . i : . i . i . i : . i . i i : . . . . . . . ..…
A point belongs to a triangle if it lies inside the triangle or on one of its sides. Two triangles are disjoint if there is no point on the plane that belongs to both triangles. You are given nn points on the plane. No two points coincide and no thre…
http://codeforces.com/problemset/problem/15/E 题意: 从H点走下去,再走回H点,不能走重复路径,且路径不能把黑色三角形包围的方案数 中间的黑色三角形把整张图分成两部分 即如果想要走回H点,除了只第一行的路径,必经过上面的蓝色点 否则一定会包围黑色的三角形 设从H往左下走,又回到蓝色点的方案数为S 那么 ans=(S*S+1)* 2 S*S 是因为左右两边是等价的 加1是不经过蓝色点的那一条路径 再乘2是先向左和先向右是两种方案 如何求S? 将两行看做…
题目链接:http://codeforces.com/problemset/problem/793/C 题目大意:给你一个捕鼠器坐标,和各个老鼠的的坐标以及相应坐标的移动速度,问你是否存在一个时间点可以关闭捕鼠器抓住所有的老鼠,误差不能超过1e-6. 解题思路:可以把每个老鼠进入捕鼠器的时间和出捕鼠器的时间计算出来,那就可以把一只进出捕鼠器时间当成一个集合,把各个集合求交集得到的就是最后可以捕到所有老鼠的时间范围,再取交集左边界时间就可以了. 千万要注意一点:老鼠不能在边界上被捕捉,表示之前没看…
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…
https://codeforc.es/contest/77/problem/B 用求根公式得到: \(p-4q\geq0\) 换成熟悉的元: \(y-4x\geq0\) 其中: \(x:[-b,b],\;y:[0,a]\) 那么画个图就发现其实就要算一下面积. 需要注意的是面积为0的情况下,就退化成线段上的几何概型甚至就一个点了. 草,printf里面%f不会自动把1转换成浮点数,会输出0.以后所有浮点都加上小数点!都第几次了? void TestCase(int ti){ double a,…
[题目链接]: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: 比较好的图论的题. 要做这一题,首先要分析love关系和hate关系中,love关系具有传递性.更关键的一点,hate关系是不能成奇环的. 看到没有奇环很自然想到二分图的特性. 那么当前的任务是先二分染色,判断给定的边是否有冲突,并且缩点. 假设缩完点后图中只身下k个点.这k个点的hate关系满足二分图的关系. 那么计算组合数,共2^(k-1)种方法. #include <bits/stdc++.h> using namespace std; ; typedef pair&…
题目链接 对相邻的三个点叉积判断一下就好. #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include <algorithm> #include <complex> #include <cmath> #include <map> #include <set> #include <stri…
题意 平面上有 \(n\) 个点,选出六个点构成两个三角形,问有多少种构造方式使得两个三角形没有交集. \(n\leq 2000\) 分析 枚举连接两个三角形的两个顶点,同时能够将两个三角形划分在直线两侧的直线. 考虑每个点和 \(n-1\) 个点连边,这些边按照极角排序,并维护直线左侧有多少个点(如果跨过极角等于 \(\pi\) 就再加一倍直线,同时弧度 \(+2\pi\)),那么答案增加量就是 \(\binom{{cnt}_l}{2}\times\binom{n-2-{cnt}_l}{2}\…