洛谷 P3166 [CQOI2014]数三角形(gcd+组合计数)
题目描述
给定一个 N×MN\times MN×M 的网格,请计算三点都在格点上的三角形共有多少个。注意三角形的三点不能共线。
输入格式
输入一行,包含两个空格分隔的正整数 MMM 和 NNN 。
输出格式
输出一个正整数,为所求三角形数量。
输入输出样例
2 2
76
说明/提示
数据规模与约定
对于全部的测试点,保证 1≤N,M≤10001\le N,M\le10001≤N,M≤1000。
const int N=1e6+5;//int n, m, _;int i, j, k;//int a[N];ll a, b;ll C(ll n, ll m)
{if(m > n) return 0;if(m == n) return 1;if(m > n - m) m = n - m;ll num = 1, cen = 1;for(int i = 1; i <= m; i++){num = num * (n - i + 1);cen = cen * i;}return num / cen;
}signed main()
{//IOS;while(~sll2(a, b)){if(a == 1 || b == 1){pll(0);continue;}ll ans = (a + 1) * (b + 1);ans = C(ans, 3);ans -= C(a + 1, 3) * (b + 1);//dbg(ans);ans -= C(b + 1, 3) * (a + 1);//dbg(ans);for(int i = 1; i <= a; i++){for(int j = 1; j <= b; j++){ll res = (a - i + 1) * (b - j + 1) * (__gcd(i, j) - 1);ans -= res * 2;}}pll(ans);}//PAUSE;return 0;
}
洛谷 P3166 [CQOI2014]数三角形(gcd+组合计数)相关推荐
- bzoj3505 / P3166 [CQOI2014]数三角形
P3166 [CQOI2014]数三角形 前置知识:某两个点$(x_{1},,y_{1}),(x_{2},y_{2})\quad (x_{1}<x_{2},y_{1}<y_{2})$所连成 ...
- P3166 [CQOI2014]数三角形(组合数学)
P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...
- P3166 [CQOI2014]数三角形
文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...
- P3166 [CQOI2014]数三角形(结论)
https://www.luogu.com.cn/problem/P3166 思路: cf也有一道几乎一致的题,但是那题是2e3个点,可以n^2logn,先算出总数C(n,3),然后预处理经过某个点的 ...
- 信息学奥赛一本通 1321:【例6.3】删数问题(Noip1994) | 洛谷 P1106 删数问题
[题目链接] ybt 1321:[例6.3]删数问题(Noip1994) 洛谷 P1106 删数问题 [题目考点] 1. 贪心 [解题思路] 解法1:每次找k+1个数中的最小值 假设我们从左向右扫描每 ...
- *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
题干: 题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5 1,5,1 5,1,1 问有多少种不同的分法. ...
- 洛谷2505 [HAOI2012]道路(最短路计数)
洛谷传送门 [题目分析] 线段树?bczd,这么小的范围直接暴力就行啦. 直接O(n)枚举源点,每次跑最短路,然后对于每一条路径统计是否在最短路上.两个端点各有多少条最短路径经过即可. [代码~] # ...
- 【BZOJ 3505】 [Cqoi2014]数三角形 容斥原理+排列组合+GCD
我们先把所有三角形用排列组合算出来,再把一行一列上的三点共线减去,然后我们只观察向右上的三点共线,向左上的乘二即可,我们发现我们如果枚举所有的两边点再乘中间点的个数(GCD),那么我们发现所有的两边点 ...
- [CQOI2014]数三角形 组合数 + 容斥 + gcd
推导过程 : 组合数+容斥原理+gcd 正确做法是暴力的一种优化,ans=所有情况 - 平行坐标轴的三点共线 - 斜线三点共线 如果快速求斜线三点共线: 首先要知道一个结论,对于点(a,b) (x,y ...
最新文章
- docker 退出mysql_Docker mysql即时退出
- Cell子刊:16s分析之FishTaco分析
- 大学生学习c语言方法,针对在校大学生的C语言入门学习——函数
- C# 学习笔记(18)操作SQL Server 中
- SAP UI5和Angularjs事件处理机制的实现比较
- 站长快讯 WordPress跨站攻击漏洞修补
- 【XSY1295】calc n个点n条边无向连通图计数 prufer序列
- 矩阵迹的性质_机器学习的数学基础 之 矩阵范数 — 我的长度我做主?
- 用汇编的眼光看C++ (之x86汇编)
- 一段经典的 Java 风格程序 ( 类,包 )
- 常用编程语言开发工具
- ArcCatalog导出数据
- 《工业控制系统信息安全防护指南》实施建议(下)
- 手机回收ATM面世,无人回收会成为下一个风口吗?
- 便宜SSL证书购买攻略:comodo,geotrust,rapidssl证书为例
- Jenkins自动构建部署项目
- C语言步进电机自动加减速,步进电机正反转和加速减速c源程序
- 一键发送聊天话术软件,哪些工具可以一键发送话术
- C语言之通讯录的实现
- 关于Invoke、InvokeRepeating、StartCoroutine调用规则释义