bzoj2916】的更多相关文章

bzoj2916: [Poi1997]Monochromatic Triangles 链接 bzoj 思路 总方案\(C_{n}^{3}-异色三角形\) 异色三角形有个特点. 会出现两个点有两条不同色的边. 然后统计就行了. 代码 #include <bits/stdc++.h> #define ll long long using namespace std; const int _=5e3+7; int n,m,a[_]; int main() { scanf("%d%d&quo…
Description 空间中有n个点,任意3个点不共线.每两个点用红线或者蓝线连接,如果一个三角形的三边颜色相同,那么称为同色三角形.给你一组数据,告诉你哪些点间有一条红线,计算同色三角形的总数. n<=1000,m<=250000.   题解 感觉同色不太好做? 那杂色呢?好做得不得了啊,一个杂色三角形肯定有一对红蓝边 那么我们考虑连接红蓝边的点的贡献 统计了点u连红边条数为t[u],那么贡献就是t[u]*(n-t[u]-1) 求sigma之后再除二,每个三角形被考虑两次 再用C(n,3)…
答案等于总三角形数-不合法数 一个不合法三角形一定存在两个顶点,在这个三角形中这个顶点的角的两边不同色 #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<cstdio> using namespace std; inline int read() { ,f=;char ch=getchar(); ;ch=getchar();} )+(…
容斥原理 计蒜客比赛day2t3的简化版 总数-异色三角形 对于每个点考虑,每个点红线数量为d[i],那么以这个点为顶点的异色三角形有d[i]*(n-1-d[i]),每条红线和蓝线成一个异色三角形,一共有n-1条线引出,然后再除以2,因为每个异色三角形会算两个顶点,也就是算两次. #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace…