HDU 5372 Segment Game

表格数据学习的图神经网络综述 今天学习一篇发表在中科院一区期刊《ACM Computing Surveys》的综述文章《Graph Neural Networks for Tabular Data Learning: A Survey with Taxonomy & Directions》,该刊主要刊载计算机理论方法领域的系统性综述与教程论文,注重跨学科技术融合研究,最新的影响因子为28.0。本文的目的在于通过学习这篇文章,了解关于表格数据学习点图神经网络一些基础知识。 阅读详情
/**
多校联合2015-muti7-1004
<a target=_blank href="http://acm.hdu.edu.cn/showproblem.php?pid=5372">HDU 5372 Segment Game
<span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;"></a></span>
树状数组
*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 400005
#define ll __int64
using namespace std;
int cl[maxn],cr[maxn];
int a[maxn],b[maxn];
int op[maxn];
int dis[maxn],cor;
int n;
void insert(int c[],int i,int val){
  //  cout<<n<<endl;
    while(i<=cor){
        c[i]+=val;
        i+=(i&(-i));
    }
}
int query_sum(int c[],int i){
    int s=0;
    while(i>0){
        s+=c[i];
        i-=(i&(-i));
    }
    return s;
}
int query(int c[],int last){
    if(last>cor) return 0;
    return query_sum(c,cor)-query_sum(c,last-1);
}
void Init(){
    memset(cl,0,sizeof(cl));
    memset(cr,0,sizeof(cr));
    cor=0;
}
void disc(){ //离散化数组去重
    sort(dis,dis+cor);
    int t=0;
    for(int i=1;i<cor;i++){
        if(dis[i]==dis[i-1]) t++;
        else dis[i-t]=dis[i];
    }
    cor-=t;
}
int index(int num){//返回离散值
    return lower_bound(dis,dis+cor,num)-dis+1;
}
int main(){
    int ii=1;
    while(~scanf("%d",&n)){
        printf("Case #%d:\n",ii++);
        Init();
        int l,r,A=1;
        for(int i=0;i<n;i++){
            scanf("%d%d",&a[i],&b[i]);
            if(a[i]==0){
                dis[cor++]=b[i];
                dis[cor++]=b[i]+A;
                A++;
            }
        }
        disc();
        A=1;
        int ans=0;
        for(int i=0;i<n;i++){
            if(a[i]==0){
                l=index(b[i]);
                r=index(b[i]+A);
                //左端点及阻断点后的左端点与右端点后的右端点之差即为所求
                ans=(query(cl,l)-query(cr,r+1));
                printf("%d\n",ans);
                insert(cl,l,1);
                insert(cr,r,1);
                op[A]=b[i];
                A++;
            }
            else{
                l=index(op[b[i]]);
                r=index(op[b[i]]+b[i]);
                insert(cl,l,-1);
                insert(cr,r,-1);
            }
        }
    }
    return 0;
}

微信小程序逆向实战:从HTTPS抓包到API接口全解构 方案原理优点缺点方案一:使用低版本微信+系统代理微信7.0以下版本未强制不走代理操作简单容易被封号,无法使用新版小程序方案二:Hook SSL层(Xposed/Frida)动态Hook Java的TrustManager或系统的SSLContext,绕过证书校验灵活可控需要Root/越狱,技术门槛高方案三:VPN转发抓包(PacketCapture)利用Android VPNService将所有流量转发到本地代理无需Root,兼容性好部分机型存在性能问题。 阅读详情

相关推荐

SAP财务凭证实战:如何用Coding Block快速添加客户化字段(附ABAP代码)

本文详细介绍了在SAP财务凭证中利用Coding Block技术快速添加客户化字段的完整流程,包括技术架构解析、实战配置步骤(OBC4/OB41)及ABAP增强开发。通过案例演示如何高效扩展字段(如增长曲线类型),实现全流程集成且无需修改数据表,显著提升财务凭证的灵活性和可追溯性。

weixin_29271263的博客 227

HDU 5372 Segment Game(线段树+离散化)

题意: 有两种操作: 1. 插入一个线段 2. 删除一个已存在的线段 每次插入后输出当前插入的线段能完整覆盖存在的几条线段。 解析: 线段树上面维护的是两个值,左端点的和,右端点的和 每次插入一条区间[L, R]就, 先询问 [0, R] 的右端点个数 lsum 再询问[L, INF]的左端点的个数 rsum tot表示:当前线段还有几条

小G的ACM之路 994

强化学习-马尔可夫模型

前文提到了强化学习源自马尔可夫决策过程,本文从马尔可夫概念入手,讲解和马尔可夫有关的模型和概念。在马尔科夫决策过程中,我们有一个智能体,它在一个马尔科夫过程中进行决策,每次决策都会导致状态的转移和获得即时奖励。智能体的目标是通过选择动作来最大化未来奖励的期望值。通常马尔科夫决策过程是个五元组:SAPRγSAPRγS 表示状态集合,代表智能体可能处于的所有状态。A 表示动作集合,代表智能体可以采取的所有动作。

君子之学必日新,日新者日进也。不日新者必日退,未有不进而不退者 8062

HDU 5372 Segment Game(树状数组)——多校练习7

HDU 5372 Segment Game(树状数组)——多校练习7 用两个树状数组就可以搞定了

queuelovestack的专栏 1270

手把手复现金蝶云星空V8.1文件上传漏洞(附完整POC与修复方案)

本文深度解析金蝶云星空V8.1文件上传漏洞,提供详细的漏洞复现步骤与完整POC,涵盖技术原理、测试环境搭建及验证流程。同时给出多维防护方案,包括官方补丁部署、临时缓解措施和长期安全加固建议,帮助企业有效防范任意文件上传风险。

weixin_30505225的博客 183

Claude Skills 深度讲解

阶段 1:Function Call(2023)├─ 大模型可以调用外部工具├─ 问题:缺乏对任务的深度理解└─ 局限:工具调用简单线性阶段 2:MCP 上下文工程(2024)├─ 大模型有了更丰富的上下文和工具├─ 问题:仍然需要手动编写复杂的 Prompt└─ 局限:每次对话都需要重新加载上下文阶段 3:Claude Skills(2025)├─ 大模型有了「能力模块」的概念├─ 可以动态加载、组合、执行专门的工作流├─ 真正实现了「知识的模块化和复用」

u013134676的博客 1465

hdu-5372 Segment Game(离散树状数组)(2015多校contest 7)

题意:每次插入一线段或删除之前插入的一条线段,插入线段的长度比之前的长1,对于每次插入输出该线段覆盖前面多少条线段。 题解:对于新插入的线段,查询有多少个线段左端点大于等于该线段的左端点。 再查询有多少个线段的右端点大于该线段右端点, 两者之差就是答案。用两个树状数组搞定。时间复杂度nlog,但因为数据范围大所以树状数组要离散化。 #pragma comment(linker, "/STACK

AC之路 498

期权专题9:雪球期权(一)(BSM+蒙特卡罗定价)

python;雪球定价;蒙特卡罗

mhmh123789的博客 8104

hdu 5372 Segment Game(树状数组)

题目链接:hdu 5372 Segment Game 因为线段长度是递增的,不会出现后面的线段被前面的线段完全覆盖,所以只要分别计算[1,l-1]之间有多少个左端点,[1,r]之间有多少个右端点,想减即可。 #include #include #include using namespace std; const int maxn = 2 * 1e5 + 5; #def

不慌不忙、不急不躁 946

Java Web 图书管理系统的制作指南

实现对图书信息的增删改查(CRUD)操作。支持用户登录与权限管理。图书借阅与归还功能。系统管理员可以管理用户信息和图书库存。

Xiaoxin的博客 1629

OBS技术深度剖析:从开源直播工具到专业制作引擎的进化之路

本文深入剖析了开源直播软件OBS的技术架构与发展历程。从2012年诞生至今,OBS已成长为直播领域的事实标准,其成功源于模块化设计和开源协作模式。文章详细解析了OBS的核心技术:1) 分层架构与插件系统,2) GPU加速的渲染管线,3) 智能音频处理,4) 多平台编码优化。同时探讨了虚拟摄像头、浏览器源等高级功能的实现原理,并提供了性能优化方案和硬件配置建议。随着AI、WebRTC等新技术发展,OBS将持续引领实时内容创作工具的创新,为开发者和创作者提供更强大的技术支持。

程序猿老樊的博客 327

HDU 5372 Segment Game (树状数组+离散化)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5372 题面: Segment Game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 968    Accepte

David_Jett 855

42页Claude 3技术报告解读(Opus, Sonnet, Haiku)

在Claude 3模型中,增加了一个额外的原则到Claude的宪法中,以鼓励尊重残疾人权利,这一原则源自对集体宪法AI的研究。Claude 3模型的训练基于专有的混合数据集,包括截至2023年8月互联网上公开可用的信息,以及第三方提供的非公开数据、数据标注服务和付费承包商提供的数据,还有内部生成的数据。这些初始响应通常包含有害和有毒的内容。Claude 3模型家族在推理、编码和问答任务上展现出卓越的性能,特别是在行业标准基准测试中取得了显著的提升,证明了其在处理复杂问题和提供准确答案方面的能力。

具身机器人和通用AI 2438

HDU5372——树状数组——Segment Game

http://acm.hdu.edu.cn/showproblem.php?pid=5372 /* 要求有多少线段被现在加进去的线段完全覆盖,所求即左端点比当前加进去的线段大的减去右端点比当前加进去的线段大的,就是覆盖的线段树 用两个树状数组来更新左端点和右端点的值 跟求逆序数那道题目一样,进行排序,二分得到现在排序之后的位置,因为前面加进去的能更新后面的 */ /*...

dgjm4087的博客 140

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

HDU - 5372 Segment Game 树状数组

HDU - 5372 我们考虑总的线段减去违法的线段, 因为是按长度从小到大加入数轴的, 所以违法线段就是Rj > Ri的个数加上 Lj < Li 的个数, 用树状数组维护就完事了。 #include<bits/stdc++.h> #define LL long long #define LD long double #define ull un...

154

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

hdu 5372 Segment Game

Segment Game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1198    Accepted Submission(s): 345 Problem Description Lillian is a c

Dikea's Blog 872

【HDU 5372】Segment Game(树状数组)

题解: 对于新插入的线段,查询有多少个线段左端点大于等于该线段的左端点。 再查询有多少个线段的右端点大于该线段右端点, 两者之差就是答案。 这里注意两个问题,一个是离散化,第二个这道题时间卡的可能比较严,线段树貌似会超时~ 好久没写离散化了。。。生疏了 #include #include #include using namespace std; const int max

花月阁 873

HDU 5372 Segment Game(线段树)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5372 题意:n次操作,每次读入a,b。当a = 0,加入线段,线段开头位置为b,结尾位置为b + i ,其中 i 表示当前是第 i 个加入线段的操作。a = 1,删除线段,删除第 b 次加入线段操作时加入的线段。每次加入线段,输出已经加入的线段中有多少个线段能被现在加入的线段完全覆盖。 思路:构造两个

cookiesMonster 403

HDU 5372 Segment Game 树状数组

Segment Game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1407    Accepted Submission(s): 414 Problem Description Lillian is a cleve

KeyboardPianist的博客 540

hdu5372 Segment Game 树状数组

题意:有长度为1,2,3……的若干线段,现在在x轴上进行操作(a,b)。           当a=0时为添加操作,在[ b,b+i ]上放上一条长度为 i 的线段(当前添加操作是第 i 次添加操作)。           当a=1时为删除操作,把第 b 次添加操作的线段删掉。           每次添加操作时,输出该区间范围内有多少个完整的线段。           操作数 分析

smilewsw的专栏 855

hdu5372 Segment Game

Problem Description Lillian is a clever girl so that she has lots of fans and often receives gifts from her fans. One day Lillian gets some segments from her fans Lawson with lengths of 1,2,3...

新月 1103

[HDU 5372] Segment Game (树状数组)

HDU - 5372 给定若干条长度为 1、2、3…递增的线段 每次向数轴上添加一条线段,或者删除一条线段 问每次添加的线段能完全覆盖多少条已有线段 这题卡CDQ分治,而CDQ分治没有用到长度递增这个条件 之前的线段与正在添加的线段的位置情况只有三种 之前的线段 [l0,r0][l_0, r_0], 当前线段 [l,r][l,r] 1. l0<ll_0<l,则必有 r0<rr_

MisDeer's blog 383

hdu5372Segment Game 树状数组

//n个输入 //a[i] b[i] a[i] = 0 , 加上线段[b[i],b[i]+x] , x为加操作的个数 //a[i] = 1 减去第b[i]个加入的线段 //问对于每一个新加的区间能够包括有多少完整的区间 //可以知道线段的长度是递增的,所以原来的区间的长度没有大于现在的 //所以只要求原来的所有区间的左区间大于新加的减去右边大的 //然后由于|b[i]|<=1e9 //所以先将其

ijbuhv的专栏 544
上一篇: HDU 5373 The shortest problem
下一篇: POJ 3017 Cut the Sequence
mitic
博客等级 码龄11年 4粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值