HDU-4354-treeDP

2024 电商订单明细数据集(24列,382287条记录)CSV 详情介绍:该数据集为 2024 年电商订单明细,可以关联电商用户画像数据集(16列, 98673条记录)CSV,覆盖食品生鲜 / 3C 电子 / 美妆护肤 / 家居日用 / 服装鞋帽 5 大类、15 个品牌,平均客单价 1717 元、支付宝 + 微信支付占 75%、88% 订单无促销、取消率 5%,适合做 RFM 用户分层、购物篮关联分析、销售预测和促销效果评估。 立即下载

 枚举区间。[l, r]

开始 l = r = 1, 记录已经出现的国家。

判断是否满足条件。

如果满足,更新答案,更新区间出现的国家,l++, 一直到不满足。

如果不满足,更新区间出现的国家,r++, 一直到满足。


const int C = 5005;
const int N = 2005;
const int M = 1005;

int cnt[N]; //i国家出现过的次数
int vis[C];
int dp[C][2];
int c, n, k, m;
vector<int>v[N];
struct city
{
    int x, y;
    bool operator<(const city &a) const
    {
        return x<a.x;
    }
}ct[C];

int min(int x, int y)
{
    if(x==-1) return y;
    return x<y?x:y;
}

void dfs(int s)
{
    vis[s] = 1;
    dp[s][1] = 1;
    dp[s][0] = 0;
    for(int i=0; i<v[s].size(); i++)
    {
        int ss = v[s][i];
        if(vis[ss]==1 || cnt[ss]==0) continue;
        dfs(ss);
        dp[s][1] += dp[ss][0];
        dp[s][0] += max(dp[ss][1], dp[ss][0]);
    }
}

bool ok(int l, int r)
{
    int res = 0;
    memset(vis, 0, sizeof(vis));
    for(int i = l; i<=r; i++)
    if(vis[ ct[i].y ]==0)
    {
        dfs( ct[i].y );
        res += max( dp[ ct[i].y ][0], dp[ ct[i].y ][1] );
    }
    if(res>=k) return true;
    else return false;
}

int solve()
{
    int kk, l, r;
    kk = l = r = 1;
    cnt[ ct[1].y ]++;
    int ans = -1;
    while(r<=c)
    {
        if(kk>=k && ok(l, r))
        {
            ans = min(ans, ct[r].x - ct[l].x);
            cnt[ ct[l].y ]--;
            if( cnt[ ct[l].y ]==0 ) kk--;
            l++;
        }
        else
        {
            r++;
            cnt[ ct[r].y ]++;
            if( cnt[ ct[r].y ]==1 ) kk++;
        }
    }
    return ans;
}

int main()
{
    int t, tt=0, i, x, y;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d%d%d", &c, &n, &k, &m);
        for(i=1; i<=n; i++) v[i].clear();
        memset(cnt, 0, sizeof(cnt));
        memset(vis, 0, sizeof(vis));
        for(i=1; i<=c; i++) scanf("%d%d", &ct[i].x, &ct[i].y);
        sort(ct+1, ct+1+c);
        for(i=1; i<=m; i++)
        {
            scanf("%d%d", &x, &y);
            v[x].push_back(y);
            v[y].push_back(x);
        }
        printf("Case #%d: %d\n", ++tt, solve());
    }
	return 0;
}


Picture of ssh key 立即下载

相关推荐

政府科技管理者在推动区域科技成果转化过程中,如何系统性地识别和分析创新资源的配置瓶颈?.docx

政府科技管理者在推动区域科技成果转化过程中,如何系统性地识别和分析创新资源的配置瓶颈?

HDU 4354 Missile 树的最大独立集+枚举

题意:在一条直线上有C个城市,分别属于N个国家,需要炸毁至少K个国家的城市,花费的金额为两端城市的距离,国家间有M个特殊关系,有关系的两个国家中最多只能摧毁一个国家的城市,关系没有传递性,求所需要的最小花费,如果无法完成输出-1。只能炸一次且不一定要炸掉线段上所有的城市。 解题思路:最先考虑的就是用什么模型了。 假如有a个国家,有的国家之间有边相连,问选哪些国家使得选中的国

Veda_的专栏 1500

政府科技管理者如何提升区域科技成果转化项目的评价与筛选效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

hdu 4354 Missile 【多校6】【树形dp】

被坑了!!10^9 - (-10^9) 会超过 0x3f3f3f3f , 搞的我 2 2 2 0 999999999 1 -999999999 2 这组直接输出 - 1 #include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;cstdio&gt; #include&lt;que...

java开发指南博客 【转载】 161

