3505: [Cqoi2014]数三角形

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 1543  Solved: 945
[Submit][Status][Discuss]

Description

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

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

Input

输入一行,包含两个空格分隔的正整数m和n。

Output

输出一个正整数,为所求三角形数量。

Sample Input


2 2

Sample Output

76

数据范围
1<=m,n<=1000

HINT

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int m,n;
 7 long long ans,tmp;
 8 long long c[1000010][4];
 9 void zuhe(){
10     c[0][0]=1;
11     for(int i=1;i<=n*m;i++){
12         c[i][0]=1;
13         for(int j=1;j<=3;j++) c[i][j]=c[i-1][j-1]+c[i-1][j];
14     }
15 }
16 int gcd(int a,int b){
17     return (!b)?a:gcd(b,a%b);
18 }
19 void work(){
20     ans=c[n*m][3];
21     ans-=n*c[m][3];
22     ans-=m*c[n][3];
23     for(int i=1;i<n;i++)
24         for(int j=1;j<m;j++){
25             tmp=(long long)gcd(i,j)+1;
26             if(tmp>2) ans-=(tmp-2)*2*(n-i)*(m-j);
27         }
28 }
29 int main(){
30     scanf("%d%d",&m,&n);
31     n++;
32     m++;
33     zuhe();
34     work();
35     printf("%lld",ans);
36     return 0;
37 } 

转载于:https://www.cnblogs.com/sdfzxh/p/7134564.html

组合数学+gcd BZOJ3505 [Cqoi2014]数三角形相关推荐

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

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

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

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

  3. BZOJ 3505 [Cqoi2014]数三角形(组合数学)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3505 [题目大意] 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个. 注 ...

  4. 【BZOJ 3505】 [Cqoi2014]数三角形 容斥原理+排列组合+GCD

    我们先把所有三角形用排列组合算出来,再把一行一列上的三点共线减去,然后我们只观察向右上的三点共线,向左上的乘二即可,我们发现我们如果枚举所有的两边点再乘中间点的个数(GCD),那么我们发现所有的两边点 ...

  5. [CQOI2014]数三角形 组合数 + 容斥 + gcd

    推导过程 : 组合数+容斥原理+gcd 正确做法是暴力的一种优化,ans=所有情况 - 平行坐标轴的三点共线 - 斜线三点共线 如果快速求斜线三点共线: 首先要知道一个结论,对于点(a,b) (x,y ...

  6. 洛谷 P3166 [CQOI2014]数三角形(gcd+组合计数)

    题目描述 给定一个 N×MN\times MN×M 的网格,请计算三点都在格点上的三角形共有多少个.注意三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数 MMM 和 NNN . 输 ...

  7. [CQOI2014]数三角形 题解(找规律乱搞)

    题面 其实这道题不用组合数!不用容斥! 只需要一个gcd和无脑找规律(滑稽 乍一看题目,如果单纯求合法三角形的话情况太多太复杂,我们可以从局部入手,最终扩展到整体. 首先考虑这样的情况: 类似地,我们 ...

  8. bzoj 3505: [Cqoi2014]数三角形

    Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 970  Solved: 595 [Submit][Status][Discuss] Descript ...

  9. P3166 [CQOI2014]数三角形

    文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...

  10. P3166 [CQOI2014]数三角形(结论)

    https://www.luogu.com.cn/problem/P3166 思路: cf也有一道几乎一致的题,但是那题是2e3个点,可以n^2logn,先算出总数C(n,3),然后预处理经过某个点的 ...

最新文章

  1. 4K P60 444 相关的事
  2. 华为ws851虚拟服务器,荣耀路由Pro无线中继设置 华为WS851桥接设置教程-192路由网...
  3. 深度学习核心技术精讲100篇(五十四)-阿里文娱多模态视频分类算法中的特征改进
  4. 前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)
  5. 漫话:程序员要失业了??!机器人开始在GitHub上修Bug了。
  6. vivox7刷linux系统,Vivo 找来宋仲基帮你送 X7
  7. 69 session和cookie的区别
  8. 优雅的找出ArrayList中重复的元素
  9. 【Qt Tips】QLineEdit内容过滤之setValidator和setInputMask浅析
  10. 安装Exchange 2010 时报错UserMailbox 必须强制使用 Database
  11. AI自动评审了下Transformer论文
  12. mui框架从0到1【webapp开发教程】
  13. ubuntu codename
  14. qt自定义控件-水波纹进度条
  15. Android微信小尾巴,微信朋友圈小尾巴app
  16. 10G SR光模块取消ER调试可行性分析
  17. 计算机网络并行传输和串行传输,网线RJ45是并行传输还是串行
  18. gitbook 快速入门
  19. 菜鸟记录之JDK1.8十大新特性
  20. Python中循环语句的使用

热门文章

  1. TensorFlow 学习------第二天
  2. ACL2021 | 没想到Mixup还可以用于文本:SSMix
  3. 【高校联合主办| SCI、EI 快检索】物联网,机器学习,网络安全,通信技术,算法,微芯片等计算机多主题征稿!...
  4. KDD20 | 图模型的信息融合专题
  5. nlp-paper: 按主题分类的自然语言处理文献大列表
  6. 【ACL2019】轻松了解张岳实验室的六篇paper
  7. 【珍藏版】长文详解python正则表达式
  8. leetcode—15.链表双指针题目python解答
  9. 深度学习2.0-24.过拟合与欠拟合
  10. python之join()用法