【hdu 5517】【2015ACM/ICPC亚洲区沈阳站】Triple 题意&题解&代码(C++)

Temporal Fusion Transformer(TFT)与扩散模型融合:时间序列预测新范式 本文探讨了Temporal Fusion Transformer(TFT)与扩散模型融合的时间序列预测新范式。该融合方案利用TFT强大的特征提取与可解释性,为扩散模型提供精准的“导航图”,从而在噪声数据中实现鲁棒预测,并原生支持不确定性量化,输出完整的概率分布与置信区间,为金融、能源等领域的风险决策提供更可靠的依据。 阅读详情

题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5517
题意:
给出n个二元组<a,b>和m个三元组<c,d,e>现在将其组合成一个新的三元组集合,新三元组中允许有重复元素,一个二元组和一个三元组可以组合当且仅当b==e时将其组合成<a,c,d>,在新组合的三元组中任取一元素<a,b,c>,如果在新组合存在一个元素<u,v,w>使得u!=a && v!=b && w!=c 同时 u>=a && v>=b &&w>=c 则元素<a,b,c>不统计在答案的集合中,否则统计在答案的集合中,问最终答案的集合中有多少元素,可以有重复元素。
题解:
有三维信息,我们发现新三元组中a的值在10^5范围,而b,c范围都在1000以内,这样的话可以用a排序,然后用b,c统计在二维树状数组中,在组合新的三元组时也有一些技巧和方法,可以参考代码来理解。
本题要用long long,多组数据注意初始化。
代码:

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std;
int T,n,m;
int id[100005];
long long cnt[100005];
struct node{
    int a;int b;int c;long long num;
}p[100005],np[100005];
long long sum[1005][1005];
int cmp(node x1,node x2)
{
    if (x1.a!=x2.a) return x1.a<x2.a;
    if (x1.b!=x2.b) return x1.b<x2.b;
    return x1.c<x2.c;  
}
int pan(int i)
{
    if (p[i].a==p[i+1].a&&p[i].b==p[i+1].b&&p[i].c==p[i+1].c)
    return 1;
    return 0;
}
int lowbit(int x)
{
    return x&(-x);
}
int add(int x,int y,long long v)
{
    for (int i=x;i<=1000;i+=lowbit(i))
    for (int j=y;j<=1000;j+=lowbit(j))
    sum[i][j]+=v;   
}
long long query(int x,int y)
{
    long long res=0;
    for (int i=x;i>=1;i-=lowbit(i))
    for (int j=y;j>=1;j-=lowbit(j))
    res+=sum[i][j];
    return res;

}
int solve(int x,int y)
{
    long long res=query(1000,1000)-query(x-1,1000)-query(1000,y-1)+query(x-1,y-1);
    if (res==0)
    return 1;
    else
    return 0;
}
int main()
{
    scanf("%d",&T);
    for (int t=1;t<=T;t++)
    {
        scanf("%d%d",&n,&m);
        memset(sum,0,sizeof(sum));
        memset(id,0,sizeof(id));
        memset(cnt,0,sizeof(cnt));
        for (int i=1;i<=n;i++)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            if (id[b]<a)
            {
                id[b]=a;
                cnt[b]=1;
            }
            else if (id[b]==a)
            cnt[b]++;
        }
        int tot=0;
        for (int i=1;i<=m;i++)
        {
            int a,b,c;
            scanf("%d%d%d",&a,&b,&c);
            if (id[c]!=0)
            {
                tot++;
                p[tot].a=id[c];
                p[tot].b=a;
                p[tot].c=b;
                p[tot].num=cnt[c];
            }
        }
        sort(p+1,p+1+tot,cmp);
        int nn=0;
        long long res=0;
        for (int i=1;i<=tot;i++)
        {
            if (pan(i))
            res+=p[i].num;
            else
            {
                nn++;
                np[nn].num=0;               
                np[nn]=p[i];
                np[nn].num+=res;
                res=0;
            }
        }
        long long ans=0;
        for (int i=nn;i>=1;i--)
        {
            if (solve(np[i].b,np[i].c)) ans+=np[i].num;
            add(np[i].b,np[i].c,np[i].num);
        }
        printf("Case #%d: %I64d\n",t,ans);
    }
}
高压控制单元与接触器 —— BMS电池的“高压大门” 高压接触器在BMS电池管理系统中扮演着“高压大门”的角色,负责控制电池包与整车高压母线的连接与隔离。接触器的工作原理基于线圈产生的磁力吸合接点,通过主触点接通高压电流路径,辅助触点检测状态,灭弧结构保护接点。预充电路的设计是为了避免直接连接大电容时产生的浪涌电流冲击,通过预充电阻逐步充电,确保系统安全上电。接触器控制策略包括顺序控制、辅助触点检测、温度监控、故障断电和背靠背MOS辅助控制,以确保系统的高效和安全运行。工程师在选择接触器型号、控制线圈、检测状态、软件冗余控制和预充失败保护等方面提供了具体建议。 阅读详情

