当前位置: 首页 > news >正文

【一本通】intervals

【一本通】intervals


💐The Begin💐点点关注,收藏不迷路💐

给出n个闭区间[ai,bi]和n个整数c1,……,cn。令Z表示一个整数集合,Z集合中最少要包含多少个整数可以使得每个区[ai,bi]都至少有ci个整数位于Z集合中。

输入

第一行一个整数n,表示区间数量。接下来n行,每行ai,bi,ci三个整数描述一个区间[ai,bi]要用ci个整数在Z集合中。

输出

输出Z集合的最小大小.

样例输入

5
3 7 3
8 10 3
6 8 1
1 3 1
10 11 1

样例输出

6

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXN 50010
#define INF 0x3f3f3f3f

// 定义结构体表示边,用于构建图
typedef struct Edge {
    int v;
    int w;
    struct Edge *next;
} Edge;

// 定义结构体表示图
typedef struct Graph {
    Edge *head[MAXN];
} Graph;

// 创建边的函数
Edge *createEdge(int v, int w) {
    Edge e = (Edge )malloc(sizeof(Edge));
    e->v = v;
    e->w = w;
    e->next = NULL;
    return e;
}

// 向图中添加边的函数
void addEdge(Graph *g, int u, int v, int w) {
    Edge *e = createEdge(v, w);
    e->next = g->head[u];
    g->head[u] = e;
}

// 初始化图的函数
void initGraph(Graph *g) {
    for (int i = 0; i < MAXN; i++) {
        g->head[i] = NULL;
    }
}

// 求最长路的函数(这里使用SPFA算法实现)
int spfa(Graph *g, int n, int start, int *dis) {
    int inQueue[MAXN] = {0};
    int count[MAXN] = {0};
    int queue[MAXN];
    int front = 0, rear = 0;

    for (int i = 0; i <= n; i++) {
        dis[i] = -INF;
    }
    dis[start] = 0;
    inQueue[start] = 1;
    queue[rear++] = start;

    while (front < rear) {
        int u = queue[front++];
        inQueue[u] = 0;
        Edge *e = g->head[u];
        while (e) {
            int v = e->v;
            int w = e->w;
            if (dis[v] < dis[u] + w) {
                dis[v] = dis[u] + w;
                if (!inQueue[v]) {
                    inQueue[v] = 1;
                    // SLF优化,距离比队首大(求最长路情况)则插入队首
                    if (dis[v] > dis[queue[front]] && front < rear) {
                        // 移动元素,腾出队首位置插入当前节点
                        for (int i = rear; i > front; i–) {
                            queue[i] = queue[i - 1];
                        }
                        queue[front] = v;
                        rear++;
                    } else {
                        queue[rear++] = v;
                    }
                    count[v]++;
                    if (count[v] > n) {
                        return -1;  // 存在正环,无解
                    }
                }
            }
            e = e->next;
        }
    }
    return 0;
}

int main() {
    int n;
    scanf(“%d”, &n);
    Graph g;
    initGraph(&g);
    int maxRight = 0;
    // 读入区间信息,同时构建差分约束的图,并记录最右边界
    for (int i = 0; i < n; i++) {
        int ai, bi, ci;
        scanf(“%d %d %d”, &ai, &bi, &ci);
        addEdge(&g, ai, bi + 1, ci);
        if (bi > maxRight) {
            maxRight = bi;
        }
    }
    // 添加额外的边构建完整的差分约束图
    for (int i = 1; i <= maxRight; i++) {
        addEdge(&g, i, i + 1, 0);
        addEdge(&g, i + 1, i, -1);
    }
    int dis[MAXN];
    spfa(&g, maxRight + 1, 1, dis);
    printf(“%d\n”, dis[maxRight + 1]);
    return 0;
}

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

相关文章:

【一本通】intervals

【一本通】intervals &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给出n个闭区间[ai,bi]和n个整数c1,……,cn。令Z表示一个整数集合&#xff0c;Z集合中最少要包含多少个整数可以使得每个区[ai,bi]都至少有ci个整数位于Z集合中。 输入 …...

测试脚本并发多进程:pytest-xdist用法

参考&#xff1a;https://www.cnblogs.com/poloyy/p/12694861.html pytest-xdist详解&#xff1a; https://www.cnblogs.com/poloyy/p/14708825.html 总 https://www.cnblogs.com/poloyy/category/1690628.html...

ALOHA 协议详解

