【bzoj 3505】: [Cqoi2014]数三角形
来源:互联网 发布:centos7 mysql登陆 编辑:程序博客网 时间:2024/04/29 09:03
3505: [Cqoi2014]数三角形
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 482 Solved: 295
[Submit][Status]
Description
给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。
注意三角形的三点不能共线。
Input
输入一行,包含两个空格分隔的正整数m和n。
Output
输出一个正整数,为所求三角形数量。
Sample Input
2 2
Sample Output
76
数据范围
1<=m,n<=1000
数据范围
1<=m,n<=1000
感谢ZKY,不然还要继续纠结
http://blog.csdn.net/iamzky/article/details/38733405
C(nm,3)-共线
直线共线 C(n,3)*m+C(m,3)*n
枚举斜着的矩阵, 矩阵上有gcd(i,j)-1个点,有(n-i)*(m-j)个矩阵,反方向*2
完了
注意重复的处理
#define _TEST _TEST#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <cmath>#include <algorithm>using namespace std;/************************************************Code By willinglive************************************************//////////////////////////////////////////////////#define rep(i,l,r) for(int i=l,___t=(r);i<=___t;i++)#define per(i,r,l) for(int i=r,___t=(l);i>=___t;i--)#define MS(arr,x) memset(arr,x,sizeof(arr))#define LL long long#define INE(i,u,e) for(int i=head[u];~i;i=e[i].next)/////////////////////////////////////////////////LL n,m;/////////////////////////////////////////////////LL gcd(LL a,LL b){return b?gcd(b,a%b):a; }/////////////////////////////////////////////////void input(){ scanf("%lld%lld",&n,&m);n++;m++;}void solve(){ ///////////////////init/////////////////// LL ans=0,t; ////////////////calculate//////////////// t=n*m; ans = t * (t-1) * (t-2) / 6; ans -= n * m * (m-1) * (m-2) / 6; ans -= m * n * (n-1) * (n-2) / 6; rep(i,1,n) rep(j,1,m) //枚举斜率 { t=gcd(i,j)+1; if(t>=3) ans-=(t-2) * 2 *(n-i) * (m-j); } /////////////////output///////////////// printf("%lld\n",ans);}/////////////////////////////////////////////////int main(){ #ifndef _TEST freopen("std.in","r",stdin); freopen("std.out","w",stdout); #endif input(); solve(); #ifdef _TEST for(;;); #endif return 0;}
0 0
- 【bzoj 3505】: [Cqoi2014]数三角形
- BZOJ-3505-数三角形-CQOI2014
- 【BZOJ 3505】 [Cqoi2014]数三角形
- bzoj 3505: [Cqoi2014]数三角形
- BZOJ 3505: [Cqoi2014]数三角形
- bzoj 3505: [Cqoi2014]数三角形
- BZOJ 3505 [Cqoi2014]数三角形
- BZOJ 3505 CQOI2014 数三角形 组合数学
- BZOJ 3505: [Cqoi2014]数三角形|组合数学
- bzoj 3505: [Cqoi2014]数三角形 数学
- [组合计数] BZOJ 3505 [Cqoi2014]数三角形
- bzoj 3505: [Cqoi2014]数三角形 排列组合+数学
- 【BZOJ 3505】[Cqoi2014]数三角形 组合数学
- BZOJ 3505: [Cqoi2014]数三角形 题解
- bzoj 3505 [Cqoi2014]数三角形 组合
- BZOJ 3505: [Cqoi2014]数三角形 计数原理
- 3505: [Cqoi2014]数三角形
- 3505: [Cqoi2014]数三角形
- Webx框架:依赖注入
- muduo源码分析--我对muduo的理解
- visual studio 2013 编译第一个cuda 6.5程序
- eclipse配置ndk 实现jni 单步调试
- JS中Object对象和String字符串的相互转换
- 【bzoj 3505】: [Cqoi2014]数三角形
- xcode的工程文件怎么导入到vs2012中
- 【原创】centos6.5安装vnc-server实现windows/linux下的图形化远程登录
- 莱山彝谋呛谘此众蔽创
- Web基础架构:负载均衡和LVS
- Linux进入单用户模式
- sql 联合查询
- UVA 3942 Remember the Word
- 互联网高手教你如何搜集你想要的信息