[统计]hunnu 10571 Counting Girls#树状数组

该博客介绍了如何利用树状数组解决一道统计问题,包括插入、删除、查询等操作。博主强调了在处理输入时要注意将x加1,并且指出了题目的潜在陷阱,即输入的x应该小于200000。此外,还提供了一个C语言实现的完整代码示例。
摘要由CSDN通过智能技术生成
/**
[统计]hunnu 10571 Counting Girls#树状数组
command 0--6
0 x插入x
1 x删除x
2 x询问x的个数
3 x询问第x大
4 x,y 询问[x,y]区间个数
5 x,y 询问[xth,yth]大的平均数
6 询问数组大小
用树状数组需要注意,输入的x可能为0,这里把所有的x处理成了x+1
其次,题目描述坑爹,输入的x应该是小于200000
*/
#include <stdio.h>
#include <string.h>
using namespace std;

#define N 200002
#define lowbit(i) (i & -i)
__int64 s[N],r[N];
void add(int i,int c,__int64 *arr)
{
    for(; i < N; i += lowbit(i))
        arr[i] += c;
}
__int64 sum(int i,__int64 *arr)
{
    __int64 ans = 0LL;
    for(; i > 0; i -= lowbit(i))
        ans += arr[i];
    return ans;
}
int total;
int getK(int x)
{
    int l = 1,rr = N - 1,mid;
    while(l < rr)
    {
        mid =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值