注&#xff1a;本文为 “ALOHA 协议” 相关文章合辑。 未去重整理。 动态分配信道&#xff08;ALOHA 协议、CSMA 协议&#xff09; QuantumYou 于 2021-07-27 09:32:04 发布 ALOHA 协议 纯 ALOHA 协议 -纯 ALOHA 协议思想&#xff1a;不监听信道&#xff0c;不按时间槽发送…...

ios h5中在fixed元素中的input被focus时,键盘遮挡input (van-popup、van-feild)

问题描述&#xff1a; 前提&#xff1a;我使用的是vant组件库&#xff0c;其中一个页面中有一个van-popup组件&#xff0c;van-popup组件中又嵌套了一个van-field组件预期结果&#xff1a;当点击van-feild输入框时&#xff0c;键盘弹起&#xff0c;输入框显示在键盘上方实际结…...

【Mysql】索引下推、索引合并详解

文章目录 1. 索引下推&#xff08;Index Condition Pushdown, ICP&#xff09;定义工作机制实现过程优化的典型场景 2. 索引合并&#xff08;Index Merge&#xff09;定义索引合并方式使用限制 3. 对比与应用场景选用建议 这篇文章就简单的给大家介绍下索引下推、索引合并 1. 索…...

简易记事本项目—基于SSM+Vue前后端分离

&#x1f308;&#x1f308;&#x1f308;今天给大家分享的是&#xff1a;基于SSMVue的简易记事本项目 目录 引言 技术栈介绍 项目概述 1. 用户注册 2. 用户登录 3. 用户退出 4. 事件分类 5. 事件管理 项目主要图片 引言 在快节奏的现代生活中&#xff0c;我们常常被…...

Java转C之C/C++ 的调试和内存分析

C/C 的调试和内存分析工具非常丰富&#xff0c;这些工具可以帮助开发者定位错误、分析程序行为&#xff0c;以及检测内存问题&#xff08;如内存泄漏、非法访问等&#xff09;。下面将详细介绍常见的调试器和内存分析工具&#xff0c;并进行分类讲解。 一、调试器 1. GDB (GNU…...

Python 面向对象编程全面解析与深度探索

目录 类和对象的概念 类&#xff08;Class&#xff09; 对象&#xff08;Object&#xff09; (一&#xff09;属性&#xff08;Attributes&#xff09; &#xff08;a).实例属性&#xff08;Instance Attributes&#xff09; &#xff08;b).类属性&#xff08;Class Att…...

零配置打包工具 Parcel 的详细使用指南

前言 在前端开发中&#xff0c;选择一个高效且易用的打包工具至关重要。Parcel 作为一款零配置的 Web 应用打包工具&#xff0c;凭借其卓越的性能和简单的使用体验&#xff0c;赢得了众多开发者的青睐。它不仅能够自动处理依赖关系和代码打包&#xff0c;还支持热模块替换和多…...

批量查找文件关键字-工具

string find...

freeswitch(开启支持MCU视频会议,使用mod_av模块)

亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: 有些场景想使用视频会议MCU融合画面进行开会使用方法: 第一步:下载插件 yum install -y epel-release yum install...

Quant connect的优势和不足,学习曲线难

Quant connect的优势和不足 Quant connect作为一个成熟的算法交易平台&#xff0c;具有许多优势&#xff0c;包括&#xff1a; 强大的回测功能&#xff1a;Quant connect提供了丰富的数据源和回测功能&#xff0c;可以对各种交易策略进行全面的回测和分析。 容易上手&#xf…...

对rust的全局变量使用drop方法

文章目录 rust处理全局变量的策略方法1&#xff1a;在main中自动Drop全局变量 参考 rust处理全局变量的策略 Rust 的静态变量不会在程序退出时自动调用 Drop&#xff0c;因为它们的生命周期与进程绑定。 use std::sync::OnceLock;struct GlobalData {content: String, }impl …...

使用FastGPT制做一个AI网站日志分析器

越来越的多网站面临每天上千次的扫描和各类攻击&#xff0c;及时发现攻击IP&#xff0c;并有效的屏蔽不良访问成为网站安全的重要保障&#xff0c;这里我们使用AI来完成对网站日志的日常分析。 我们来使用FastGPT来制做一个AI网站日志析器&#xff0c;下面就开始&#xff1a; …...

无限次使用 cursor pro

github地址 cursor-vip 使用方式 在 MacOS/Linux 中&#xff0c;请打开终端&#xff1b; 在 Windows 中&#xff0c;请打开 Git Bash。 然后执行以下命令来安装&#xff1a; 部分电脑可能会误报毒&#xff0c;需要关闭杀毒软件/电脑管家/安全防护再进行 方式1&#xff1a;通过…...

vuex 作用及五大组成部分

