蓝桥杯备战 每日一题 (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;
}
相关推荐
未可知77712 小时前
软件设计师(上午题4)、面向对象、uml、设计模式
设计模式·职场和发展·uml
面试鸭14 小时前
2025 校招生最想去的公司,秋招薪资汇总
计算机·职场和发展·互联网
美团测试工程师17 小时前
最常见的软件测试面试题及答案
软件测试·面试·职场和发展
_OP_CHEN1 天前
算法基础篇:(二十一)数据结构之单调栈:从原理到实战,玩转高效解题
数据结构·算法·蓝桥杯·单调栈·算法竞赛·acm/icpc
云里雾里!1 天前
力扣 977. 有序数组的平方:双指针法的优雅解法
算法·leetcode·职场和发展
天真小巫2 天前
2025.11.28总结
职场和发展
Booksort2 天前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
小白程序员成长日记2 天前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展
Swift社区2 天前
LeetCode 435 - 无重叠区间
算法·leetcode·职场和发展
小欣加油2 天前
leetcode 1018 可被5整除的二进制前缀
数据结构·c++·算法·leetcode·职场和发展