蓝桥杯备战 每日一题 (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;
}
相关推荐
闻缺陷则喜何志丹3 小时前
【前后缀分解 排序】B4274 [蓝桥杯青少年组省赛 2023] 数字游戏|普及+
c++·蓝桥杯·排序·洛谷·前后缀分解
期末考复习中,蓝桥杯都没时间学了4 小时前
力扣刷题15
算法·leetcode·职场和发展
@––––––5 小时前
力扣hot100—系列1
算法·leetcode·职场和发展
愚者游世6 小时前
力扣解决二进制&题型常用知识点梳理
c++·程序人生·算法·leetcode·职场和发展·改行学it
Geoking.6 小时前
前缀和算法:从一道 LeetCode 题看区间求和优化思想
算法·leetcode·职场和发展
June bug7 小时前
【PMP】敏捷宣言与原则
职场和发展·学习方法
VT.馒头7 小时前
【力扣】2705. 精简对象
javascript·数据结构·算法·leetcode·职场和发展·typescript
元亓亓亓7 小时前
LeetCode热题100--136. 只出现一次的数字--简单
算法·leetcode·职场和发展
程序员小远7 小时前
UI自动化测试用例管理平台搭建
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
重生之后端学习8 小时前
146. LRU 缓存
java·数据结构·算法·leetcode·职场和发展