SP116 INTERVAL - Intervals

2024-01-29 19:48
文章标签 interval intervals sp116

本文主要是介绍SP116 INTERVAL - Intervals,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

.
.
.
.
.
分析
差分约束+spfa

.
.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<cmath>
using namespace std;struct edge
{int to,from,v;
}e[800010];int dis[400010],head[400010],cnt=1,bz[400010];
bool f[400010];void insert(int x,int y,int v)
{e[++cnt].to=y;e[cnt].from=head[x];e[cnt].v=v;head[x]=cnt;
}void spfa(int x)
{queue<int>q;memset(dis,-1,sizeof(dis));memset(f,false,sizeof(f));f[x]=true;dis[x]=0;q.push(x);while (!q.empty()){int u=q.front();q.pop();f[u]=false;for (int i=head[u];i;i=e[i].from)if (dis[e[i].to]<dis[u]+e[i].v){dis[e[i].to]=dis[u]+e[i].v;if (!f[e[i].to]){f[e[i].to]=true;q.push(e[i].to);}}}
}int main()
{int t;scanf("%d",&t);while (t--){memset(e,0,sizeof(e));memset(head,0,sizeof(head));int n,tj=-2147483647;cnt=0;scanf("%d",&n);for (int i=1;i<=n;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);insert(a,b+1,c);tj=max(tj,b);}for (int i=1;i<=tj+1;i++){insert(i-1,i,0);insert(i,i-1,-1);}spfa(0);printf("%d\n",dis[tj+1]);}return 0;
}

这篇关于SP116 INTERVAL - Intervals的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657990

相关文章

56. Merge Interval

题目: 解答: 常规的合并,根据前后interval是否有交集判定。 代码: /*** Definition for an interval.* struct Interval {* int start;* int end;* Interval() : start(0), end(0) {}* Interval(int s, int e) : start

Interval 类型总结

Interval是一类型的题目,面试的很喜欢出,这里把所有interval的题目全部总结一下; Merge Intervals 首先按照start sort之后,判断end是否跟start相交,如果相交,end就是两者最大值;否则加入cur;注意最后需要加入cur; class Solution { public int[][] merge(int[][] intervals) {if(

全外显子测序分析流程3 - Exon.Interval.bed文件生成和BAM文件标记重复

全外显子测序分析流程3 - Exon.Interval.bed文件生成和BAM文件标记重复 分析流程步骤其他相关文章: Python处理生信分析流程配置文件4种方法 全外显子测序分析流程1 - Fastq质控与去接头、低质量和引物序列 全外显子测序分析流程2 - BWA-MEM比对到参考基因组与BAM统计 1. 封装流程特点 python封装, 参数控制配置文件设置核心参数,便于全流程

confidence interval

95%置信区间。置信区间的两端被称为置信极限。对一个给定情形的估计来说,置信水平越高,所对应的置信区间就会越大。 对置信区间的计算通常要求对估计过程的假设(因此属于参数统计),比如说假设估计的误差是成正态分布的

leetcode 刷题之路 32 Merge Intervals

Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18]. 给定一组整数对代表的区间,合并重合的区间。 我的做法是首先以区间的起始位置为基准进行排序,遍历排序后的

2024牛客暑期多校训练营7 D.Interval Selection(异或哈希+双指针)

原题链接:D.Interval Selection 题目大意: 给你一个长度为 n n n 的数组 a a a,定义一个区间 [ l , r ] [l,r] [l,r] 内的连续子数组为好的,当且仅当这个子数组内的所有元素 a l , a l + 1 , . . . , a r a_{l},a_{l+1},...,a_{r} al​,al+1​,...,ar​ 在当前区间中恰好

【LeetCode】Merge Intervals Insert Interval

1、Merge Intervals Total Accepted: 6989 Total Submissions: 34958 My Submissions Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8,10],[15,18],

Help with Intervals 线段树并查集

Time Limit: 6000MS Memory Limit: 131072KTotal Submissions: 9784 Accepted: 2320Case Time Limit: 2000MS Description

53、Flink Interval Join 代码示例

1、概述 interval Join 默认会根据 keyBy 的条件进行 Join 此时为 Inner Join; interval Join 算子的水位线会取两条流中水位线的最小值; interval Join 迟到数据的判定是以 interval Join 算子的水位线为基准; interval Join 可以分别输出两条流中迟到的数据-[sideOutputLeftLateData,

mybatis动态传参pgsql日期Interval

在navicat16中,标准写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL '5  minutes')  在mybatis中,错误写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL