问题描述:Circle

小明在玩游戏,他正在玩一个套圈圈的游戏。他手里有 L 种固定半径的圆圈,每一种圆 圈都有其固定的数量。他要把这些圆圈套进 N 个圆形槽中的一个。这些圆形槽都有一个最 小半径和最大半径,他要套进去的圆圈半径必须在圈槽的最小半径和最大半径之间(含)。 圆形槽如图所示,绿色部分表示可以放圈圈。这 N 个圆形槽的最小半径和最大半径都不一 样。求最多可以放进去多少个圆圈。每一个圆形槽最多放一个圆圈。

数据输入

第 1 行是两个数 N 和 L。(1<=N,L<=2500) 第 2 行到第 N+1 行每行有两个数字,分别表示每一个圆形槽的最小半径和最大半径。 第 N+2 行到第 N+L+1 行每行有两个数字,分别表示每一种圆圈的半径和这种圆圈的数 量。 半径和圆圈均为 1 到 1000 的整数。 ★结果输出: 输出一个整数 S,表示最多可以放进去的圆圈数。

输入示例

输出示例 3 2 3 10 2 5 1 5 6 2 4 1 2

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
struct circle
{
int le,ri;
int isUsed;
}chao[];
bool compareCircle(struct circle a,struct circle b)
{
if(a.ri<b.ri)return true;
if(a.ri==b.ri)return a.le<b.le;
return false;
}
int main()
{
int N,L;
int i;
scanf("%d%d",&N,&L);
for(int i=;i<N;i++)
{
scanf("%d%d",&chao[i].le,&chao[i].ri);
}
sort(chao.chao+N,compareCircle);
int quan[];
//init
for(int i=;i<=;i++)
{
quan[i]=;
}
for(int j=;j<l;j++)
{
int a,b;
scanf("%d%d",&a,&b);
quan[a]+=b;
}
int sum=;
//以要放入的圆圈为主,去放到槽中
for(int k=;k<=;k++)
{
if(quan[k]==)continue;
for(int t=;t<N;t++)
{
if(chao[t].isUsed==)
{
if(chao[t].le<=k&&chao[t].ri>=k)
{
chao[t].isUsed=;
sum++;
quan[k]--;
if(quan[k]==)break;
}
}
}
}
printf("%d",sum);
reurn ;
}

水题系列一:Circle的更多相关文章

  1. nyoj 1208——水题系列——————【dp】

    水题系列 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述     给你一个有向图,每条边都有一定的权值,现在让你从图中的任意一点出发,每次走的边的权值必须必上一次的权 ...

  2. Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]

    题目 大意: 缩点后转为求最长链的长度和最长链的个数 思路: 看懂题就会做系列 长度和个数都可以拓扑排序后DP求得 毕竟是2007年的题 代码: 如下 #include <cstdio> ...

  3. COdevs 天梯 水题系列

    1203 判断浮点数是否相等 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入 ...

  4. Tarjan水题系列(4):HAOI2010 软件安装

    题目: 现在我们的手头有N个软件,对于一个软件i,它要占用Wi​的磁盘空间,它的价值为Vi​.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi​的和最大). ...

  5. Tarjan水题系列(3):HNOI2006 潘多拉的魔盒

    题目: 链接 大意: 盒子与盒子之间的关系构成一个有向图 求图上包含节点数最多的路径的节点数 思路: 有向图上求包含节点数最多的路径的节点数 可直接使用tarjan缩点后拓扑dp求得 在此不赘述 此题 ...

  6. poj 水题系列

    题目:http://poj.org/problem?id=3006 筛选法求素数 #include <iostream> #include<cstdio> #include&l ...

  7. 水题系列二:PhoneNumbers

    问题描述: Phonenumbers 企业喜欢用容易被记住的电话号码.让电话号码容易被记住的一个办法是将它写成一 个容易记 住的 单词或 者短语 .例如 ,你 需要给 滑铁卢 大学打 电话时 ,可 以 ...

  8. CodeForces 41A+43A【课上无聊刷水题系列】

    41Acode 好像只要前一个字符串存在下一个字符串的头单词就YES: #include <bits/stdc++.h> using namespace std; typedef __in ...

  9. 树形DP水题系列(1):FAR-FarmCraft [POI2014][luogu P3574]

    题目 大意: 边权为1 使遍历树时到每个节点的时间加上点权的最大值最小 求这个最小的最大值 思路: 最优化问题 一眼树形DP 考虑状态设立 先直接以答案为状态 dp[u] 为遍历完以u为根的子树的答案 ...

随机推荐

  1. SAP成本核算说明

    SAP成本核算说明 <SAP财务管控——财务总监背后的管理大师>京东有售. > SAP成本核算说明 说明: 1.    原材料采用移动平均价核算:产成品采用计划(标准)成本核算: 2 ...

  2. SE91 SAP消息类型

    SE91 SAP消息类型 E:Error W:Warning I  :Information A :Abortion S :Success 标准 : MESSAGE ID sy-msgid TYPE  ...

  3. web前端知识总结

    前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS ...

  4. Go 字典(Map)

    比较熟悉 Python 的对于字典肯定不会陌生,在 Go 中 map 就是 Python 中字典的概念,它的基本格式是 map[keyType]valueType .map 的读取和设置和 slice ...

  5. Django与缓存

    我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...

  6. python 判断两个列表中相同和不同的元素

    背景: 在做接口自动化时,通常会判断接口返回中的数据信息,与数据库中返回的数据信息是否一致,比如:将接口返回信息的用户姓名存放到一个列表中,将数据库返回的用户姓名存放到另一个列表中,这时需要判断两个列 ...

  7. Unity --- sharedMaterial 、material

    sharedMaterial: 无论如何更新材质的属性,内存中只会存在一份. material: 每次更新材质属性的时候,内存中都会重新new一份material作用于它,直到 Application ...

  8. 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)

    日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...

  9. Win7无法保存共享帐户密码

    每次机器重启完之后,网络共享的密码总是要重新输入. [记住我的凭据]选项不起作用. 查到了下面百度经验的文章,挺靠谱的. https://jingyan.baidu.com/article/59a01 ...

  10. Java接口简单理解

    1.接口: 接口成员变量默认声明方式:public.static.final 接口成员方法默认声明方式:public.abstract public interface Interface_class ...