高校技术转移办公室人员在成果转化过程中如何快速提升技术推介效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文档系统性地介绍了基于Simulink平台的两相交错并联Boost电路仿真模型,属于电力电子变换器建模与仿真研究的重要组成部分。该模型采用交错并联结构,有效提升了系统效率、降低了输出电流纹波,并具备优良的动态响应与系统稳定性。文档不仅聚焦于该特定拓扑的开环与闭环控制实现,还整合了丰富的配套资源,涵盖多种主流DC-DC变换器(如Buck、Boost、LLC、CLLC)、功率因数校正(PFC)电路、PWM整流器、双向充放电系统以及新能源应用场景(如V2G、微电网)等领域的仿真模型。资源体系强调软开关技术、多相交错控制、系统级建模与参数优化设计,所有内容均提供可运行的Simulink仿真文件,部分包含详细的设计报告、计算书及参考文献,具有较强的工程实践与科研复现价值。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的硕士博士研究生、高校科研人员,以及从事新能源发电、电动汽车、电源系统设计等领域的工程技术人员。; 使用场景及目标:①支撑高校电力电子与电力系统方向的科研项目,用于新型拓扑结构的建模与先进控制算法的验证;②服务于本科生与研究生的毕业设计、课程设计及高水平学术论文的仿真复现;③为企业在电源产品研发、新能源系统集成等环节提供成熟的仿真方案参考,缩短研发周期,降低试错成本。; 阅读建议:建议使用者首先访问文档末尾提供的完整资源目录链接,按需下载对应仿真模型;在实践过程中,应重点关注模型的参数配置、控制策略实现细节与仿真工况设置,结合配套的说明文档深入理解其工作原理与设计思路,推荐在MATLAB/Simulink环境中动手调试与二次开发,以充分掌握电力电子系统的核心技术。

HDU 4354 Missile(树形DP)

题目大意: 给出C个城市,这C个城市中每个都属于M个国家中的某个国家, 然后敌人想炸毁K个国家的城市。 然后特别的是,两个国家如果有关系那么只能摧毁其中一个,关系没有传递性 关于输入的测试用例: 首先,先输入一行T,代表有T组CASE                                 然后输入C,N,K,M                 C:代表有C座城市     

十动然拒,不明觉厉 641

基于单片机的电动工程机械高压管理单元控制器设计.docx

基于单片机的电动工程机械高压管理单元控制器设计.docx

别再手动算占空比了!用STM32的PWMI模式,硬件自动搞定频率和占空比测量

本文详细介绍了STM32的PWMI模式如何实现PWM信号的频率和占空比全自动测量,解放CPU算力。通过硬件自动化的输入捕获功能,STM32的TIM模块能够零CPU干预地完成高精度测量,适用于电机控制、传感器数据采集等场景。文章还提供了基于TIM3的实战配置代码和性能优化技巧。

weixin_30681615的博客 344

IEC 101 仿真调试台是基于 Windows 桌面工具,用于 IEC 60870-5-101(简称 IEC 101 / 101 规约)串口远动通信的仿真、调试与报文分析

IEC 101 仿真调试台是基于 Windows 桌面工具,用于 IEC 60870-5-101(简称 IEC 101 / 101 规约)串口远动通信的仿真、调试与报文分析。同一个程序内既可充当主站(控制站),也可充当从站(被控站 / RTU),并内置 FT1.2 链路层原始帧的逐字段解析。 本软件是规约仿真与调试工具,不替代 SCADA/EMS 主站系统,也不作为生产环境长期运行的前置机。现场接入真实装置前,请确认串口电气接口(RS-232/RS-485)、电平转换与接线方式正确。

科技中介服务机构如何实现技术经纪人的能力画像与绩效评估?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

HDU 4354

思路是在看电视时突然想到的。枚举区间,然后按树形DP来选择最大值看是否满足条件。但枚举区间时的方法低效,看了题解,说枚举区间可以设两个指针逐步移动, 开始 l = r = 1, 记录已经出现的国家。 判断是否满足条件。 如果满足,更新答案,更新区间出现的国家,l++, 一直到不满足。 如果不满足,更新区间出现的国家,r++, 一直到满足。 但我写了好久,呃,没正确。。。。 #inc...

weixin_30252709的博客 124

deepseek-harness-0.2.2-rc.1-win-x64.zip

deepseek-harness-0.2.2-rc.1-win-x64.zip

产业园区运营负责人如何实现科技资源的高效配置与联动?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环及双闭环控制系统的建模仿真与性能对比分析,深入探讨了不同控制策略对系统动态响应、稳态精度、抗扰能力及鲁棒性的影响。通过构建完整的仿真模型,详细阐述了各控制结构的设计思路、关键模块实现方法及PI控制器参数整定过程,并结合仿真波形对比分析了三种控制方式在启动过程、负载突变等工况下的输出电压表现,充分验证了双闭环控制在抑制电压波动、提升调节速度和负载适应性方面的显著优势。文档还提供了详尽的参数设置指南和参考文献,便于读者复现结果并开展进一步研究。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的本科生、研究生,以及从事直流变换器设计、控制算法开发和系统仿真的科研人员与工程技术开发者。; 使用场景及目标:①掌握三电平Buck变换器的工作原理与数学建模方法;②理解电压模式控制与电流模式控制的差异与应用场景;③学习双闭环PI控制器的设计流程与参数整定技巧;④为电力电子装置的控制器设计、性能优化及科研项目提供仿真验证平台与技术参考。; 阅读建议:建议读者结合Simulink软件动手搭建仿真模型,分步实现开环、单闭环与双闭环控制系统,通过调整控制器参数并观察不同工况下的系统响应,深入理解控制策略对系统性能的影响机制,同时结合提供的参考文献强化理论基础,实现从仿真到实际应用的有效过渡。

三层交换机第一次作业.docx

三层交换机第一次作业.docx

ddrc111111111111111111

ddrc1111111111111111111

基于51单片机的智能灌溉系统

基于51单片机的智能灌溉系统

jiejiezuishuai的博客 2102
上一篇: HDU-4358-树状数组+离散化
下一篇: HDU-4044-treeDP+分组背包
walk_up
博客等级 码龄15年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值