水题系列一:Circle
问题描述: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的更多相关文章
- nyoj 1208——水题系列——————【dp】
水题系列 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给你一个有向图,每条边都有一定的权值,现在让你从图中的任意一点出发,每次走的边的权值必须必上一次的权 ...
- Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]
题目 大意: 缩点后转为求最长链的长度和最长链的个数 思路: 看懂题就会做系列 长度和个数都可以拓扑排序后DP求得 毕竟是2007年的题 代码: 如下 #include <cstdio> ...
- COdevs 天梯 水题系列
1203 判断浮点数是否相等 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入 ...
- Tarjan水题系列(4):HAOI2010 软件安装
题目: 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). ...
- Tarjan水题系列(3):HNOI2006 潘多拉的魔盒
题目: 链接 大意: 盒子与盒子之间的关系构成一个有向图 求图上包含节点数最多的路径的节点数 思路: 有向图上求包含节点数最多的路径的节点数 可直接使用tarjan缩点后拓扑dp求得 在此不赘述 此题 ...
- poj 水题系列
题目:http://poj.org/problem?id=3006 筛选法求素数 #include <iostream> #include<cstdio> #include&l ...
- 水题系列二:PhoneNumbers
问题描述: Phonenumbers 企业喜欢用容易被记住的电话号码.让电话号码容易被记住的一个办法是将它写成一 个容易记 住的 单词或 者短语 .例如 ,你 需要给 滑铁卢 大学打 电话时 ,可 以 ...
- CodeForces 41A+43A【课上无聊刷水题系列】
41Acode 好像只要前一个字符串存在下一个字符串的头单词就YES: #include <bits/stdc++.h> using namespace std; typedef __in ...
- 树形DP水题系列(1):FAR-FarmCraft [POI2014][luogu P3574]
题目 大意: 边权为1 使遍历树时到每个节点的时间加上点权的最大值最小 求这个最小的最大值 思路: 最优化问题 一眼树形DP 考虑状态设立 先直接以答案为状态 dp[u] 为遍历完以u为根的子树的答案 ...
随机推荐
- SAP成本核算说明
SAP成本核算说明 <SAP财务管控——财务总监背后的管理大师>京东有售. > SAP成本核算说明 说明: 1. 原材料采用移动平均价核算:产成品采用计划(标准)成本核算: 2 ...
- SE91 SAP消息类型
SE91 SAP消息类型 E:Error W:Warning I :Information A :Abortion S :Success 标准 : MESSAGE ID sy-msgid TYPE ...
- web前端知识总结
前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS ...
- Go 字典(Map)
比较熟悉 Python 的对于字典肯定不会陌生,在 Go 中 map 就是 Python 中字典的概念,它的基本格式是 map[keyType]valueType .map 的读取和设置和 slice ...
- Django与缓存
我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...
- python 判断两个列表中相同和不同的元素
背景: 在做接口自动化时,通常会判断接口返回中的数据信息,与数据库中返回的数据信息是否一致,比如:将接口返回信息的用户姓名存放到一个列表中,将数据库返回的用户姓名存放到另一个列表中,这时需要判断两个列 ...
- Unity --- sharedMaterial 、material
sharedMaterial: 无论如何更新材质的属性,内存中只会存在一份. material: 每次更新材质属性的时候,内存中都会重新new一份material作用于它,直到 Application ...
- 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)
日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...
- Win7无法保存共享帐户密码
每次机器重启完之后,网络共享的密码总是要重新输入. [记住我的凭据]选项不起作用. 查到了下面百度经验的文章,挺靠谱的. https://jingyan.baidu.com/article/59a01 ...
- Java接口简单理解
1.接口: 接口成员变量默认声明方式:public.static.final 接口成员方法默认声明方式:public.abstract public interface Interface_class ...