首页 > 其他分享 >abc221D 统计在线游戏人数

abc221D 统计在线游戏人数

时间:2024-03-12 21:22:52浏览次数:12  
标签:cur int rep 游戏 abc221D mp ans 在线

有一款在线游戏,共有n名注册玩家,第i名玩家从第a[i]天开始上线,持续在线b[i]天。现在要统计在线人数为x[i]的天数,其中1<=x[i]<=n
1<=n<=2E5; 1<=a[i],b[i]<=1E9;

先按差分更新,然后求前缀和还原,再遍历一次统计答案,时间复杂度O(n)。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,b) for(int i=a; i<=b; i++)
#define per(i,a,b) for(int i=b; i>=a; i--)

int n, ans[200001];
map<int,int> mp;
void solve() {
    cin >> n;
    rep(i,1,n) {
        int a, b;
        cin >> a >> b;
        mp[a] += 1;
        mp[a+b] -= 1;
    }
    int cur = 0;
    for (auto &[k,v] : mp) {
        v += cur;
        cur = v;
    }
    int K = 0, V = 0;
    for (auto &[k,v] : mp) {
        if (V) ans[V] += k - K;
        K = k;
        V = v;
    }
    rep(i,1,n) cout << ans[i] << " ";
    cout << "\n";
}

signed main() {
    cin.tie(0)->sync_with_stdio(0);
    int t = 1;
    while (t--) solve();
    return 0;
}

标签:cur,int,rep,游戏,abc221D,mp,ans,在线
From: https://www.cnblogs.com/chenfy27/p/18069312

相关文章

  • Blender与在线渲染农场的结合
    ​在数字艺术和三维设计的世界里,Blender软件因其强大的功能和灵活性而广受欢迎。然而,随着项目复杂性的增加,渲染时间也随之增长,成为艺术家和设计师面临的一大挑战。在线渲染农场的出现,为这一问题提供了革命性的解决方案。本文深入探讨了Blender与在线渲染农场结合的优势,如何加速创......
  • 轻松实现转换的4款好用的在线PDF转换器
    在日常工作和学习中,PDF作为一种常见的文档格式,比较容易阅读。然而,有时候我们可能需要将PDF文件转换为其他格式,如Word、Excel、PPT等,以便于编辑、修改或提取内容。下面分享4款简单好用的PDF转换工具。第一款:PDFtoWord这是一款专注于PDF转Word的工具,它能够准确地将PDF文件中的文字......
  • 跨境电商独立站整合在线客服功能
    如果你有一个外贸独立站,想要在自己网站实现在线客服功能 请注册账号https://gofly.v1kf.com/ 前往【部署】【团队设置】【网站接入】【弹窗模式】可以找到JS代码,直接把该代码粘贴到网页任何位置,就可以点击右下角图标直接聊天了。 ......
  • 使用 Docker 部署 Fiora 在线聊天室平台
    一、Fiora介绍Fiora简介Fiora是一款开源免费的在线聊天系统。GitHub:https://github.com/yinxin630/fioraFiora功能注册账号并登录,可以长久保存你的数据加入现有群组或者创建自己的群组,来和大家交流和任意人私聊,并添加其为好友多种消息类型,包括文本/表情/图片/......
  • 45. 跳跃游戏 IIc
    暴力DFS超时了。先放着把。intmin;voiddfs(int*nums,intnumsSize,intindex,intcount){if(index>=numsSize-1){if(count<min)min=count;return;}for(inti=nums[index];i>0;i--){dfs(nums,numsSize,index+i,count+1);......
  • 55. 跳跃游戏c
    动态规划实在让人上瘾啊,虽然过程很难想,但是代码实现实在太简单了。intmax(inti,intj){if(i>j)returni;returnj;}boolcanJump(int*nums,intnumsSize){if(numsSize==1&&nums[0]>=0)returntrue;if(nums[0]==0)returnfalse;int*dp=(......
  • 【游戏设计随笔06】关于《塞尔达传说》的迷宫设计(dungeons design)的一些思考
    在塞尔达里,迷宫是多个小房间的组合,有些锁着的小房间是需要“小钥匙”这一道具去解锁才能通行的。关卡设计问题的出现:初代的塞尔达中,钥匙可以在整部游戏的任何门上使用,这导致了各种麻烦的情况。通常你持有的钥匙是大于需要解锁的房间的,因为随着游戏进程的推进,一些需要解......
  • 试着写一下MMORPG游戏游戏的自动挂机
    因为,视频里教到了植物大战僵尸的自动放置Call就结束了,所以暂且先跟着视频走。而视频就开始研究mmorpg游戏了。所以我打算跟着视频走。而上个项目大体能够理解其实就是用CE找基址,然后通过代码注入的方式实行自动脚本之类的东东。至于CE找基址OD找call这些设计经验的东西我会慢慢......
  • CTS2024 投票游戏
    首先手玩可以发现求出两人谁先被票出是困难的,但如果我们能求出两人各票出时的票数,那么只要比较一下票数的大小就可以直到票出的顺序,然而一个点的票数的大小与其子结点有关,如果我们能确定子结点最终票出时的票数,那么只要处理当且菊花图的一个问题即可,将子节点的最终票数从大到小排......
  • 原神游戏排行榜为什么超越了王者荣耀 ?
    《原神》游戏排行榜超越《王者荣耀》的现象,可能是由多个因素共同作用导致的。以下是一些可能的原因:全球化的影响:《原神》作为一款全球发行的游戏,其受众群体相对更广泛。与此同时,《王者荣耀》虽然在国内拥有庞大的用户基础,但在国际市场的推广和接受度上可能相对有限。因此,从全球范......