http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri
时间限制: 1 Sec 内存限制: 128 MB
题目描述
给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。
注意:三角形的三点不能共线。n×m的网格共有(n+1)×(m+1)个格点。
输入
输入一行,包含两个空格分隔的正整数m和n(1<=m,n<=1000)。
输出
输出一个正整数,为所求三角形数量。
样例输入
2 2
样例输出
76

取补集的思想,三角形的数量等于任取三点的情况减去三点共线的情况

#define FILE() freopen("../../in.txt","r",stdin)
#include <bits/stdc++.h>using namespace std;typedef long long ll;ll combine(int n) { //n个点取3个ll m=n,res=1;for(int i=0; i<3; i++) {if(m%3==0) {res*=m/3;} else res*=m;m--;}return res/2;
}int gcd(int a,int b){return b?gcd(b,a%b):a;
}int main() {
//    FILE();int n,m;cin>>n>>m;ll ans = combine((n+1)*(m+1))-(n+1)*combine(m+1)-(m+1)*combine(n+1); //先减去横竖格线上三点共线的for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) { //类似向量,从(0,0)到(i,j)作一线段 gcd(i,j)+1为线段上格点的数量ans-=(gcd(i,j)-1)*(n-i+1)*(m-j+1)*2; //乘2是因为沿y轴翻转情况一样}}cout<<ans<<endl;return 0;
}

转载于:https://www.cnblogs.com/NeilThang/p/9356628.html

【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843相关推荐

  1. bzoj3505 / P3166 [CQOI2014]数三角形

    P3166 [CQOI2014]数三角形 前置知识:某两个点$(x_{1},,y_{1}),(x_{2},y_{2})\quad (x_{1}<x_{2},y_{1}<y_{2})$所连成 ...

  2. P3166 [CQOI2014]数三角形(组合数学)

    P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...

  3. 组合计数——车的放置(逆元)+数三角形+序列统计(lucas定理)

    通用传送门:https://www.acwing.com/activity/content/16/ 思路:设C(a,b)为从a中取出b个的组合数,设A(a,b)从a中选出b个进行排列的排列数. 对于题 ...

  4. 一本通1655数三角形

    1655:数三角形 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个.下图为 4×4 的网格上 ...

  5. 信息学奥赛一本通 1309:【例1.6】回文数(Noip1999) | 洛谷 P1015 [NOIP1999 普及组] 回文数

    [题目链接] ybt 1309:[例1.6]回文数(Noip1999) 洛谷 P1015 [NOIP1999 普及组] 回文数 注:两OJ上的问题考察内容相同,但输出要求不同 [题目考点] 1.高精度 ...

  6. 信息学奥赛一本通 1925:【03NOIP普及组】麦森数 | OpenJudge NOI 4.4 1708:麦森数 | 洛谷 P1045 [NOIP2003 普及组] 麦森数

    [题目链接] ybt 1925:[03NOIP普及组]麦森数 OpenJudge NOI 4.4 1708:麦森数 洛谷 P1045 [NOIP2003 普及组] 麦森数 [题目考点] 1. 高精度 ...

  7. 信息学奥赛一本通 1919:【02NOIP普及组】选数 | 洛谷 P1036 [NOIP2002 普及组] 选数

    [题目链接] ybt 1919:[02NOIP普及组]选数 洛谷 P1036 [NOIP2002 普及组] 选数 [题目考点] 1.排列组合 2.深搜(子集树) 3.质数 [解题思路] 深搜(子集树) ...

  8. group by 查询分组后 各组的内部条数与组的条数

    一.group by 查询分组后 各组的内部条数 说明:表:survey_consumer ,字段:profession SELECT COUNT(*) num,profession FROM sur ...

  9. [NOIP2003普及组]麦森数(快速幂+高精度)

    [NOIP2003普及组]麦森数(快速幂+高精度) Description 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1不一定也是素数.到1998 ...

最新文章

  1. Spring研究笔记------事务探究
  2. python程序经常被杀死之谜
  3. linux snmp进程,linux snmpwalk命令详解
  4. vue 无法进入response拦截器_vue拦截器的一次实践
  5. 梯度下降法and实战
  6. jsp地址栏传中文显示乱码解决方法
  7. 如何提升大数据分析能力
  8. MSP430F149学习之路——比较器Comparaor_A
  9. 经济应用数学基础二 线性代数 (第四版) 赵树嫄 编| 中国人大版 课后习题答案
  10. 基于组态王6.55的电能监测系统
  11. Python用户画像词云图生成并集成到django网站
  12. 学习专栏-关于Python读取数据学习记录
  13. android 9.0 开机动画,Android bootanim开机动画启动流程
  14. java rds 数据库_java项目连接rds数据库
  15. 【网络】Wireshark分析RST消息
  16. 计算机WORD函数求乘积,Word表格函数运用:加减乘除、求和、求积超简单,大神都不一定会!...
  17. ubuntu18.04下EnlightenGAN运行过程记录
  18. 谷歌浏览器切换页面或者隐藏页面造成定时器延缓或者停止的问题。
  19. ICD建模功能约束(详见DL/T860.73附录B)
  20. 产品需求文档(PRD)札记

热门文章

  1. 4循环队列的顺序表示中,为什么要空一个位置?
  2. 400名微软员工详细薪资信息泄露,资历和国籍对薪资影响巨大!
  3. 工业机器人行业研究报告
  4. 语言 提取列名_学习健明老师发布的R语言练习题的学习笔记(二)
  5. mysql client dev_ubuntu下mysql安装(server、client、dev),开启、停止和重启,及常见错误...
  6. Hashmap链表长度为8时转换成红黑树,你知道为什么是8吗
  7. 如何把a1的图纸变成a0_「云顶之弈装备解析」面对回蓝——青龙刀与大天使究竟该如何取舍...
  8. c语言删除结构体数组的数据库,结构体数组的删除问题
  9. java中的IO详解(上)
  10. ftp服务用户访问权限设置