BZOJ3505 数论

原创 2018年04月17日 18:33:26

https://www.lydsy.com/JudgeOnline/problem.php?id=3505

不算太水的题但也不算太难

首先算出一堆点选三个点的方法数

然后减去三个点一线的方法数

那么问题来了

怎么算呢

其实都是一个套路

找GCD

GCD代表两个点之间在网格上的点的数量加一

然后求区域和

再枚举

左端点然后乘以二

因为左右两边都要算一次下

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int N=1e3;
ll G[N+10][N+10];
ll A[N+10][N+10];
ll gcd(ll a,ll b){
    return a%b==0?b:gcd(b,a%b);
}
int main(){
    ll n,m;
    cin>>n>>m;
    ll x=(n+1)*(m+1);
    ll ans=x*(x-1)*(x-2)/6;
    ans-=(m+1)*(n+1)*(n)*(n-1)/6;
    ans-=(n+1)*(m+1)*(m)*(m-1)/6;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            G[i][j]=gcd(i,j)-1;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            A[i][j]=A[i-1][j]+A[i][j-1]-A[i-1][j-1]+G[i][j];
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            ans-=A[n+1-i][m+1-j]*2;
    cout<<ans<<endl;
}

精通memcached数据库管理深度讲解

-
  • 1970年01月01日 08:00

bzoj3505【CQOI2014】数三角形

最大公约数
  • AaronGZK
  • AaronGZK
  • 2016-04-08 23:02:36
  • 2953

【BZOJ3505】【数论】数三角形 题解

数三角形给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。注意三角形的三点不能共线。Input 输入一行,包含两个空格分隔的正整数m和n。Output输...
  • MaverickFW
  • MaverickFW
  • 2017-07-10 19:24:56
  • 196

BZOJ3505 数三角形 题解 【数论】

BZOJ 3505
  • theljt
  • theljt
  • 2017-07-05 14:45:17
  • 147

bzoj3505 [Cqoi2014]数三角形 题解

bzoj3505 [Cqoi2014]数三角形 题解(DP)原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3505 题意: 给定一个nx...
  • Bfk_zr
  • Bfk_zr
  • 2017-07-06 11:31:24
  • 347

bzoj3505(排列组合)

一直对排列组合有点头疼,总是有情况没有考虑到 考虑补集,先把答案赋为c(n*m)(3),然后减去三点共线的情况。 首先三点在一条水平或竖直的直线上非常好处理。直接减去c(n)(3)*m...
  • zhhx2001
  • zhhx2001
  • 2016-06-26 16:46:43
  • 139

11个基本数论知识

 1、本原勾股数: 概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b^2=c^2 首先,这种本原勾股数的个数是无限的,而且构造的条件满足: a=s*t,b=(s...
  • Songjs19931206
  • Songjs19931206
  • 2015-01-20 12:39:41
  • 1240

ACM数论中的常见的模板和结论

1:最大公约数的求法 欧几里得算法实现。递归实现 1 #include 2 #includestring.h> 3 #include 4 #include 5 using n...
  • NaCl__
  • NaCl__
  • 2015-12-31 08:41:13
  • 817

数论各种小定理

这里是数论入门题目了 很全面
  • qq_33184171
  • qq_33184171
  • 2016-05-24 10:54:37
  • 989

部分OI常用数论符号集锦

部分数论符号集锦背景学OI,里面有一种叫做数论题的题目,简单的数论题还简单,可是越学就发现越烦了,什么欧拉函数、莫比乌斯反演、某某筛之类的,真的一点都看不懂 那么,怎么办呢,想要学数论先要会其相关符...
  • zhouyuheng2003
  • zhouyuheng2003
  • 2017-09-25 16:24:15
  • 588
收藏助手
不良信息举报
您举报文章:BZOJ3505 数论
举报原因:
原因补充:

(最多只允许输入30个字)