Vuex 是 Vue.js 的官方状态管理库&#xff0c;旨在帮助开发者构建大型应用时更好地管理和共享全局状态。它提供了一种集中式存储和管理应用所有组件的状态的方式&#xff0c;并且遵循单一状态树的原则。通过 Vuex&#xff0c;可以更容易地实现状态的可预测性和调试。 一、Vuex…...

Centos7上Jenkins+Docker+Git+SpringBoot自动化部署

文章目录 1.宿主机安装maven2.安装jenkins3.配置Jenkins4.Jenkins脚本自动安装JDK&#xff08;可选&#xff09; 1.宿主机安装maven wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz mv apache-maven-3.9.9-bin.tar.gz /usr/local…...

MATLAB图卷积神经网络GCN处理分子数据集节点分类研究

全文链接&#xff1a;https://tecdat.cn/?p38570 本文主要探讨了如何利用图卷积网络&#xff08;GCN&#xff09;对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节&#xff0c;通过对分子数据集的操作实践&#xff0c;展示了完整的节点分类流程&#…...

高级Python游戏开发:创建一款多人对战坦克大战

在本教程中,我们将用Python的Pygame库开发一款高级的坦克大战游戏。这款游戏支持多人对战、碰撞检测、子弹射击以及地图障碍生成,适合作为学习Python高级游戏开发的练习项目。 一、游戏功能概述 多人对战模式:玩家可以操作坦克,在同一屏幕上互相攻击。子弹射击:坦克可以发…...

网站访问的基础-HTTP超文本传输协议

BS架构 浏览器Browser⬅➡服务器Server 浏览器和服务器之间通过 IP 地址进行通信&#xff0c;实现数据的请求和传输。 例如&#xff0c;当用户在浏览器中访问一个网站时&#xff0c;浏览器会根据用户输入的网址&#xff08;通过 DNS 解析得到服务器 IP 地址&#xff09;向服…...

使用Hydra库简化配置管理

使用Hydra库简化配置管理 简介 在现代软件开发中&#xff0c;配置管理是至关重要的。应用程序的灵活性和可维护性很大程度上取决于其如何处理配置。Hydra是一个由Facebook AI Research (FAIR) 开发的Python库&#xff0c;它旨在简化复杂应用的配置过程。Hydra使得开发者可以轻…...

Java对集合的操作方法

1. 数组转集合 //数组转集合 String[] split quickRechargeAmount.split(","); List<String> stringList Stream.of(split).collect(Collectors.toList()); 2. 对List集合数据内容进行分组 //对List集合数据内容进行分组 Map<String, List<LiveAppGi…...

WordPress酱茄主题 开源版 博客资讯自媒体网站模板

一款免费开源的WordPress主题&#xff0c;主题专为WordPress博客、资讯、自媒体网站而设计 运行环境 支持WordPress版本&#xff1a;5.6 兼容Chrome、Firefox、Safari等主流浏览器 支持设备&#xff1a;响应式布局&#xff0c;不同设备不同展示效果 服务器环境建议&#x…...

【SickOs1.1靶场渗透】

文章目录 一、基础信息 二、信息收集 三、反弹shell 四、提权 一、基础信息 Kali IP&#xff1a;192.168.20.146 靶机IP&#xff1a;192.168.20.150 二、信息收集 端口扫描 nmap -sS -sV -p- -A 192.168.20.150 开放了22、3128端口&#xff0c;8080端口显示关闭 22端…...

Javaweb web后端maven介绍作用安装

自动导入到这个项目 src是源代码 main主程序&#xff0c;核心代码 java是Java源代码 resources是项目配置文件 test测试相关的 maven概述 介绍 依赖在本地仓库查找&#xff0c;如果本地仓库有&#xff0c;用本地仓库的依赖&#xff0c;本地没有&#xff0c;连接中央仓库&…...

Input Action (输入动作) 在虚幻引擎中常用的值类型

1. Digital (bool) 含义: Digital 类型代表一个离散的、二元的输入状态,它只有两种可能的值:true(按下,激活)或 false(未按下,未激活)。 用途: 最常用于表示按键或按钮的按下状态。 适合于开关类型的操作,比如: 跳跃(按键按下时跳跃,松开时不跳跃) 奔跑/行走切换 …...

LabVIEW汽车综合参数测量

系统基于LabVIEW虚拟仪器技术&#xff0c;专为汽车带轮生产中的质量控制而设计&#xff0c;自动化测量和检测带轮的关键参数。系统采用PCIe-6320数据采集卡与精密传感器结合&#xff0c;能够对带轮的直径、厚度等多个参数进行高精度测量&#xff0c;并通过比较测量法判定产品合…...

