一句话题意:讲什么题意啊,见usaco2017feb silver的T1,一模一样,就是牛和鸡的读入顺序反过来了一下,数据范围大了10倍,卡掉了\(O(n^2)\)的算法。

数据范围:

对于 30%的数据,n<=10,m<=10;

对于 50%的数据,n<=100,m<=100;

对于 70%的数据,n<=2000,m<=2000;

对于 100%的数据,n<=200,000,m<=200,000,1<=li,ri<=1,000,000,000,1<=ti<=1,000,000,000,保证li<=ri。

30分做法:我实在是不知道怎么能拿30分,据题解说:大概是 \(O(n!)\) 的暴力dfs,然后 \(O(n)\) 检验方案合法性,时间复杂度 \(O(n*n!)\)

50分做法:我觉得这个做法真的是神了,可以发现这是一个二分图,建出二分图拿匈牙利算法跑一边最大匹配就行了,时间复杂度 \(O(n^3)\)

70分做法:这个才应该是正常情况下应该拿的分吧,直接将牛和鸡排序贪心即可,这个是经典贪心了,正确性就很显然了吧,时间复杂度 \(O(n^2)\)

100分做法:我们可以发现70分做法有一重枚举非常浪费,很多情况下都是多余的,所以就可以拿一个能 \(O(logn)\) 维护序列单调的数据结构来维护牛就好了吧,每次二分出第一个进入区间范围的牛,然后\(ans++\),删去那头牛即可,时间复杂度 \(O(nlogn)\)

代码:

#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
int n,m,q,cow,ans;
struct oo{int x,y;}s[200001];
multiset<int>mp;
multiset<int>::iterator it;
bool cmp(oo a,oo b){return a.y<b.y;}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)scanf("%d%d",&s[i].x,&s[i].y);
for(int i=1;i<=n;i++)scanf("%d",&cow),mp.insert(cow);
sort(s+1,s+m+1,cmp);
for(int i=1;i<=m;i++)
{
it=mp.lower_bound(s[i].x);
if((*it)>=s[i].x&&(*it)<=s[i].y)ans++,mp.erase(it);
}
printf("%d\n",ans);
}

dream(2018.10.17)的更多相关文章

  1. Dell Technology Summit(2018.10.17)

    时间:2018.10.17地点:北京国家会议中心

  2. 2018.10.17 NOIP模拟 管道(状压dp)

    传送门 状压dp好题. 怎么今天道道题都有点东西啊 对于今天题目神仙出题人先膜为上策:%%%%DzYoAk_UoI%%%% 设f[i][j]f[i][j]f[i][j]表示选取点的状态集合为iii,当 ...

  3. 2018.10.17 NOIP模拟 发电机(概率dp)

    传送门 考试空间开大了爆零不然只有30分爆栈? 话说这题真的坑1e7没法写dfsdfsdfs 其实很好推式子. 考虑每个点安一个发动机的概率,推一波式子做个等比数列求和什么的可以证明出来是严格的1si ...

  4. 2018.10.17校内模拟赛:T2神光

    题面:pdf 首先排序,二分,然后怎么判定是否可行. 最简单的思路是,dp[i][j][k],到第i个,用了j次红光,k次绿光,前i个点都选上了,是否可行.然后转移就行. 然后考试的时候就想到这了,往 ...

  5. 2018.10.17 学习如何使用Shiro

    参考学习https://www.javazhiyin.com/19502.html

  6. icekingdom(2018.10.17)

    一句话题意:给你一颗n个点的树,节点初始状态下都是白色,有q次修改,每次修改会把[li,ri]区间内的点染成黑色,并且问黑色点能形成几个联通块,然后会将所有点染回白色.(也就是说每次都只有[li,ri ...

  7. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

  8. 退役前的记录(2018.10.14-NOIP2018)

    退役前的记录 诸位好,我是\(CJ\)最菜的\(Oier\),已经是\(G2\)的老年选手了,不知道什么时候就会退役了,总之\(G1\ double\)的机会已经没有了,去年因为联赛失利而止步,而今年 ...

  9. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

随机推荐

  1. [Java SE] 字符串连接

    Java 支持多种字符串连接方式,总结如下: package cn.spads.tool.string; import java.text.MessageFormat; /** * <b> ...

  2. !推荐:下载abap 源代码

    转自http://blog.sina.com.cn/s/blog_4d1570de0100pvhd.html *@------------------------------------------- ...

  3. KeyChain相关参数的说明

    #pragma mark- 密钥类型 //密钥类型键 //CFTypeRef kSecClass // //值 //CFTypeRef kSecClassGenericPassword         ...

  4. Windows程序设计(1)——Win32运行原理(三)

    进程控制 1 获得系统进程 2 终止当前进程 3 终止其他进程 4 进程控制 4.1 获得系统进程 使用toolhelp模块可以实现获取系统中当前运行当中的进程列表. 思路如下,使用CreateToo ...

  5. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stoc

    今天在使用yum安装文件时,出现了以下问题: root@localhost opt]# yum update Loaded plugins: fastestmirror Could not retri ...

  6. wpf图片定点缩放

    去年犯小人,万事不顺,4月刚换工作,开始新工作 遇到一个小问题,需要读取图片,然后对图片进行定点缩放,很简答的逻辑,很简单的代码,但是,这尼玛我被wpf给坑了,这一坑就是三天 好了,很简单的一个UI ...

  7. centos6.5安装jdk

    1.查看Linux环境自带JDK 使用命令:# rpm -qa|grep gcj 显示内容其中包含相应信息# java-x.x.x-gcj-compat-x.x.x.x-xxjpp# java-x.x ...

  8. laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)

    laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...

  9. DDD领域驱动之干货(二)

       基于仓储的实现 1.前言:本着第一节写的有些糊涂,主要是自己喜欢实干,不太喜欢用文字表述,就这样吧.下面切入正题. 博客园里面有很多的大佬,我这里就不一一解释概览,有兴趣的朋友可以去看大佬们写的 ...

  10. JS倒计时,距离某一日期还有多少时间

    JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离x年x月x日还有x天x小时x分钟x秒,如果给定时间比当前时间更早,则显示为距离2012-9-30已过去1天22小时26分30秒的格式,如果给定 ...