[题解](组合数学/gcd)luogu_P3166数三角形
2024-09-07 13:40:24
首先转化为ans=所有的组合方式 - 在同一水平/竖直线上 - 在同一斜线上
主要考虑在同一斜线上的情况
首先想到枚举斜率然后在坐标系内平移,以(0,0)为起点,每条线上的点数应该是gcd(x,y)比较好理解
所以在这条线段上有gcd(x,y)-1个选择方式(已选(0,0)、(x,y))
可向下/右移动的空间是 n-x、m-y比较显然,所以都乘起来即为贡献
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
const int maxn=;
ll m,n;
int main(){
scanf("%lld%lld",&m,&n);m++,n++;
ll s=m*n;
ll ans=s*(s-)*(s-)/;
for(int x=;x<=n;x++)
for(int y=;y<=m;y++){
if(x||y){
if(!x||!y)ans-=(gcd(x,y)-)*(n-x)*(m-y);//水平/豎直
else ans-=*(gcd(x,y)-)*(n-x)*(m-y);
}
}
printf("%lld",ans);
}
最新文章
- mysql 5.6.24安装实例
- [bzoj1670][Usaco2006 Oct]Building the Moat
- Java 利用HttpURLConnection发送http请求
- sqlite学习1
- nginx应用总结(2)--突破高并发的性能优化
- .NET微信公众号开发-2.0创建自定义菜单
- HTML中div以及span等元素获取焦点
- HBase with MapReduce (Only Read)
- 封装smarty类
- jQuery遍历 slice()方法
- netty 解决TCP粘包与拆包问题(三)
- poj 3164 最小树形图
- 实战weblogic集群之创建节点和集群
- Specified VM install not found: type Standard VM, name jdk1.6.0_05
- asp.net 向后台提交 html 代码段 包括 <;>; 标签
- setsockopt角色
- 51Nod1863 Travel 主席树 最短路 Dijkstra 哈希
- [LeetCode&;Python] Problem 860. Convert BST to Greater Tree
- 事件驱动架构 (Event-Driven Architecture,EDA) 简介
- 一些常见的js问题总结