洛谷 P1250 种树

洛谷-p1250 种树 -区间选点问题 洛谷p1250 种树 -区间选点问题 阅读详情

种树

题目背景

一条街的一边有几座房子,因为环保原因居民想要在路边种些树。

题目描述

路边的地区被分割成块,并被编号成 1,2,…,n1, 2, \ldots,n1,2,…,n。每个部分为一个单位尺寸大小并最多可种一棵树。

每个居民都想在门前种些树,并指定了三个号码 bbb,eee,ttt。这三个数表示该居民想在地区 bbb 和 eee 之间(包括 bbb 和 eee)种至少 ttt 棵树。

居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量。

输入格式

输入的第一行是一个整数,代表区域的个数 nnn。

输入的第二行是一个整数,代表房子个数 hhh。

第 333 到第 (h+2)(h + 2)(h+2) 行,每行三个整数,第 (i+2)(i + 2)(i+2) 行的整数依次为 bi,ei,tib_i, e_i, t_ibi​,ei​,ti​,代表第 iii 个居民想在 bib_ibi​ 和 eie_iei​ 之间种至少 tit_iti​ 棵树。

输出格式

输出一行一个整数,代表最少的树木个数。

样例 #1

样例输入 #1

9
4
1 4 2
4 6 2
8 9 2
3 5 2

样例输出 #1

5

提示

数据规模与约定

对于 100%100\%100% 的数据,保证:

  • 1≤n≤3×1041 \leq n \leq 3 \times 10^41≤n≤3×104,1≤h≤5×1031 \leq h \leq 5 \times 10^31≤h≤5×103。
  • 1≤bi≤ei≤n1 \leq b_i \leq e_i \leq n1≤bi​≤ei​≤n,1≤ti≤ei−bi+11 \leq t_i \leq e_i - b_i + 11≤ti​≤ei​−bi​+1。
#include<bits/stdc++.h>
using namespace std;
struct aty {
	int v,w;
};
vector<aty> E[100010];
queue<int> q;
int n,m,dis[100010],u,v,w,fw[100010],op,c,s[100010];
bool vis[100010];
int main() {
	scanf("%d%d",&n,&m);
	for(int i=1; i<=m; i++) {
		scanf("%d%d%d",&u,&v,&w);
		E[u-1].push_back({v,w});
	}
	for(int i=1; i<=n; i++) {
		dis[i]=-INT_MAX;
		E[i].push_back({i-1,-1});
		E[i-1].push_back({i,0});

	}
	dis[0]=0;
//	fw[0]=1;
	q.push(0);
	while(!q.empty()) {
		int u=q.front();
		q.pop();
		vis[u]=false;
		for(int i=0; i<E[u].size(); i++) {
			if(dis[u]+E[u][i].w>dis[E[u][i].v]) {
				dis[E[u][i].v]=dis[u]+E[u][i].w;
				if(!vis[E[u][i].v]) {
					q.push(E[u][i].v);
					vis[E[u][i].v]=1;
				}

			}
		}
	}
	printf("%d",dis[n]);
	return 0;
}
Java实现洛谷P1250 种树 (暴力) P1250 种树 输入输出样例 输入 9 4 1 4 2 4 6 2 8 9 2 3 5 2 输出 5 PS: 我种最少的树,意味着我的树要最多的被利用,意味着,我的树要尽可能的靠中间种, 也就是我把右区间从小到大排序,如果区间树不够,就从右往左种 import java.util.Arrays; import java.util.Scanner; public class Ma... 阅读详情

相关推荐

【题解-洛谷】P1250 种树

这道题可以看成是区间选点问题,不过这里要在每个区间选择t个点。当区间重叠时,判断一下当前选中的点是否满足t个,如果不满足,要从尾部开始向前选择t个点。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量。一条街的一边有几座房子,因为环保原因居民想要在路边种些树。每个居民都想在门前种些树,并指定了三个号码。输入的第一行是一个整数,代表区域的个数。输入的第二行是一个整数,代表房子个数。输出一行一个整数,代表最少的树木个数。路边的地区被分割成块,并被编号成。行,每行三个整数,第。

写代码的犄角旮瘩 273

洛谷— P1250 种树

