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

贪心训练题

区间贪心
给定一系列的区间,让你进行安排;
本题给定一系列区间,求最多的独立区间数,先用pair或者struct进行储存,然后自定义sort对区间有右端点进行排序
然后int t=0,t与前端点进行比较,小于等于前端点则为独立区间,t变成当前点的右端点

解释:
对结束时间排序的原因是因为,把最早结束的必须安排,如果后面出现于最早结束时间相重
合,那可以不管后面的那个
比如
1 4和2 4
明显第二个时间短,但选第一个和第二个都一样
如果有结束时间更短的,那么第一个就是更短的那个。

但如果需要保障时间最长的话,那就需要其他条件了,这个只是求出最长独立区间个数

4
1 3
4 6
2 5
1 7

排序

1 3
2 5
4 6
1 7
然后t=0;
开始遍历,
t<=1,则ans=1,t=3;
t>2,则不管第二个数
t<=4,ans=2,t=6
t>1,则不管第四个数

A题和H题

题目链接:
https://ac.nowcoder.com/acm/contest/950/A
https://ac.nowcoder.com/acm/contest/950/H

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=1005;

bool cmp(pair<int,int>a,pair<int,int>b){
    return a.second < b.second;
}
int main(){
    int n;
    while(scanf("%d",&n)!=EOF&&n){
        pair<int,int>g[maxn];
        for(int i=0;i<n;i++){
            scanf("%d%d",&g[i].first,&g[i].second);
        }
        sort(g,g+n,cmp);//对pair的排序,默认是对first排序

        int t=0,ans=0;
        for(int i=0;i<n;i++){
            if(g[i].first>=t){
                t=g[i].second;
                ans++;
            }
        }
        
        printf("%d\n",ans);


    }

    return 0;
}

转载于:https://www.cnblogs.com/Emcikem/p/11333807.html

相关文章:

  • idea新建maven项目后生成web.xml方法和添加到tomcat方法
  • db mysql / mysql cluster 5.7.19 / reboot / devops
  • JAVA:用户从键盘只能输入整数,程序输出这些整数的乘积。
  • liquibase使用教程
  • Python netaddr CIDR转换
  • 定制化扫描工具
  • 内网远程溢出漏洞利用
  • github proxy
  • D-Link系列路由器漏洞挖掘
  • 区块链漏洞平台的漏洞信息
  • AttributeError: module 'subprocess' has no attribute 'mswindows'
  • ajax 并发问题
  • ViewModel 凭什么能保存重建数据
  • kubectl 日常命令 备忘
  • Python扫描器-python-nmap的安装与常用方法说明
  • #Java异常处理
  • iOS 颜色设置看我就够了
  • js继承的实现方法
  • JS学习笔记——闭包
  • ucore操作系统实验笔记 - 重新理解中断
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 分享一份非常强势的Android面试题
  • 浮动相关
  • 给Prometheus造假数据的方法
  • 免费小说阅读小程序
  • 你不可错过的前端面试题(一)
  • 配置 PM2 实现代码自动发布
  • 驱动程序原理
  • 微信开放平台全网发布【失败】的几点排查方法
  • 小程序button引导用户授权
  • 小程序开发中的那些坑
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一起参Ember.js讨论、问答社区。
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​Spring Boot 分片上传文件
  • #Lua:Lua调用C++生成的DLL库
  • #QT(一种朴素的计算器实现方法)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • ()、[]、{}、(())、[[]]命令替换
  • (10)STL算法之搜索(二) 二分查找
  • (31)对象的克隆
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (补)B+树一些思想
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (篇九)MySQL常用内置函数
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)jdk与jre的区别
  • (转)负载均衡,回话保持,cookie
  • (转载)PyTorch代码规范最佳实践和样式指南