3505: [Cqoi2014]数三角形

给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。

注意三角形的三点不能共线。

1<=m,n<=1000


$n++ m++$

$ans={nm\choose 3}-n*{m\choose 3}-m*{n\choose 3}-斜线上的情况$

n和m很小,我们直接枚举以(0,0)为左端点的斜线,以两端点为两个点,中间的第三个点有$(x,y)-1$种选择,然后乘上平移的方案数再乘以2,斜线还有反向

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
ll n,m,ans;
int gcd(int a,int b){return b==?a:gcd(b,a%b);}
int main(){
n=read()+;m=read()+;
ll x=n*m;
ans+=x*(x-)*(x-)/;
ans-=m*n*(n-)*(n-)/+n*m*(m-)*(m-)/;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
ans-=(n-i)*(m-j)*(gcd(i,j)-)<<;
printf("%lld",ans);
}

最新文章

  1. 12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面
  2. WAMPServer 默认安装启动后,图标显示橙黄色
  3. 从客户端(?)中检测到有潜在危险的 Request.Path 值 的解决方案
  4. iOS [[NSBundle mainBundle] pathForResource:@&quot;&quot; ofType:@&quot;&quot;]无法获取到文件
  5. mysql列转行
  6. Android应用帧率--FPS测试
  7. 在linux和windows下自动备份数据库
  8. 四.RabbitMQ之发布/订阅(Publish/Subscribe)
  9. Jquery验证码倒计时
  10. ueditor 百度编辑器 粘贴的table表格样式边线
  11. python之使用smtplib模块发送邮件
  12. 初识waindows窗体程序错题整理
  13. http协议(一)一些基础知识
  14. Scrum Meeting 9 -2014.11.15
  15. 20、List集合中特有的方法
  16. error processing package oracle-java8-installer问题解决
  17. Android分类导航
  18. 关于hashcode 里面 使用31 系数的问题
  19. 3-CMD
  20. jdk从1.8降到1.7的办法

热门文章

  1. Win10没有以太网图标如何找回?以太网适配器不见了怎么恢复?
  2. ucosii --任务就绪表
  3. java 跳出多层循环
  4. JXLS 2.4.0系列教程(四)——多sheet是怎么做到的
  5. [国嵌攻略][164][USB驱动程序设计]
  6. 【JavaScript_轮播图】
  7. dede内容页调用图片集下所有图片方法!
  8. C#编写街道管理系统
  9. 数据库连接池(c3p0)
  10. 三续ASM