蓝桥杯刷题-数星星

1265. 数星星 - AcWing题库

cpp 复制代码
/* 题目中的y是递增,不影响 */
/* 直接看作一维数组的更新维护 */
/* 将数据二进制化,拿最低位的1 */
/* 转化为线段树的解法才是核心 */
/* 思想是前缀和 */
#include <bits/stdc++.h>

using namespace std;

const int N = 15010 , M = 32010;

int level[M];
int tr[M];
int n;
/* 求最低位的1 */
int lowbit(int x)
{
    return x&-x;
}
/* 树状数组 */
int add(int x, int v)
{
    for(int i = x;i <= M;i += lowbit(i)) tr[i] += v;
}
/* 查询 */
int qy(int x)
{
    int ans = 0;
    for(int i = x; i ;i -= lowbit(i))
    {
        ans += tr[i];
    }
    return ans;
}

int main()
{
    /* 读入 */
    cin >> n;
    for(int i = 0;i < n;i ++)
    {
        int x , y;
        cin >> x >> y;
        x ++; //防止出现0的情况
        level[qy(x)] ++; // 前缀和结果
        add(x ,1);
    }
    for(int i = 0;i < n;i ++) 
        cout << level[i] << endl;
    return 0;
}
相关推荐
灰色小旋风7 分钟前
力扣20有效的括号(C++)
c++·算法·leetcode·职场和发展
keep intensify2 小时前
最小路径和
算法·leetcode·职场和发展
includei2 小时前
【社招】面试_中科飞思_前端工程师
前端·面试·职场和发展
多打代码2 小时前
2026.03.23 最长递增子序列 & 最长连续递增序列 & 最长公共子序列
算法·leetcode·职场和发展
闻缺陷则喜何志丹2 小时前
【动态规划+前缀和+化环为链】P8810 [蓝桥杯 2022 国 C] 数组个数|普及+
c++·算法·前缀和·蓝桥杯·动态规划·洛谷·化环为链
爱敲代码的菜菜3 小时前
【面试】软件测试
面试·职场和发展
红云梦4 小时前
用大模型生成结构化面试评估报告:Prompt工程实战
ai·面试·职场和发展·prompt
羊小猪~~4 小时前
算法/力扣--数组典型题目
c语言·c++·python·算法·leetcode·职场和发展·求职招聘
x_xbx4 小时前
LeetCode:198. 打家劫舍
算法·leetcode·职场和发展