很简单的题,然而我没想到,在NOIP上怎么办嘛QAQ

话说这题不知道怎么分类啊……先扔到玄学里边把……

原题:

Fj在圣诞节来临之际,决定给他的奶牛发一些小红花。
现在Fj一共有N头奶牛,这N头牛按照编号1..N,排成一队,来接受Fj颁发的小红花,每头奶牛最多只能戴一朵小红花,当然,不可能每头牛都能带上小红花。
于是,奶牛们就开始提要求:在编号为第s头的奶牛到编号为第e头的奶牛之间,最少要分配X朵小红花,这些要求Fj当然必须要满足,现在Fj想知道,在满足要求的情况下,最少要购买多少朵小红花。

n≤30000,M≤5000。

搞区间,先按照右端点优先递增排序,用一个flag表示这个位置上有没有小红花,枚举区间,记录一下这个区间要的小红花个数,遍历这个区间,如果区间中这个位置有小红花了,个数--,然后再从区间右往左,如果这个位置没有小红花,个数--并给这个位置添上小红花,直到个数为0

为什么呐

因为我们是按照右端点优先递增排序的,所以从右边往左添加小红花就能尽可能的保证这些小红花能覆盖到更多的区间

一开始要减去小红花的个数是防止左边有一些位置有小红花了,但是我们从右边遍历可能遍历不到

这题很简单,然而我没有想出来,我好弱啊QAQ

代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n,m;
struct cdd{int qleft,qright,qge;}qv[];
bool compare(cdd x,cdd y){ return (x.qright==y.qright) ? (x.qleft<y.qleft) : (x.qright<y.qright);}
int ans=;
bool flag[];
int main(){//freopen("ddd.in","r",stdin);
memset(flag,,sizeof(flag));
cin>>n>>m;
for(int i=;i<=m;i++) scanf("%d%d%d",&qv[i].qleft,&qv[i].qright,&qv[i].qge);
sort(qv+,qv+m+,compare);
for(int i=;i<=m;i++){
int _ge=qv[i].qge,temp=qv[i].qright;
for(int j=qv[i].qleft;j<=qv[i].qright;j++)if(flag[j]) _ge--;
for(;_ge>;temp--)if(!flag[temp]){ flag[temp]=true; ans++; _ge--;}
}
cout<<ans<<endl;
return ;
}

【P1835】小红花的更多相关文章

  1. N厂水鬼烂大街?那来看ZF厂V4帝舵小红花

    自从帝舵小红花推上市面之后,各大工厂都在推出新版本,但做得最成熟的还是ZF厂,帝舵这个品牌是非常低调的,很少有人关注,但是ZF厂在这款腕表也是下了不少功夫,曾经帝舵小红花和N厂水鬼并列为最顶级的表畅销 ...

  2. Atitit.软件研发团队建设原理与概论 理论

    Atitit.软件研发团队建设原理与概论 理论 培训 团队文化建设(内刊,ppt,书籍,杂志等) 梯队建设 技术储备人才的问题 团队建设--小红花评比. 团队建设--文化墙.doc 户外拓展 1. 团 ...

  3. EntityFramework之原始查询如何查询未映射的值,你又知道多少?

    前言 今天又倒腾了下EF,如题所示,遇到了一些问题,并最终通过尝试找到了解决方案,可能不是最终的解决方案,若你有更好的解决方案,望告知,同时通过阅读此文,定让你收获不少. 引入 当我们查询时一直是中规 ...

  4. EntityFramework之异步、事务及性能优化(九)

    前言 本文开始前我将循序渐进先了解下实现EF中的异步,并将重点主要是放在EF中的事务以及性能优化上,希望通过此文能够帮助到你. 异步 既然是异步我们就得知道我们知道在什么情况下需要使用异步编程,当等待 ...

  5. EntityFramework之原始查询及性能优化(六)

    前言 在EF中我们可以通过Linq来操作实体类,但是有些时候我们必须通过原始sql语句或者存储过程来进行查询数据库,所以我们可以通过EF Code First来实现,但是SQL语句和存储过程无法进行映 ...

  6. EntityFramework之孩子删除(四)(你以为你真的懂了?)

    前言 从表面去看待事物视线总有点被层层薄雾笼罩的感觉,当你静下心来思考并让指尖飞梭于键盘之上,终将会拨开浓雾见青天.这是我切身体验. 在EF关系配置中,我暂且将主体对象称作为父亲,而依赖对象称作为孩子 ...

  7. Excel里内嵌在线翻译

    本来寻思着继续写点系统运行日志跟踪技术的,但早晨哥家领导从单位打来电话,让帮助她的闺蜜搞一个excel翻译的问题,总部IT搞不定.我过去是用excel做了几年工作,却都是些数学计算,跟翻译也扯不上啊: ...

  8. awk命令简单学习

    请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答). 解答: 说明:此题解答方法已经给大家讲解了不下15种,还可以有很多,在这里给大家着重讲下awk的技 ...

  9. Javascript进阶篇——(JS基础语法)笔记整理

    根据慕课网学习整理到一起的笔记,把东西整理到一起看起来比较方便 什么是变量字面意思:变量是可变的量:编程角度:变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可 ...

随机推荐

  1. 新发布GoldenGate 12c版本中的主要特性

        业界领先的实时数据集成工具GoldenGate现在可以帮助企业在传统数据库和云平台.大数据平台之间进行实时复制.新的OGG 12c支持更多的异构数据库和大数据平台,进一步提升可管理性和对混合云 ...

  2. litepal的jar包

    转自http://blog.csdn.net/luohai859/article/details/39292607 LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的 ...

  3. Notification通知栏

    Notification通知栏 首先实现的功能就是通知栏显示Notification,Notification是显示在系统的通知栏上面的,所以Notification 是属于进程之前的通讯.进程之间的 ...

  4. LeetCode----3 Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  5. BZOJ 1600 建造栅栏

    O(N)分成1,2与3,4两部分搞一搞. #include<iostream> #include<cstdio> #include<cstring> #includ ...

  6. SSO单点登录

    登录持久化机制:Cookies&&Session Cookie:是将信息存储到客户端,所有的信息不安全,都会对信息进行加密,cookies中会存储当前会话的唯一标识,即SessionI ...

  7. 微信公众平台 验证URL及简单设置

    加密/校验流程如下: 1. 将token.timestamp.nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signatu ...

  8. HDU 5050

    http://acm.hdu.edu.cn/showproblem.php?pid=5050 大数gcd import java.io.* ; import java.math.* ; import ...

  9. alpha阶段总结 说明

    其实alpha阶段总结那个博客,我们团队已经做过了,只是那个博客的名字不叫alpha阶段总结,是叫第一个sprint与第二个sprint阶段总结.里面详细包含了我们的alpha版本的介绍,与那时的团队 ...

  10. 原来DataTable的Distinct竟如此简单!

    DataView可以帮我们直接获取Distinct数据, DataTable dataTable;DataView dataView = dataTable.DefaultView; DataTabl ...