【题目描述】

现在我们国家开展新农村建设,农村的住房建设纳入了统一规划,统一建设,政府要求每一住户门口种些树。门口路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民房子门前被指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量,尽量较少政府的支出。

【输入】

第一行包含数据N,M,区域的个数(0<N≤30000),房子的数目(0<m≤5000);

下面的m行描述居民们的需要:B E T,0<B≤E≤30000,T≤E-B+1。

【输出】

输出一个数,为满足所有居民的要求,所需要种树的最少数量。

【输入样例】

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

【输出样例】

5

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 30000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
struct Node{int st,ed;int num;bool operator < (const Node &rhs)const{return ed<rhs.ed;}
}a[N];
bool vis[N];
int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=m;i++)scanf("%d%d%d",&a[i].st,&a[i].ed,&a[i].num);sort(a+1,a+1+m);int res=0;for(int i=1;i<=m;i++){int used=0;for(int j=a[i].st;j<=a[i].ed;j++)//从前向后统计已有多少树if(vis[j])used++;if(used<a[i].num){//若树的个数不到当前区间所需个数for(int j=a[i].ed;j>=a[i].st;j--){//从后向前在当前区间种树if(!vis[j]){vis[j]=true;used++;res++;if(used==a[i].num)break;}}}}printf("%d\n",res);return 0;
}

种树(信息学奥赛一本通-T1423)相关推荐

  1. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  2. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  3. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  4. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  5. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

  6. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  7. 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC

    http://ybt.ssoier.cn:8088/show_source.php?runid=14630195 /* 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC http:/ ...

  8. 信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂

    信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂 https://blog.csdn.net/mrcrack/article/details/82846727 快速幂取模算法如何实现? h ...

  9. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

最新文章

  1. Xamarin.FormsShell基础教程(4)Shell项目内容列表页面运行效果
  2. html转chm后脚本错误,win10系统打开chm资料弹出窗口提示脚本出现错误的恢复办法...
  3. c++ 调用python2类获取返回值
  4. jmeter常用插件介绍
  5. 《C++入门经典(第6版)》——1.5 问与答
  6. putty颜色设置|securecrt颜色设置|windows命令行颜色设置
  7. c iostream.源码_通达信《K线上画趋势线预警》精选指标(附源码)
  8. 关闭子窗口 父窗口自动刷新
  9. linux 创建一个垃圾篓防误删及其误删文件恢复
  10. nextcloud icon_聊一聊爱车吉利ICON带给我的用车感受
  11. 索引、分区和分桶的区别
  12. mysql date 索引_SQL 中 IS NULL 可以走索引
  13. 爬虫----记录某新闻详情页app逆向过程(app逆向初学第一次实战)
  14. Windows conio.h 的源码,实现gotoxy, textcolor,movetext等函数
  15. 图像处理系列——图像融合之加权平均(WA)
  16. [FUNC]ObjRegisterActive
  17. 项目文档模板_用于启动项目文档的模板
  18. CSS特效八:开关按钮
  19. 关于专利申请中发明内容和具体实施方法有什么本质区别?
  20. mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误

热门文章

  1. 2018年房价到底会不会涨!
  2. 国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC!
  3. 远程办公第一天,你掉线了吗?
  4. 如何区分普通感冒流感和新型冠状病毒肺炎?
  5. CTO怒了:再写if-else,逮着罚款1000!
  6. 如此沙雕的代码注释,还是程序员会玩!
  7. 关于freemarker的classic_compatible属性的使用场景和解决
  8. PDM 物理模型codename转大写
  9. jQuery基础 - 常用基本属性
  10. SonarQube代码质量管理工具的安装(Linux)