HPU1012 QAQ的区间统计

2024-04-10 18:48
文章标签 统计 区间 qaq hpu1012

本文主要是介绍HPU1012 QAQ的区间统计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1012: QAQ的区间统计 [思维]

时间限制: 1 Sec  内存限制: 128 MB

提交: 305  解决: 77  统计

题目描述

QAQ有一个区间[L,R][L,R]。已知QAQ很喜欢长度为奇数的区间,现在请你告诉他有多少个长度为奇数的子区间。
对于区间[2,4][2,4]来讲,它的子区间有[2,2][2,3][2,4][3,3][3,4][4,4][2,2][2,3][2,4][3,3][3,4][4,4]66个。

输入

第一行输入一个整数TT,代表有TT组测试数据。
每组数据输入两个整数L,RL,R,代表区间的端点。

注:1<=T<=10000000<=L<=R<=1000000001<=T<=1000000,0<=L<=R<=100000000

输出

对每组测试数据,输出一个整数代表长度为奇数的子区间个数。

样例输入

2
1 6
1 5

样例输出

12
9

列举发现

长度                           个数

1                                1

2                                2

3                                4

4                                6

5                                9

6                                12

长度为奇数:(len+1)/2整体再平方

长度为偶数:len/2*(len/2+1);

----------------------------------------------------------------------------------------------------------------

 

时间超限:

#include<iostream>
using namespace std;
int main()
{
int T;
long long L,R,len,n,ans;
cin>>T;
while(T--) 
{
cin>>L>>R;
len=R-L+1;
if(len%2)
{
n=(len+1)/2;
ans=n*n;
//ans=(len+1)/2*(len+1)/2;
}
else
{
n=len/2;
ans=(n+1)*n;
// ans=len/2*(len/2+1);
}
cout<<ans<<endl;
}
return 0;
}



AC:

#include<stdio.h>  
int main()  
{  
    int t;  
    scanf("%d",&t);  
    while(t--)  
    {  
        long long l,r;  
        scanf("%lld%lld",&l,&r);  
        long long len=r-l+1,ans,n;  
        if(len%2)  
        {  
            n=(len+1)/2;  
            ans=n*n;  
        }  
        else  
        {  
            n=len/2;  
            ans=n*(n+1);  
        }  
        printf("%lld\n",ans);  
    }  
    return 0;  
}  



这篇关于HPU1012 QAQ的区间统计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891851

相关文章

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

hdu4267区间统计

题意:给一些数,有两种操作,一种是在[a,b] 区间内,对(i - a)% k == 0 的加value,另一种操作是询问某个位置的值。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import

hdu4417区间统计

给你一个数列{An},然后有m次查询,每次查询一段区间 [l,r] <= h 的值的个数。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRead

hdu3333区间统计

题目大意:求一个区间内不重复数字的和,例如1 1 1 3,区间[1,4]的和为4。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

【Python 千题 —— 算法篇】字符统计

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在编程中,对字符串的字符统计是一个常见任务。这在文本处理、数据分析、词频统计、自然语言处理等领域有广泛应用。无论是统计字母出现的频率,还是分析不同字符类型的数量,字符串字符统计都是非常有用的技术。 字符统

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户