相关推荐

大模型量化技术全解析:从INT8到GPTQ/AWQ,降低部署成本实战指南

模型量化是一种通过降低神经网络权重和激活值的数据精度(如从FP16降至INT8/INT4),从而大幅减少模型内存占用和计算开销的核心模型压缩技术。其原理基于线性变换,将高精度浮点数映射到低精度整数表示,在硬件层面能利用专用低精度计算单元实现显著加速。这项技术的核心价值在于解决了大模型(如千亿参数LLM)部署时面临的高昂显存成本和推理延迟问题,使其能在消费级GPU和边缘设备上高效运行。当前,后训练量化(PTQ)因其无需重新训练的特性成为主流,衍生出GPTQ、AWQ、SmoothQuant等多种方法,广泛应用于

weixin_33804582的博客 629

【hdu5533】【2015ACM/ICPC亚洲区长春站】Dancing Stars on Me 题意&题解&代码

2015ACM/ICPC亚洲区长春站 几何(暴力)

曾经追梦的happy时光 1万+

【RL+空战】学习记录01:jsbsim 仿真环境初次学习,F16 战机起飞

【代码】【RL+空战】学习记录01:jsbsim 仿真环境初次学习,F16 战机起飞。

weixin_41369892的博客 901

三元组Triplet的C++代码(类)实现

C++实现#includeiostream>using namespace std;typedef char ElemType;class Triplet{public:  Triplet(ElemType v1,ElemType v2,ElemType v3);  ~Triplet();  ElemType Get(int) const;  void Put(int,ElemType);

道——世事无常,我心如常 4326

vmware虚拟机网络连接问题

主机:ubuntu14.04 Vitual Network Editor

入门虽易,精通不易,且学且珍惜! 1353

Unity PBR实战:从零打造丝绸材质各向异性高光效果

本文详细介绍了在Unity中实现丝绸材质各向异性高光效果的PBR实战技巧。通过改造Standard Shader、适配IBL环境光以及高级效果调优,开发者可以创建出逼真的丝绸材质,展现动态光纹变化。文章包含关键代码示例和参数配置建议,特别适合需要提升材质表现力的Unity开发者。

weixin_29015483的博客 459

BZOJ3771:Triple——题解

https://www.lydsy.com/JudgeOnline/problem.php?id=3771 大意:给n把不同价值的斧子,从中选一把/两把/三把,所构成的每种价值和的可能情况有多少。 生成函数,指数为价值,系数即为可能情况数。 但是直接FFT乘会有两把/三把斧子拿的同一个的情况。 于是我们多存两个数组,分别记录两把/三把同时拿一把的生成函数,之后就容斥一下就行啦! ...

weixin_34419326的博客 162

生成式AI;语义通信技术;生成式AI辅助的云边协同算法及其可解释性