解题思路: 想要种树种得少,就要一棵树在多个区间同时出现。 所以,在重叠部分种尽可能多的树即可。 然而重叠部分一定在区间的尾部。 所以先对结束苇子进行排序,然后依次在区间的尾部从前往后种树直到满足要求,对于下一个区间,看看差多少树,就在结尾补多少。 于是贪心的思想就很容易出来了: 按结束位置排序 对每个区间一次处理 从前往后扫描区间,统计已有的树的个数 若已选点超过要求个数,则continue ...

weixin_43784305的博客 647

题解:洛谷 P1250 种树

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量。每个居民都想在门前种些树,并指定了三个号码。输入的第一行是一个整数,代表区域的个数。输入的第二行是一个整数,代表房子个数。输出一行一个整数,代表最少的树木个数。路边的地区被分割成块,并被编号成。这三个数表示该居民想在地区。行,每行三个整数,第。

团爸讲算法 1058

【洛谷P1250 种树】 解题报告

【洛谷P1250 种树】 解题报告 题目描述 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1…N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的...

hanserdaisuki的博客 650

FreeRtos——10、全局看门狗设计

RTOS 里的看门狗不只是为了证明 CPU 还在动,而是为了证明每个业务逻辑都在按预期的节奏“呼吸”。

qq_40170041的博客 901

电流互感器的使用分析

有关电流互感器使用的注意事项,回头再看,耳目一新。

qq_46757048的博客 2万+

洛谷P1250 种树 && POJ1201 Intervals

洛谷P1250 种树-链接 POJ1201 Intervals-链接 差分约束,取最长路。 注意隐藏条件:因为对于第i个点有选择和不选择两种情况,所以\(0<=sum[i]-sum[i-1]<=1\) //POJ代码,洛谷的只需要把define N改成读入N #include <cstdio> #include <cstring> #include &...

anxie6422的博客 184

EMI硬件抑制八项工程对策:从回路面积到谐振规避

电磁干扰(EMI)是电子系统可靠性与EMC合规性的核心挑战,其本质源于高频电流回路产生的辐射与耦合效应。理解回路面积、共模/差模噪声、阻抗匹配等基础原理,是实施有效抑制的前提。技术价值体现在降低辐射发射(RE)、传导发射(CE)超标风险,提升产品一次通过率与长期稳定性。典型应用场景包括开关电源设计、高速数字接口布局、工业嵌入式设备及医疗电子等对EMC要求严苛的领域。本文聚焦可落地的硬件级对策,涵盖回路面积控制、屏蔽策略、变压器漏磁管理、双线传输与阻抗匹配等关键实践,深度融合电流回路物理模型与PCB工程实现。

weixin_35019679的博客 85

洛谷 P1250 种树 解析

首先用sort排序右端点,再通过for循环求所在区间里种的树是否达到要求,没达到的话在区间最后位置种树,因为这个地方最接近下一个种树区间,可以最大化利用一棵树。必须要排序,不然会被10。这个测试点卡掉,读者自己思考一下。

xixishuiba_CD的博客 881

【传奇开心果系列】Flet框架实现的窗口屏幕居中示例自定义模板特色和实现原理深度分析

本文介绍了使用Flet框架实现窗口屏幕居中的方法。通过设置page.window.center()方法,程序会自动计算屏幕尺寸和窗口位置实现居中显示。文章建议将任务栏设为自动隐藏以获得更精确的居中效果,并详细分析了Flet窗口管理的实现原理,包括坐标计算、跨平台兼容性等技术细节。该方案提供了简洁的API调用,支持动态调整窗口位置和多显示器环境,源码可通过优快云下载。

jackchuanqi的博客 1201

大华/华睿工业相机(摄像头)链接电脑,并用OpenCV打开

睿科是大华旗下机器视觉子公司,现在工业相机一般是华睿在产,要下载驱动程序,要到华睿官网哪里下载。由于我的电脑没有摄像头,所以摄像头序列化为0,电脑的第一个摄像头默认为0,序列号是0,1,2,3……,你是什么接口连接的就选择什么, 建议直接全选。我这里选择第二个,下载后点击安装,的你要点击识别右侧设置,设置。这个过程很简单,故不赘述。打开你的设备会在右边显示。

qq_48050838的博客 1万+

洛谷P1250 种树 黄题