快速且靠谱的简单安装 PostgreSQL 15 yum 安装postgis3.3

快速且靠谱的简单安装 PostgreSQL 15 yum 安装postgis3.3 1、确保已经安装了PostgreSQL数据库。2、添加PostGIS的EPEL仓库3、使用YUM安装PostGIS4、以下为其他安装方式&#xff0c;一个个去找源码的编译安装&#xff0c;过程较为繁琐&#xff08;不熟路的不推荐&#xff09; 要…...

MySQL八股文

MySQL 自己学习过程中的MySQL八股笔记。 主要来源于 小林coding 牛客MySQL面试八股文背诵版 以及b站和其他的网上资料。 MySQL是一种开放源代码的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;使用最常用的数据库管理语言–结构化查询语言&#xff08;SQL&…...

Python高性能web框架-FastApi教程:(1)创建一个简单的FastApi

&#xff08;1&#xff09;创建一个简单的FastApi 1. 导入必要的库 from fastapi import FastAPI import uvicornFastAPI 是一个用于构建现代、快速&#xff08;高性能&#xff09;的Web API的Python框架。uvicorn 是一个ASGI服务器&#xff0c;用于运行异步的Python Web应用…...

多模态机器学习综述论文|Multimodal Machine Learning: A Survey and Taxonomy

1. 引言 多模态机器学习是一个跨学科领域&#xff0c;它涉及到从多种感官模态&#xff08;如视觉、听觉、触觉等&#xff09;中提取信息&#xff0c;并构建能够处理和关联这些信息的模型。这种学习方式对于人工智能理解复杂世界至关重要。 名词解释&#xff1a; 模态Modality…...

CentOS8:英伟达显卡驱动与CUDA安装

挺偶然的&#xff0c;同事在CentOS8版本的GPU服务器上安装英伟达的显卡驱动和CUDA遇到了问题&#xff0c;于是协助进行了安装&#xff0c;顺便记录下此次安装过程与心得。 目录 显卡驱动安装 步骤简述 详细步骤 1、官网下载需要的驱动 2、驱动软件包上传并加权 3、安装…...

【IDEA】启动报错

今天启动IDEA报错 报错信息&#xff1a; Cannot connect to already running IDE instance. Exception: Process 5,444 is still running 打开任务管理器&#xff0c;关掉进程ID5444的任务...

Opencv之图像梯度处理和绘制图像轮廓

一、梯度处理的sobel算子函数 处理示意 Sobel 算子是一种常用的图像边缘检测方法&#xff0c;结合了一阶导数和高斯平滑&#xff0c;用于检测图像的梯度信息。 1、功能 Sobel 算子用于计算图像在 x 和 y 方向的梯度&#xff0c;主要功能包括&#xff1a; 强调图像中灰度值的…...

5.2章节python字符串的格式化三种方式

在Python中&#xff0c;格式化字符串是编程中常见的任务&#xff0c;它用于将变量或表达式的值嵌入到字符串中。以下是三种常见的格式化字符串的方式&#xff1a; 1.百分号&#xff08;%&#xff09;格式化&#xff1a; 这是Python早期版本中常用的字符串格式化方法。通过在字…...

.NET Core 各版本特点、差异及适用场景详解

随着 .NET Core 的不断发展&#xff0c;微软推出了一系列版本来满足不同场景下的开发需求。这些版本随着时间的推移逐渐演变为统一的 .NET 平台&#xff08;从 .NET 5 开始&#xff09;。本文将详细说明每个版本的特点、差异以及适用场景&#xff0c;帮助开发者更好地选择和使用…...

2024.12.14 TCP/IP 网络模型有哪几层?

2024.12.14 TCP/IP 网络模型有哪几层? 2024.12.14 今天周六 看到大伙都在考六级&#xff0c;我来复盘小林coding的计算机网络的知识点&#xff1a; TCP/IP 网络模型有哪几层? 问大家&#xff0c;为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信&#xff0c;有…...

基于SpringBoot的嗨玩旅游网站:一站式旅游信息服务平台的设计与实现

摘要 在旅游需求日益增长的今天&#xff0c;一个全面、便捷的旅游信息服务平台显得尤为重要。嗨玩旅游网站正是为了满足这一需求而设计的在线平台&#xff0c;它提供了包括景点信息、旅游线路、商品信息、社区信息和活动推广等在内的丰富旅游目的地信息&#xff0c;旨在帮助用…...

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构 效果图DRAWTEXTREL示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont DRAWTEXTABS示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont 效果图 …...

