蓝桥杯备战 每日一题 (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;
}
相关推荐
芒克芒克1 小时前
LeetCode 134. 加油站(O(n)时间+O(1)空间最优解)
java·算法·leetcode·职场和发展
源代码•宸3 小时前
Leetcode—513. 找树左下角的值【中等】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
春晖饶阳3 小时前
蓝桥杯b组真题改编 差分数组求和
蓝桥杯
007php0074 小时前
mac笔记本中在PHP中调用Java JAR包的指南
java·ide·python·面试·职场和发展·pycharm·php
白日与明月6 小时前
面试备考-Hive窗口函数
hive·面试·职场和发展
Anastasiozzzz7 小时前
Redis脑裂问题--面试坑点【Redis的大脑裂开?】
java·数据库·redis·缓存·面试·职场和发展
程序员小白条8 小时前
面试 Java 基础八股文十问十答第二十一期
java·开发语言·数据库·面试·职场和发展
Rainy Blue8838 小时前
蓝桥杯备赛2-1
职场和发展·蓝桥杯
Swift社区8 小时前
LeetCode 383 赎金信
算法·leetcode·职场和发展
007php00711 小时前
PHP与Java项目在服务器上的对接准备与过程
java·服务器·开发语言·分布式·面试·职场和发展·php