測试赛D - The War(有控制范围的贪心)

D - The War

Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld
& %llu

Submit Status

Description

A war had broken out because a sheep from your kingdom ate some grasses which belong to your neighboring kingdom. The counselor of your kingdom had to get prepared for this war. There are N (1 <= N <= 2500) unarmed soldier in your kingdom
and there are M (1 <= M <= 40000) weapons in your arsenal. Each weapon has a weight W (1 <= W <= 1000), and for soldier i, he can only arm the weapon whose weight is between minWi and maxWi (
1 <= minWi <= maxWi <= 1000). More armed soldier means higher success rate of this war, so the counselor wants to know the maximal armed soldier he can get, can you help him to win this war?

Input

There multiple test cases. The first line of each case are two integers N, M. Then the following N lines, each line contain two integers minWi, maxWi for each soldier. Next M lines, each line contain one integer W represents the weight of each weapon.

Output

For each case, output one integer represents the maximal number of armed soldier you can get.

Sample Input

3 3
1 5
3 7
5 10
4
8
9
2 2
5 10
10 20
4
21

Sample Output

2
0

贪心的问题,人能够使用的有一些范围,武器有重量,唯一要解决的问题就是在一个人的控制范围内包括还有一个人的,这样的情况要让范围小的先找

y有小到大,假设y同样时x由小到大。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
struct node{
    int x , y ;
} p[2600];
int q[1200] ;
bool cmp(node a,node b)
{
    return a.y < b.y || ( a.y == b.y && a.x < b.x ) ;
}
int main()
{
    int i , j , n , m ;
    while(scanf("%d %d", &n, &m) !=EOF )
    {
        memset(q,0,sizeof(q));
        for(i = 0 ; i < n ; i++)
            scanf("%d %d", &p[i].x, &p[i].y);
        while(m--)
        {
            scanf("%d", &i);
            q[i]++ ;
        }
        m = 0 ;
        sort(p,p+n,cmp);
        for(i = 0 ; i < n ; i++)
        {
            int l = p[i].x , r = p[i].y ;
            for(j = l ; j <= r ; j++)
                if( q[j] )
            {
                q[j]--;
                m++ ;
                break;
            }
        }
        printf("%d\n", m);
    }
    return 0 ;
}
时间: 2024-08-10 18:08:48

測试赛D - The War(有控制范围的贪心)的相关文章

计蒜之道 測试赛

题目链接:http://www.jisuanke.com/minicourse/63 绿色能源 蒜头又要改变世界了. 这次他将为一些恶劣地形环境设计太阳能取电方案. 在最新的设计中,太阳能板被设置在一些太阳能塔上,与塔同高. 这一次,将有 n 座太阳能塔被设置.这些塔已经被提前制作完毕.当中 i 号塔高为 hi,如今project师须要确定将塔安置在哪些位置.以获得最大的总能量. 太阳能塔被安置的地形环境由 m 个点的多边形来表示.多边形的每一个点将会给出相应的坐标(xi, yi).xi < x

SDUT2013级測试赛_D

题目描写叙述 给出一棵含有n个点的树.每一个点权值为wi.求从根节点到叶子结点权值和最大的那条路经的权值和是多少. 输入 n(1<= n && n <= 10000). 接下来n+1行,每行两个整数w(w <= 1000). 第i个节点的父节点为w,若 i为根节点.600组数据. 输出 对于每组数据,输出一个数代表答案. 演示样例输入 3 0 5 1 5 1 6 演示样例输出 11 提示 来源 解题报告 求从根节点出发到叶子的最长路. . .非常像数塔.. . 我暴力df

机房收费系统——測试计划

測试计划(GB8567--88) 1引言 在项目基本编码工作完毕的就要进行測试.对于排除出错误和修复漏洞有重要作用. 1.1编写目的 測试的主要目的就是尽可能多的找到系统中的漏洞,而且设计出測试用例,对系统測试.目的及在于对測试的方法.測试流程,有一定大体上的掌控. 本文档的预期读者是測试人员. 系统測试在整个项目开发过程中.比例占到了40%~50%.基本上在项目进行编码的过程中就開始了測试,所以測试的好坏也影响了系统的功能实现情况. 1.2背景 说明: a.  測试计划所从属的软件系统的名称:

测试赛D - The War(有控制范围的贪心)

D - The War Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Description A war had broken out because a sheep from your kingdom ate some grasses which belong to your neighboring kingdom. The counselor of your k

springMVC4(5)RestTemplate控制层单元測试

在前面我们进行web測试,总要在游览器进行.数据组装.请求方法更给等都极为麻烦. RestTemplate是Spring提供的一个web层測试模板类,我们能够通过RestTemplate在client方便的进行web层功能測试.它支持REST风格的URL,并且具有AnnotationMethodHandlerAdapter的数据转换器HttpMessageConverters的装配功能. RestTemplate已默认帮我们完毕了一下数据转换器的注冊: ByteArrayHttpMessageC

db_keep_cache_size參数的控制范围測试

ocm考试新题中.须要创建keep存储的表,但在该參数是否应该改动上,有一些分歧.有人说asmm会自己主动给keep分配内存的,该參数就不用设置了. 看文档和asktom.也是云山雾罩,说什么的都有,还是来实际的測试吧: SQL> col COMPONENT for a30 SQL> select COMPONENT,CURRENT_SIZE/1024/1024||'MB' MB from V_$SGA_DYNAMIC_COMPONENTS where COMPONENT in ('DEFAU

ios的单元測试OCUnit以及更新了之后的XCTestCase

1.像一般创建项目的步骤一样.创建一个用于測试的项目或者打开一个待測试的项目. (oc是5.0之前所使用的測试,如今用的是XCtestCase,默认会创建一个主的測试类.曾经版本号可能非常多步骤省去) 例如以下:我们能够看到一个text中的測试文件,如今全部測试类都是继承XCTestCase类. 2.写入对应的測试用例在測试类,測试类中对要測试的类须要进入对应的类的头文件,这个是理所应当的.然后执行"执行測试".快捷键:command+U或者product-> test. 以下是

Unityclient通信測试问题处理(二)

在client的通信測试过程中.场景载入的问题给自己带来了不小的麻烦.由于消息的解析方法在单独的监听线程中调用,这也就意味着无法在消息的解析方法中调用Unity自身的API了.本来是打算在接收到场景切换的消息后,直接在解析方法中调用协同程序StartCoroutine.来实现场景的异步载入,但是如今一旦调用就会提示下面错误: StartCoroutine_Auto can only be called from the main thread... 不能直接在监听线程中调用,那就仅仅能另想办法了

软件安全性能測试(转载)

近来,在我负责的公司某软件产品的最后測试工作,经常被问到这样一个问题:在做測试过程中,我们的软件产品在安全性方面考虑了多少?应该怎样測评一个软件究竟有多安全? 这个软件因为涉及客户商业上重要的信息资料,因此用户关心的核心问题始终环绕“这个软件安全吗”.一个因为设计导致的安全漏洞和一个因为实现导致的安全漏洞,对用户的终于影响都是巨大的.我的任务就是确保这个软件在安全性方面能满足客户期望. 一.什么是软件安全性測试 (1)什么是软件安全 软件安全属于软件领域里一个重要的子领域.在曾经的单机时代,安全