P2241】的更多相关文章

题目传送门 说是加强版,其实可以把棋盘那道题的代码粘过来(注意要开long long): #include<bits/stdc++.h> using namespace std; ,c; int main(){ cin>>n>>m; ;i<(n>m?m:n);++i) z+=(n-i)*(m-i); c=(+n)*(+m)*n*m/-z; cout<<z<<" "<<c<<endl; ; }…
题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100) 输出格式: 方格包含多少正方形.长方形 输入输出样例 输入样例#1: 2 3 输出样例#1: 8 10 计算矩形中小矩形个数公式:(((1+n)*(1+m))*(n*m))/4:注:n,m为其边长,个数中仍包含有特殊矩形(正方形): #include<iostream> #in…
题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100) 输出格式: 方格包含多少正方形.长方形 输入输出样例 输入样例#1: 2 3 输出样例#1: 8 10 正方形个数 边长为1 个数n*m 边长为2 个数(n-1)*(m-1) 边长为3 个数(n-2)*(m-2) 所以 边长为min{n,m} 个数(m-min{n,m}+1)*(…
https://www.luogu.org/problem/show?pid=2241 题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100) 输出格式: 方格包含多少正方形.长方形 输入输出样例 输入样例#1: 2 3 输出样例#1: 8 10 #include <algorithm> #include <cstdio>…
点击查看代码 #include<bits/stdc++.h> using namespace std; long long n, m, total, sum1, sum2; int main() { cin >> n >> m; int min_mn = min(m ,n); for (int i = 1; i <= min_mn; i++) { sum1 += (n - i + 1) * (m - i + 1); } cout << sum1 <…
先来介绍一下时间复杂度: 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率.算法分析的目的在于选择合适算法和改进算法. 计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间.这是一个关于代表算法输入值的字符串的长度的函数.时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数.使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况. 时间复杂度的优化通常在暴力枚举中尤为重要,或许O(n*n)会得零分但是O(n*logn)可以…