蓝桥杯备战 每日一题 (4)

题目地址

首先我们要有一个知识储备

1 加法:(a+b)%m=(a%m+b%m)%m

2 减法:(a-b)%m=(a%m-b%m)%m

3 乘法:a*b%m=(a%m)*(b%m)%m

我们可以每次计算就可以取余一次,这样就保证了最后取余的结果和一起相加再取余的结果一样

然后这个题目要怎么分析呢,首先的话 边长 为 n - 1 ,因为每边都是 n 个点,这是要注意的地方,然后我们每次只考了边长为 i 的正方形,发现有 n - i 个,包括自身以外,还有 i- 1 个斜着的正方形

代码如下

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
	ll n;
	cin >> n;
	ll ans = 0;
	for (ll i = 1; i < n; i++) {
		ans += i * (n - i) * (n - i);
		ans %= 1000000007;
	}
	cout << ans;
	return 0;
}
相关推荐
代码雕刻家2 分钟前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
VT.馒头4 小时前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
草履虫建模7 小时前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
养军博客7 小时前
C语言五天速成(可用于蓝桥杯备考 难度中等偏下)
c语言·算法·蓝桥杯
爱尔兰极光7 小时前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
闻缺陷则喜何志丹7 小时前
【栈 递归】P8650 [蓝桥杯 2017 省 A] 正则问题|普及+
c++·数学·蓝桥杯·递归·
iAkuya7 小时前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
Warren988 小时前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
爱尔兰极光8 小时前
LeetCode--移除元素
算法·leetcode·职场和发展
努力学算法的蒟蒻8 小时前
day73(2.1)——leetcode面试经典150
面试·职场和发展