VMware ESXi上创建Ubuntu虚拟机并实现远程SSH访问全攻略

文章目录 前言1. 在VMware ESXI中创建Ubuntu虚拟机2. Ubuntu开启SSH远程服务3. 安装Cpolar工具4. 使用SSH客户端远程访问Ubuntu5. 固定TCP公网地址 前言 本文主要介绍如何在VMware ESXi上创建一台Ubuntu 22.04虚拟机&#xff0c;并通过Cpolar内网穿透工具配置公网地址&#xf…...

进制的转换

前言 ‌进制‌是一种进位计数制&#xff0c;是人为定义的带进位的计数方法。不同的进制使用不同数量的符号&#xff0c;以及不同的规则来组合这些符号以表示不同的数值。 一、进制类型 二进制:由一串0和1组成的数字&#xff0c;逢二进一 八进制:0 1 2 3 4 5 6 7&#xff0c;…...

迁移学习中模型训练加速(以mllm模型为例),提速15%以上

根据模型训练过程的显存占用实测的分析,一个1g参数的模型(存储占用4g)训练大约需要20g的显存,其中梯度值占用的显存约一半。博主本意是想实现在迁移学习(冻结部分参数)中模型显存占用的降低,结果不太满意,只能实现训练速度提升,但无法实现显存占用优化。预计是在现有的…...

CSS系列(6)-- 排版与文本详解

前端技术探索系列&#xff1a;CSS 排版与文本详解 &#x1f4dd; 致读者&#xff1a;探索优雅的文字艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 排版与文本处理&#xff0c;学习如何创建既美观又易读的文本内容。 文本基础属性 &#x1f680; 字…...

嵌入式现状、机遇、挑战与展望

在当今数字化浪潮中&#xff0c;嵌入式系统宛如一颗璀璨的明珠&#xff0c;熠熠生辉&#xff0c;深刻地渗透到了我们生活的方方面面&#xff0c;成为推动现代科技进步不可或缺的关键力量。从智能家居的便捷控制&#xff0c;到工业生产的精准运作&#xff0c;再到汽车的智能驾驶…...

关于Postgresql旧版本安装

抛出问题 局点项目现场&#xff0c;要求对如下三类资产做安全加固&#xff0c;需要在公司侧搭建测试验证环境&#xff0c;故有此篇。 bclinux 8.2 tomcat-8.5.59 postgrel -11 随着PG迭代&#xff0c;老旧版本仅提供有限维护。如果想安装老版本可能就要费劲儿一些。现在&…...

【AI日记】24.12.14 kaggle 比赛 2-4 EDA

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加&#xff1a;kaggle 比赛 Regression with an Insurance Dataset内容&#xff1a;构建自己的EDA&#xff08;探索性数据分析&#xff09;框架时间&#xff1a;5 小时感想&#xff1a;大规模数据集&a…...

《深入浅出HTTPS》读书笔记(18):公开密钥算法RSA(续)

【RSA算法安全性】 幂运算的逆过程就是求对数问题&#xff0c;而模运算可以认为是离散问题&#xff0c;组合起来RSA算法就是离散对数模型&#xff0c;只要密钥长度足够长&#xff0c;离散对数很难破解。 破解私钥有两个方法&#xff1a; ◎公钥持有人有e和n&#xff0c;而要计…...

LabVIEW面向对象编程有什么特点?

LabVIEW面向对象编程&#xff08;OOP&#xff09;的特点主要体现在它如何结合传统面向对象编程&#xff08;OOP&#xff09;的理念与LabVIEW的图形化编程模式&#xff0c;提供灵活的抽象和模块化的功能。以下是LabVIEW面向对象编程的几个主要特点&#xff1a; ​ 1. 类&#x…...

【Hive数据仓库】Hive部署、Hive数据库操作(增删改查)、表操作(内部表、外部表、分区表、桶表)

目录 一、本地模式 1、安装MySQL 2、登录MySQL 3、修改密码 4、安装Hive 5、配置Hive系统环境变量 6、初始化Derby数据库 7、连接Hive用于测试 8、测试Hive 9、修改Hive配置文件 10、上传MySQL驱动包 11、初始化MySQL 12、连接Hive用于启动服务 二、远程模式 1、…...

bugku-simple MQTT-wp解析

1.下载题目打开题目&#xff0c;是一个流量包&#xff0c;题目说是MQTT&#xff0c;然后打开流量之后的流量都是MQTT&#xff0c;我们来搜一下MQTT是什么流量 MQTT流量&#xff1a; 是一种基于发布订阅模式的轻量级的通讯协议&#xff0c;并且该协议构建于TCP/IP协议之上&…...