生成式AI 语义通信技术 生成式AI辅助的云边协同算法及其可解释性 一、端到端设计的物理层内生智能 二、生成式语义通信 三、生成式数字孪生网络 四、生成式AI辅助的云边协同算法及其可解释性 五、未来可能的研究方向

ZhangJiqun&191cm&85kg 425

【普通型母函数+容斥+FFT】BZOJ3771[Triple]题解

题目概述ZigZagK有 nn 把价值不一样的斧子,CHNJZ偷走了 11 把或 22 把或 33 把,对于每个可能的总损失,计算有几种可能的方案。解题报告emm……显然是母函数啊?但是有数量限制。由于最多偷走三把,所以我们可以直接三种情况都讨论过去。11 把:母函数:A(x)=xa1+xa2+xa3+⋯+xanA(x)=x^{a_1}+x^{a_2}+x^{a_3}+\cdots+x^{a_n}

ZigZagK的博客 536

基于深度学习的涂胶缺陷类型检测:数据集处理与YOLOv8模型实现

本文提出了一种基于YOLOv8深度学习的涂胶缺陷检测系统,针对断胶、溢胶、缺胶、气泡及胶条宽度异常等常见缺陷类型,实现了从数据采集到模型部署的完整解决方案。系统采用工业相机采集涂胶图像,通过多形态数据增强策略解决样本稀缺问题,利用YOLOv8框架实现高效检测。相比传统人工目检和规则式机器视觉方法,该系统在检测精度(mAP达97.5%)和实时性(单图检测耗时0.038秒)方面表现优异,可满足智能制造场景下的涂胶质量检测需求。

huanghm88的专栏 271

2026 年 3 月青少年软编等考 C/C++ 三级测试题解析

摘要 本文包含三部分内容: 单选题(10题):考察C++基础语法和数据结构知识,涉及vector、栈、队列的操作和特性。 判断题(10题):测试对动态数组、栈、队列、字符串操作的理解,包括内存管理、访问方式和函数返回值等。 编程题(1题):模拟火车站售票窗口排队场景,要求根据输入输出各窗口的排队情况,重点考查队列的实际应用和边界条件处理。 答案解析详细,涵盖常见编程考点,适合检验基础知识的掌握程度。

发布少儿编程考级的真题和优秀竞赛题解析,以及一些讲义。 248

(有码)NSURLSession

NSURLSession下载,默认将下载的任务保存在tmp下,如果回调方法什么都没做,tmp文件会自动删除 基础: 使用单例session NSURL *url = [NSURL URLWithString:@"urlstring"];     //创建session     NSURLSession *session = [NSURLSession sharedSession];

bin236的博客 4万+

【华为OD技术面试手撕真题】25、验证IP地址 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

验证IP地址 华为od机试真题,华为OD技术二面,华为od机考,华为od手撕真题,华为od技术二面,华为od机试,华为OD机试的高频手撕代码题,华为od八股文

KJ.JK 4043

[HDU 5517][2015ACM/ICPC亚洲区沈阳站] Triple 二维树状数组

Triple Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 295 Accepted Submission(s): 120Problem Description Given the finite multi-set A of

ATOD 909

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HDU - 5517(预处理+树状数组)Triple

2015ACM/ICPC亚洲区沈阳站题意思路代码 题目链接:hdu - 5517 题意 &amp;ThickSpace;&amp;ThickSpace;&amp;ThickSpace;&amp;ThickSpace;\;\;\;\; 一个集合 思路 1.根据坐标求每个位置的数字 &amp;ThickSpace;&amp;ThickSpace;&amp;ThickSpace;&amp;ThickSp...

Neromy 813

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

2015ACM/ICPC亚洲区沈阳站 HDU 5517 Triple (二维线段树)

