2020寒假牛客第一场——A honoka和格点三角形

2023-10-28 12:30

本文主要是介绍2020寒假牛客第一场——A honoka和格点三角形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述示例1
在这里插入图片描述在这里插入图片描述思路:
x方向有m格点,y方向n个格点
面积为1的三角形有两种情况:底2高1,底1高2
第一种情况:底2高1
(1)平行x轴:最下面一行开始,每一行有(m-2)个长为2的线段,上面一行对应m个格点全部可以连成三角形,一共(n-1)行,从最上面开始同理,所以共:2*(m-2)m(n-1)
(2)平行y轴:同上,m,n交换位置:2*(n-2)n(m-1)
第二种情况:底1高2
因为直角三角形的情况是和上面重复的,同时平行x,y轴,所以不要重复计算
(1)平行x轴:从最下面一行开始,每行(m-1)个长为1的线段,上面一行对应m个点中,有2个构成直角三角形,要减去,所以有(m-2)个点可连,共(n-2)行,从最上面开始数同理,所以共:2*(m-1)(m-2)(n-2)
(2)平行y轴:同上,m,n交换位置:2*(n-1)(n-2)(m-2)

因为数据过大,要用long long,且每一步都取模

#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
int main(){long long int sum=0,m,n;scanf("%lld%lld",&m,&n);sum+=2*(n-1)%mod*(m-2)%mod*m%mod;sum+=2*(n-2)%mod*(m-1)%mod*n%mod;sum+=2*(n-1)%mod*(n-2)%mod*(m-2)%mod;sum+=2*(m-1)%mod*(m-2)%mod*(n-2)%mod;printf("%lld",sum%mod);return 0;
}

有大佬因式分解(ab)%c=((a%c)(b%c))%c
结果如下

#include<stdio.h>
#define mod 1000000007
int main()
{long long int sum,m,n;scanf("%lld%lld",&m,&n);long long int a,b;a=2*(m+n-2);b=(2*m*n-3*m-3*n+4);sum=((a%mod)*(b%mod))%mod;//底为1高为2,底为2高为1printf("%lld\n",sum );return 0;
}

这篇关于2020寒假牛客第一场——A honoka和格点三角形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/293208

相关文章

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

CSS实现DIV三角形

本文内容收集来自网络 #triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 100px solid red;} #triangle-down {width: 0;height: 0;bor

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比

双指针(5)_单调性_有效三角形的个数

个人主页:C++忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创 双指针(5)_单调性_有效三角形的个数 收录于专栏【经典算法练习】 本专栏旨在分享学习C++的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目链接: 2.题目描述 : 3.解法 :     解法一(暴力枚举) :     算法思路 :     代码展示 : 暴力枚

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ

利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)

开始撸计算几何题目了。。。。。。。 预备知识:叉乘求多边形面积 参考证明资料: 公式证明: http://www.cnblogs.com/xiexinxinlove/p/3708147.html 高中知识: http://wenku.baidu.com/view/867e6edfad51f01dc281f11a.html #include<stdio.h>#inclu

2014级寒假特训之并查集专题

Problem A: Double和XXZ的生日宴请 Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 9   Solved: 7 [ Submit][ Status][ Web Board] [ Edit] [ TestData] Description Double 和 XXZ同一天生日,他们俩30岁生日那天,当年