洛谷黄题(点击跳转) 题目描述: 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的任务是...

weixin_30611509的博客 1187

不用变压器也能联网?手把手教你PHY芯片直连的3种实用方案

本文详细介绍了PHY芯片直连的3种实用方案,帮助开发者在物联网设备中实现更经济、更精简的网络连接设计。通过分析电压驱动型和电流驱动型PHY的核心原理,提供具体的电路配置和优化建议,确保信号质量的同时节省成本和空间。

smartcontract5的博客 333

洛谷 P1250 种树 题解

差分约束系统,维护前缀和,根据式子d[ b ] < = d[ e + 1 ] - t,可以看出要连e和b - 1,但占用了超级源点0,所以要把区间向后移,这样就可以用超级源点0来保持图的连通性(也可 以用n + 1作为超级源点,就不用了后移了) 1 #include<iostream> 2 #include<cstdio> 3 #incl...

weixin_30849403的博客 285

信息安全与技术——(十一)恶意代码检测与防范技术

恶意代码(Malicious Code )或恶意软件(Malware )主要是指以危害信息的安全等不良意图为目的的程序,它们一般潜伏在受害计算机系统中实施破坏或窃取信息。

m0_63853448的博客 5991

YOLOv8【第一章:基础入门篇·第1节】一文搞定,核心架构深度解析与环境配置!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!

**My Coding Family** 2104

[洛谷]P1250 种树 (#贪心)

题目描述 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的...

A.pro的博客 439

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

P1250 种树【洛谷算法习题】

题目摘要: 给定n个区域和h个居民的种树要求,每个居民要求在区间[b,e]内至少种t棵树。求满足所有要求的最少树木数量。 解题思路: 采用贪心算法,将区间按右端点排序,优先处理右端点小的区间。对每个区间,从右往左补种树木,确保树木能被后续区间复用,从而最小化总种树量。 算法特点: 时间复杂度:O(mn),适用于n≤3×10⁴,h≤5×10³的数据规模 关键步骤:区间排序、统计已种树木、逆向补种 结果保证:贪心策略确保全局最优解 输入输出示例: 输入:9个区域,4个居民要求[(1-4,2),(4-6,2),(

Pretty Boy Fox的博客 547

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

种树(洛谷P1250)

题目 题目描述一条街道的一边有几座房子,因为环保原因居民想要在路边种些树,路边的居民被分割成 n 块,并被编号为 1…n。每块大小为一个单位尺寸并最多可种一棵树。每个居民想在门前种些树并指定了三个数b,e,t。这三个数分别表示该居民想在b和e之间最少种t棵树,当然b≤e,t≤e-b+1,允许居民想种树的子区域可以交叉。出于资金紧缺的原因,环保部门请你求出能够满足所有居民的种树要求时所需要种...

weixin_30466421的博客 120

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

洛谷 - P1250种树(差分约束)

P1250种树 题目链接:P1250 种树 题意 给你一条街,街由N个点构成,每个点上可以种一棵树,给你K个要求,每个要求由B,E,T组成,分别表示从点B开始到点E中间至少有T棵树,现在问这条街上最少有几颗树? 数据范围:0&amp;lt;N&amp;lt;=3∗104,0&amp;lt;K&amp;lt;=5000,0&amp;lt;B&amp;lt;=E&amp;lt;=300000&amp;...

梦之城 422

信息学奥赛一本通 1423:【例题2】种树 | 洛谷 P1250 种树

本题中,每个地块可以看作数轴上的一个点,“B和E之间最少种T棵树”,指的是在区间[B, E]中至少选择T个点。对于每个区间,先遍历整个区间,统计出已选点数量,也就是求出待选择点的数量。本题为:给定一些区间,选择一些点使得每个区间范围内至少有给定数量的点。是给定一些区间,选择一些点使得每个区间范围内至少有1个点。贪心选择:对每个区间,如果还需要选点,则尽量从区间右侧选点。从小到大排序,排序后第i区间范围为。表示第i点是否已被选择。该题属于区间选点问题,

君义NOIP的博客 1528
上一篇: 洛谷 P2294 [HNOI2005] 狡猾的商人
下一篇: 洛谷 P2474 [SCOI2008] 天平
GG_Bond...
博客等级 码龄5年 531粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值