`
暴风雪
  • 浏览: 390990 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[组合数学]zoj 3647:Gao the Grid

阅读更多

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3647

 

大致题意:
    给出一个n*m的长方形,求三个点都在这个长方形的格点上的三角形有多少个。

 

大致思路:

    参考的网上的想法,首先先求出单纯的取三个点,能有多少种求法,再减去三点共线的错误方案数。

    计算错误的方案数要分两步

    1,要统计不在同一行或者同一列的三点共线,这里使用的方法的是,枚举这个长方形里面的长方形区域,认为两个点的位置在长方形两个对顶的脚上,再在这两个点之间选出第三个点即可。

    3,统计在同一行或者同一列上的三点共线的情况。

 

#include<iostream>
#include<cstdlib>
#include<stdio.h>
using namespace std;
int gcd(int a,int b)
{
    return b==0?a:gcd(b,a%b);
}

long long cal(int b)
{
    long long a=(long long)b;
    if(a<3)return 0;
    long long res=((a-2)*(a-1)*a);
    res/=6;
    return res;
}

int main()
{
    int n,m,i,j;
    while(cin>>n>>m)
    {
        long long ans=cal((n+1)*(m+1));
        for(i=2;i<=n;i++)
        {
            for(j=2;j<=m;j++)
            {
                long long tmp=(gcd(i,j)-1)*(n+1-i)*(m+1-j)*2;
                ans-=tmp;
            }
        }
        ans-=cal(n+1)*(m+1);
        ans-=cal(m+1)*(n+1);
        cout<<ans<<endl;
    }
    return 0;
}
 

 

0
2
分享到:
评论

相关推荐

    ZOJ:浙江大学程序在线评测系统.docx

    ZOJ,全称“浙江大学程序在线评测系统”(Zhejiang University Online Judge),是一个提供信息学(算法竞赛)题库及程序评测的网站。以下是关于ZOJ的详细介绍: 一、基本信息 名称:浙江大学程序在线评测系统(ZOJ)...

    zoj 1002_zoj1002_

    ZOJ 1002的具体内容未知,但常见的ACM题目类型包括但不限于:排序与查找、图论、动态规划、贪心算法、数学问题、字符串处理等。因此,这个C++程序可能涉及以上某一种或多种算法的组合。 C++语言在编程竞赛中广泛...

    zoj 源码700题

    【标题】"zoj 源码700题"是指一个包含700多道ZOJ(在线判题系统Zhejiang Online Judge)编程竞赛题目的源代码集合。这个资源对于学习算法、提高编程技能以及准备编程竞赛的学员来说极具价值。 【描述】"包含了zoj...

    zoj 700源代码

    4. **数学知识**:部分题目可能需要运用到高等数学知识,如组合数学、数论、线性代数等。源代码中可能有巧妙的数学技巧来简化问题。 5. **复杂度分析**:每个解决方案通常都会伴随着时间复杂度和空间复杂度的分析,...

    zoj 1610 Count the Colors.md

    zoj 1610 Count the Colors.md

    ZOJ题解集合-截至2835

    3. **数学问题**:包括数论(如质数判断、模运算)、组合数学(排列组合、容斥原理)、图论问题、几何问题等。 4. **字符串处理**:KMP算法、Boyer-Moore算法、Rabin-Karp算法等字符串匹配方法,以及模式匹配、文本...

    ZOJ月赛 题解 (ZOJ Monthly, August 2014)

    7. **数学应用**:数论、组合数学、概率论等数学知识在某些题目中起到决定性作用,如质因数分解、排列组合、概率计算等。 通过深入研究20141007(ZOJ Monthly, August 2014)这个压缩包中的解题报告和代码,我们可以...

    zoj 题库 详细解答 解题代码

    该资源主要涵盖了 zoj 题库中的各种编程题目,涵盖了基本算法、数据结构、数学运算等多个方面的知识点。下面是对该资源中出现的知识点的详细解释: 1. 第一次 ACM 总结(7th ACM) 该题目主要考察了基本的算法设计...

    zoj 1255 The Path.md

    zoj 1255 The Path.md

    zoj代码集合

    7. **数学应用**:集合可能包括线性代数、组合数学、数论(模运算、欧几里得算法、中国剩余定理)等数学知识在编程中的应用。 8. **数据结构优化**:高级数据结构如红黑树、平衡二叉搜索树(AVL树)、堆、字典树...

    浙江大学ZOJ题目分类

    浙江大学ZOJ题目分类旨在为编程学习者提供一个系统化的训练平台,帮助他们在算法和编程技能上实现质的飞跃。ZOJ平台提供的分类题目包括但不限于基础算法、数据结构、动态规划以及模拟问题等,这些分类覆盖了计算机...

    zoj1027解题指南

    【标题】"ZOJ1027解题指南"是一个针对特定编程竞赛题目——ZOJ1027的解决方案集合。ZOJ,全称为“Zhejiang Online Judge”,是浙江大学主办的一个在线编程竞赛平台,提供了丰富的算法题目供参赛者练习和挑战。本解题...

    zoj 1810 The Gourmet Club.md

    zoj 1810 The Gourmet Club.md

    zoj 2151 The Highest Profits.md

    zoj 2151 The Highest Profits.md

    zoj 2499 The Happy Worm.md

    zoj 2499 The Happy Worm.md

    ZOJ题目答案源码

    ZOJ(Zhejiang Online Judge)是一个著名的在线编程竞赛平台,主要面向计算机科学与信息技术的学生和爱好者,提供了大量的算法题目供参赛者练习和提交代码。"ZOJ题目答案源码"是一个压缩包文件,其中包含了700多道...

    Problem Arrangement zoj 3777

    Problem Arrangement zoj 3777

    zoj.zip_zoj

    【标题】"zoj.zip_zoj"所对应的资源是一个与ZOJ(Zhejiang Online Judge)相关的代码集合。ZOJ是浙江大学主办的一个在线编程竞赛平台,它提供了多种算法题目供用户练习和提交代码进行评测。这个压缩包很可能包含了在...

    ZOJ1014.zip_zoj code_zoj1004

    标题“ZOJ1014.zip_zoj code_zoj1004”表明这是一个与ZOJ(ZeroJudge)在线判题系统相关的代码压缩包,其中可能包含了解决ZOJ问题1004的源代码。ZOJ是面向编程爱好者和学生的一个在线编程竞赛平台,它提供了各种算法...

Global site tag (gtag.js) - Google Analytics