HPU1012: QAQ的区间统计【找规律】
来源:互联网 发布:南京旅游攻略 知乎 编辑:程序博客网 时间:2024/04/28 20:08
1012: QAQ的区间统计
时间限制: 1 Sec 内存限制: 128 MB提交: 155 解决: 50
[提交][状态][讨论版]
题目描述
QAQ有一个区间[L, R]。已知QAQ很喜欢长度为奇数的区间,现在请你告诉他有多少个长度为奇数的子区间。
对于区间[2 4]来讲,它的子区间有[2 2] [2 3] [2 4] [3 3] [3 4] [4 4]共6个。
为了简化题目,QAQ所给的区间里面全是非负整数。
对于区间[2 4]来讲,它的子区间有[2 2] [2 3] [2 4] [3 3] [3 4] [4 4]共6个。
为了简化题目,QAQ所给的区间里面全是非负整数。
输入
第一行输入一个整数T,代表有T组测试数据。
每组数据输入两个整数L,R,代表区间的端点。
注:1 <= T <= 1000000,0 <= L <= R <= 100000000。
每组数据输入两个整数L,R,代表区间的端点。
注:1 <= T <= 1000000,0 <= L <= R <= 100000000。
输出
对每组测试数据,输出一个整数代表长度为奇数的子区间个数。
样例输入
21 61 5
样例输出
12
注意:L和R都可能等于10^8,当程序中出现两数相乘或者相加的结果超int的时候,L和R就不能用int存,要用long long;一定要注意这个问题,否则会出错;
代码:
#include<stdio.h>int main(){int t;long long l,r;scanf("%d",&t);while(t--){long long sum=0;scanf("%lld%lld",&l,&r);long long t=r-l+1;if(t%2==0){int m=t/2;sum=m*(2+t)/2;}else{int m=t/2+1;sum=(1+t)*m/2;}printf("%lld\n",sum); } return 0; }
代码2:因为没用long long,WA到死;
#include<stdio.h> int main() { int t; long long L,R,n; scanf("%d",&t); while(t--) { long long ans=0; scanf("%lld%lld",&L,&R); if((R-L+1)%2==0) { n=(R-L+1)/2; } else { n=(R-L+1)/2+1; } ans=n*(R-L+1)-n*(n-1); printf("%lld\n",ans); } return 0; }
0 0
- HPU1012: QAQ的区间统计【找规律】
- HPU1009 QAQ的区间价值【数学找规律】
- QAQ的区间统计
- QAQ的区间统计
- hpu-【1012: QAQ的区间统计】
- 【HPU 1012 QAQ的区间统计】
- 【hpu oj 1012: QAQ的区间统计 [思维]】
- QAQ的区间价值
- QAQ的区间价值
- 【HPU 1009 QAQ的区间价值】
- 【校内互侧】ZYF loves qaq (找规律+递推)
- noj 2107 有趣的区间异或值(异或,找规律)
- 找合法帧 QAQ
- 母牛的故事 + 找规律
- Cantor的数表 【找规律】
- 一道找规律的题
- 【hpu oj 1009 QAQ的区间价值 思维】
- 历届试题 连号区间数 (找规律+枚举)
- Get text from Input field in Unity3D with C#
- 拖拽中怎么修复bug
- 全屏下保持状态栏存在
- Matlab批量修改文件名
- 工具依赖症
- HPU1012: QAQ的区间统计【找规律】
- InputField.onValueChanged
- JavaScript趣题:排列组合实战
- yarn - 一个可能取代npm的新型包管理器[Facebook出品,附带中文使用教程]
- Handler的基本应用
- java hdu2000~2100节选
- 26岁成为亿万富翁是第一步
- theano实现k-max poling for CNNs
- 2017微软秋季校园招聘在线编程笔试 Composition (DP)