统计方形(NOIP1997)
给链接:统计方形
这题是棋盘问题的数据加强版。
其实由于洛谷的数据比较水,所以你把我在棋盘问题题解中写的代码提交,也能AC。
但让给我们来看一个更优的解法。
先给代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
scanf("%d%d",&n,&m);
long long sum1=0;
for(int i=1;i<=min(n,m);i++){
sum1+=(n-i+1)*(m-i+1);
}
printf("%lld ",sum1);
long long sum2=1LL*n*(n+1)/2*1LL*m*(m+1)/2;//1
printf("%lld",sum2-sum1);
return 0;
}
其他地方没啥变化,参考我的那篇题解,这里我们只讲讲标1的这个式子,为什么这么写?
我们原来的循环是什么样的?
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
sum2+=(n-i+1)*(m-j+1);
}
}
其实这个式子写出来,也就是sum2=1*1+1*2+……+2*1+2*2+……+n*1+n*2+……+n*m,所以也就是:
sum2=(1+2+3+……+n)*(1+2+3+……+m)
利用等差数列求和公式就可得到:
sum2=(1+n)*n/2*(1+m)*m/2
注意最后还要乘1LL,防止爆int。
统计方形(NOIP1997)的更多相关文章
- 洛谷 P2241统计方形(数据加强版) 题解
题目传送门 说是加强版,其实可以把棋盘那道题的代码粘过来(注意要开long long): #include<bits/stdc++.h> using namespace std; ,c; ...
- luogu P2241 统计方形
题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来 ...
- P2241 统计方形(数据加强版)
题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来 ...
- 洛谷——P2241 统计方形(数据加强版)
https://www.luogu.org/problem/show?pid=2241 题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 ...
- [洛谷] P2241 统计方形(数据加强版)
点击查看代码 #include<bits/stdc++.h> using namespace std; long long n, m, total, sum1, sum2; int mai ...
- 棋盘问题(NOIP1997)
题目链接:棋盘问题 这道题水不水呢?还是很水的,为什么?因为数据太小了.直接算就行了. #include<bits/stdc++.h> using namespace std; int m ...
- R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...
- spark处理大规模语料库统计词汇
最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...
- TFS 测试用例步骤数据统计
TFS系统集成了一套BI系统,基于SQL Server的Analysis Service进行实现的.通过这几年的深入使用,能够感触到这个数据数据仓库模型是多么的优秀,和微软官方提供的数据仓库示例Adv ...
随机推荐
- PAT1026 (大模拟)
A table tennis club has N tables available to the public. The tables are numbered from 1 to N. For a ...
- js和jquery实现图片无缝轮播的不同写法
多掌握一种方法总是会有好处的,学习编程就要多思考,举一反三 下面写一下实现图片自动播放的代码,由于学习的是javascript,代码量很大,所以又学习了jquery库的操作,非常简便 还有非常有逼格的 ...
- Apache+PHP+MySQL环境搭建
准备安装包:Apache: apache_2.2.11-win32.msi (http://pan.baidu.com/s/1nvdiNcH)PHP: php-5.2.5-Win32.zip (htt ...
- 【C】C语言中的_exit()与exit()
_exit()和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中. 举例说明: #include <stdio.h> /*demo01 程序只输出 hel ...
- echarts折线图Demo
echarts链接:http://echarts.baidu.com/examples/editor.html?c=line-stack 黑底代码:http://gallery.echartsjs.c ...
- AngularJS——第9章 模块加载
第9章 模块加载 AngularJS模块可以在被加载和执行之前对其自身进行配置.我们可以在应用的加载阶段配置不同的逻辑. [AngularJS执行流程] 启动阶段(startup) 开始 --> ...
- 42-2017蓝桥杯b java
1.购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都 ...
- widdow.locationg.可跟的参数,获取url不同的地址
- php libev扩展使用
在WorkerMan源码分析 - 实现最简单的原型文章中提到了libevent网络库,前者和libev都是事件驱动编程库高性能.简单说libev对libevent做了改进和精简.libevent使用全 ...
- 使用PHP来简单的创建一个RPC服务
RPC全称为Remote Procedure Call,翻译过来为"远程过程调用".主要应用于不同的系统之间的远程通信和相互调用. 比如有两个系统,一个是PHP写的,一个是JAVA ...