题意 :略 首先我们先假设出a1,b1和a2,b2分别为(1,2),和(2,2)。那么我们发现,其实(1,2)对于答案是根本没有贡献的。 所以对于b相同的,取a最大的即可。 首先我们定义一个矩阵Map[N][N],Map[c'][d']代表当c=c',d=d'的时候,a所能取到的最大值。 那么对于一个点c',d'假如任何的(c''>=c'&&d''>=d'(不包括点(c',d'))如果都没

tianji_fange_tuhao的博客 660

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU 5517 Triple ACM/ICPC 2015 Shenyang(二维树状数组)

题目读清楚,脑子不混乱,思路自然就会更清晰……         这题就是给你两个集合A和B。A中每个元素包含两个数字a和b,然后B中每个元素包含三个数字c、d和e。我们规定,如果A中的i元素的b与B中的j元素的e相同,那么把这两个元素合并成<a,c,d>加入C集合中。然后,问C集合中,有多少个元素满足C中不存在某个元素的三个数字都大于等于它且不与其相等。         其实复述的也有点乱,好好理解一下吧……然后初始想法是,显然A中的元素,如果两个元素的b相等,而a一大一小,那么显然小的那个不会对结果产生贡

alpc_qleonardo 691

HDU 5517 Triple (枚举+二维树状数组解决三维点数)

Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 898    Accepted Submission(s): 328 Problem Description Given the finite multi-s

K键盘里的青春K 547

hdu 5517 Triple 二维树状数组

Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 571    Accepted Submission(s): 204 Problem Description Given the finite mul

便纵有千种风情 662

hdu 5517 Triple (二维树状数组)

Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1127    Accepted Submission(s): 403 Problem Description Given the finite multi-

Timeclimber 422

HDU_5517_Triple

Triple Time Limit: 12000/6000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1004Accepted Submission(s): 356 Problem Description Given the finitemulti-setA...

weixin_30487701的博客 115

acm刷题记录 (2020.4.2)

leetcode 15 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] ...

Kicate的博客 289

HDU 5517 Triple (2015沈阳站I题&&二维树状数组)

题意:给一个nn个二元组:<a,b><a,b>,给mm个三元组:<c,d,e><c,d,e>。如果b=eb=e那么可以合并二元组,三元组,得到一个新的三元组:<a,c,d><a,c,d>。设所有的二元组,三元组组合后得到的新的三元组的集合是CC。 求CC集合中满足条件的三元组的个数。条件:设这个三元组为uu,在这个集合中找不到任何一个元素,使得改元素中每一个数都大于等于uu中对应的成员。分析:学习

无限大な梦のあとの 何もない世の中じゃ 1697

hdu5517(二维树状数组)

TripleTime Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1184    Accepted Submission(s): 422Problem DescriptionGiven the finite multi-set A of n p...

yypurpose的博客 575

hdu5113 贪心搜索 2014ACM/ICPC亚洲区北京站 B题 Black And White

题意:一个n*m的棋盘,最大是5*5的,最多25个格子,然后在格子上涂色,告诉你有a种颜色,每种颜色涂xi个格子,问有没有一种涂法,使得相邻的格子颜色都不一样,有临边才算相邻。 思路:一道考验智商的题目,首先想到的肯定是爆搜了,但是需要剪枝,但是不知道如何下手。首先可以确定的是,只要有一个x>(n*m+1)/2,直接就挂掉了,输出NO,然后想着想着就觉得这个东西应该能贪心解决。首先把不同颜色的多

世靖的码场 843

【无码专区1】简单路径的第二大边权(启发式合并+最小生成树)

确实这个启发式合并的地方思维很大

51万+
上一篇: 【hdu5515】【2015ACM/ICPC亚洲区沈阳站】 Game of Flying Circus 题意&题解&代码(C++)
下一篇: 【hdu 5521】【 2015ACM/ICPC亚洲区沈阳站重现赛】Meeting 题意&题解&代码
deritt
博客等级 码龄11年 21粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值