题目大意:给你一个$n\times m$的网格,你要在这个网格上画三角形。

三角形的顶点只能在网格的整点上,且至少有一条边平行于$x$或$y$轴,且三角形面积为整数。问你能画多少个不同的三角形。

两个三角形被判定为不同,当且仅当两个三角形所包含的点集不相同。

多组询问,$n,m≤10^9$。

这题是裸的小学奥数题。。。。

我们先不管那个面积限制,先来看下有多少个三角形满足前两个条件。

我们令三角形的一边平行于$x$轴,我们考虑枚举底边,显然底边有$ \dfrac {m(m+1)(n+1)} {2}$种不同的取法(不同的位置,长度)

然后,我们枚举三角形的顶点,显然不能跟底边位于同一个$x$轴上,那么有$n(m+1)$种取法。

平行与$y$轴的情况同理。

但是这么算会将直角三角形的数量算重,我们考虑减去这些三角形

我们考虑枚举三角形的直角顶点位置以及两边边长,这个相当于是在两条长度分别为$n$和$m$的线段上截取两段出来,方案数显然为$\dfrac{m(m+1)n(n+1)}{4}$种。

然后,考虑到枚举出的一组线段,共有$4$种构造的方法,故方案数要$\times 4$。

我们成功求出了三角形的数量。

考虑这些三角形中不合法的数量,不合法的三角形,显然底边和高的长度均为奇数。

我们考虑将网格格点进行黑白染色,记 $n1=\lceil \dfrac{n}{2} \rceil $,$n2=\lfloor \dfrac{n}{2} \rfloor $。$m1,m2$同理。

那么显然,一个不合法的,且底边与$x$轴平行的三角形,底边两点的横坐标必然一个为奇,一个为偶数的,方案数为$n1\times n2$。

下面考虑枚举底边和顶点的纵坐标,显然底边和顶点所在的纵坐标必须一个为奇,一个为偶,方案数为$2m1\times m2$,顶点横坐标显然有n中选法。

故与$x$轴平行的不合法三角形总共有$2n1\times n2\times m1\times m2\times n$个。

底边与$y$轴平行的三角形同理。

考虑不合法的直角三角形,数量为$4n1\times n2\times m1\times m2$。(枚举两条边边长,直角朝向)。

然后就没有了

【GDKOI2017】 两个胖子萌萌哒 小学奥数题的更多相关文章

  1. python基础===一道小学奥数题的解法

    今早在博客园和大家分享了一道昨晚微博中看到的小学奥数题,后来有朋友给出了答案.然后我尝试用python解答它. 原题是这样的: 数学题:好事好 + 要做好 = 要做好事,求 “好.事.做.要”的值分别 ...

  2. luogu 1258 小车问题 小学奥数(?)

    题目链接 题意 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能使两人尽快同时到 ...

  3. 一个hin秀的小学三年级奥数题 [hin秀]

    ~~~~~~不知为何总会被小学的题虐哭QAQ,真的秀啊,毒害广大小朋友~~~~~~ 一个hin秀的小学三年级奥数题    [hin秀] 题目: 给出一个无限大的棋盘  n×n  (n>0 , 是 ...

  4. [CSP-S模拟测试]:方程的解(小学奥数)

    题目描述 给出一个二元一次方程$ax+by=c$,其中$x$.$y$是未知数,求它的正整数解的数量. 输入格式 第一行一个整数$T$,表示有$T$组数据.接下来$T$行,每行$3$个整数$a$.$b$ ...

  5. 【xsy1116】数学题 奥数题

    真实奥数题 题目大意:给你正整数k$,r$.问你存在多少对$(x,y)$,满足$x<y$且$x^2+y^2=kz^2$,并将所有符合条件的数对输出. 数据范围:$r≤1e9$,$k={1,2,3 ...

  6. NOI上看到的几个小学奥数

    :余数相同问题 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同 ...

  7. NOIp 数学 (小学奥数)

    Basic knowledge \[ C_n^m=\frac{n!}{m!(n - m)!} \] 快速幂 // Pure Quickpow inline int qpow(int n, int m, ...

  8. 鬼知道NOI会不会成为下一个奥数

    认真写作文不可能的,这辈子不可能认真写作文的. (月考,期末考,高考即将到达战场,真香警告) 以下应该成为原稿!!! 真.喜欢写感悟,但我感觉我可能把它写的有点商业化,商业化的文章不可能放的,所以我尽 ...

  9. 「浙江理工大学ACM入队200题系列」问题 J: 零基础学C/C++83——宁宁的奥数路

    本题是浙江理工大学ACM入队200题第八套中的J题 我们先来看一下这题的题面. 题面 题目描述 宁宁参加奥数班,他遇到的第一个问题是这样的:口口口+口口口=口口口,宁宁需要将1~9 九个数分别填进对应 ...

随机推荐

  1. 2018.10.16 NOIP模拟 膜法(组合数学)

    传送门 原题,原题,全TM原题. 不得不说天天考原题. 其实这题我上个月做过类似的啊,加上dzyodzyodzyo之前有讲过考试直接切了. 要求的其实就是∑i=lr(ii−l+k)\sum _{i=l ...

  2. redis与ssm整合(用 redis 替代mybatis二级缓存)

    SSM+redis整合 这里主要是利用redis去做mybatis的二级缓存,mybaits映射文件中所有的select都会刷新已有缓存,如果不存在就会新建缓存,所有的insert,update操作都 ...

  3. redis学习-有序集合(zset)常用命令

    zadd:有序集合增加一个或者多个键值对 与set集合不同,zset添加的时候需要 指定 score,这个是用来排名的 zrange:返回指定范围的键 zcount:返回集合指定范围的个数(以每个键值 ...

  4. EF生成的SQL语句执行顺序问题。

    //实体被更改后,再做删除,EF只生成删除语句 //实体删除后再更改,EF报错 //添加语句会再,更改,删除后执行,更AddObject位置无关 //一个实体多个字段被改,只会生成一句update / ...

  5. yum基本操作(转)

    原文地址:http://www.cnblogs.com/chuncn/archive/2010/10/17/1853915.html yum(全称为 Yellow dog Updater, Modif ...

  6. Series转成list

    直接list(series)就可以的 最佳的方式是将列表转换成Python中的科学计算包numpy包的array类型,再进行加减. 1 2 3 4 import numpy as np a = np. ...

  7. cxf maven依赖

         <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-front ...

  8. codeforces 261B Maxim and Restaurant(概率DP)

    B. Maxim and Restaurant time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  9. Android-WebViewUtils-工具类

    WebViewUtils-工具类是专门处理,Android API 中的WebView使用,公共方法抽取定义: package common.library.utils; import android ...

  10. ActiveMq 总结(一)

    1. 背景 当前,CORBA.DCOM.RMI等RPC中间件技术已广泛应用于各个领域.但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务 ...