hdu 4268 Alice and Bob(贪心)

[dp] Alice和Bob玩纸牌游戏。有2叠纸牌,每一叠的纸牌数量为n,并且每张纸牌都有自己的分数。轮流抽卡,求Alice所能拿到的最大分数(四维区间dp) a的区间只剩下lara,b的区间只剩下lbrb的时候,Alice能得到的最大值 阅读详情

Alice and Bob

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4751    Accepted Submission(s): 1487


Problem Description
Alice and Bob's game never ends. Today, they introduce a new game. In this game, both of them have N different rectangular cards respectively. Alice wants to use his cards to cover Bob's. The card A can cover the card B if the height of A is not smaller than B and the width of A is not smaller than B. As the best programmer, you are asked to compute the maximal number of Bob's cards that Alice can cover.
Please pay attention that each card can be used only once and the cards cannot be rotated.
 

Input
The first line of the input is a number T (T <= 40) which means the number of test cases.
For each case, the first line is a number N which means the number of cards that Alice and Bob have respectively. Each of the following N (N <= 100,000) lines contains two integers h (h <= 1,000,000,000) and w (w <= 1,000,000,000) which means the height and width of Alice's card, then the following N lines means that of Bob's.
 

Output
For each test case, output an answer using one line which contains just one number.
 

Sample Input
  
2 2 1 2 3 4 2 3 4 5 3 2 3 5 7 6 8 4 1 2 5 3 4
 

Sample Output
  
1 2
 

Source

题意:给出Alice和Bob的卡牌的长度和宽度,问Alice可以覆盖多少张Bob的卡牌(一张只能使用一次),覆盖是长度和宽度都大于等于Bob的卡牌的长宽


分析:暴力的话O(n^2)会超时的,可以先将x按降序排(后面排的x一定是小于前面的x),如果x相等则按y的降序排。这样只需要比较y就可以了。

然后用跑一次,如果是Alice的卡,就将y加入multiset里,否则则查询multiset里是否有比Bob的y大的。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <set>
#define MAX_N 100005
using namespace std;
struct node
{
    int x,y;
    int id;
}a[2*MAX_N];
bool cmp(node a,node b)
{
    if(a.x==b.x&&a.y==b.y)
        return a.id<b.id;
    if(a.x!=b.x)
        return a.x>b.x;
    return a.y>b.y;
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d",&a[i].x,&a[i].y);
            a[i].id=1;
        }
        for(int i=n+1;i<=2*n;i++)
        {
            scanf("%d%d",&a[i].x,&a[i].y);
            a[i].id=2;
        }
        sort(a+1,a+1+2*n,cmp);
        multiset<int> s;
        int cnt=0;
        for(int i=1;i<=2*n;i++)
        {
            if(a[i].id==1)
            {
                s.insert(a[i].y);
            }
            else
            {
                multiset<int> ::iterator it=s.lower_bound(a[i].y);
                if(it==s.end())
                    continue;
                else
                {
                    cnt++;
                    s.erase(it);
                }
            }
        }
        printf("%d\n",cnt);
    }
    return 0;
}


DSSP 工具:蛋白质二级结构信息计算与批量处理教程 DSSP(Dictionary of Secondary Structure in Proteins)是一款经典的蛋白质二级结构计算工具,由荷兰癌症研究所(NKI Research)Perrakis 团队维护。它通过分析蛋白质的 PDB 结构文件,能够自动标注每个氨基酸残基的二级结构类型、相对溶剂可及性(暴露面积)等关键信息,为后续的拓扑图绘制、疏水 / 亲水表面分析、二级结构预测模型训练等提供核心数据支持。 阅读详情

相关推荐

3D Gaussian Splatting:用于实时的辐射场渲染

3D Gaussian Splatting:用于实时的辐射场渲染 3d gaussian splatting for real-time radiance field rendering

m0_51976564的博客 1万+

HDU4268 Alice and Bob 【贪心】

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2869    Accepted Submission(s): 926 Problem Description Alice and Bo

长风的专栏 1815

数据安全实战技能解析:从加密攻防到数字水印的竞赛指南

数据安全是信息安全领域的核心,其基础在于密码学与信息隐藏技术。密码学通过加密算法(如AES、RSA)和哈希函数,保障数据的机密性与完整性,其原理涉及对称/非对称加密、工作模式及密钥管理。数字水印技术则基于信号处理(如DCT/DWT变换),将信息嵌入多媒体载体,用于版权保护与溯源。这些技术的价值在于为数据全生命周期提供“防泄漏”与“可追溯”的解决方案,广泛应用于企业数据治理、合规审计和**数据防泄漏(DLP)** 系统。本文以一场贴近实战的**数据安全职业技能竞赛**为切入点,深入剖析如何运用密码分析、磁盘取

weixin_34314962的博客 402

HDU 4268 Alice and Bob(贪心+Multiset的应用)

题意: lice和Bob有n个长方形,有长度和宽度,一个矩形可以覆盖另一个矩形的条件的是,本身长度大于等于另一个矩形,且宽度大于等于另一个矩形,矩形不可旋转,问你Alice最多能覆盖Bob的几个矩形? 思路:贪心,先按照h将Alice和Bob的矩形排序,对于Alice的每个矩形,如果Bob的矩形的h小于Alice的h,将Bob的w插入到集合中。 然后,在集合中找到不大于Alice矩形d

GODSPEED 916

实战演练,如何用Easyexcel合并单元格,设置字体、边框样式,并在尾行加入备注

,实现效果如下:1、多级表头合并2、表头底纹+表格边框3、合并相同数据单元格4、尾行加入备注。

Su7148的博客 1万+

ESP32拓展板DIY全攻略:从零打造你的传感器控制中心(附PCB设计文件)

本文详细介绍了如何从零开始DIY ESP32拓展板,打造多功能传感器控制中心。内容涵盖项目规划、硬件设计、PCB布局、制作测试全流程,并提供进阶优化建议和实战案例。特别适合嵌入式硬件爱好者学习ESP32拓展板开发,实现各类传感器的高效集成与控制。

blockchain9miner的博客 1078

Alice and Bob(贪心 + multiset)

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2571    Accepted Submission(s): 828 Problem Description Alice and Bob's game ...

Simone chou... 250

Autosar NvM配置-手动配置Nvblock及使用-基于ETAS软件

NVM作为存储协议栈中最顶层的模块,是必须要掌握的。目前项目基本使用MCU带的Dflash模块,使用Fee模拟eeprom。在项目前期阶段,应该充分讨论需要存储的内容,包括应用数据,诊断数据等,用以评估Dflash空间是否够用。本文基于ETAS软件介绍NVBlock配置生成NVM参数及使用。使用NVBlock配置生成,基本不用手写代码,还是比较方便的。对于Nv block的划分,建议将同时写的一类数据放到一个block中,因为block除了data以外,Fee还会增加一些header数据,占用不少内存。

赞的博客 1884

HDU4268 Alice and Bob【贪心+SET】

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4719    Accepted Submission(s): 1480 Problem Description Alice and Bob's gam

海岛Blog 1693

大数据分析案例-基于随机森林模型对北京房价进行预测

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬勃起来。同时,随着社会经济的快速开展,居民的经济条件越来越好,住房条件也在不断地提升。而住房是人民根本生活的保障,也是-一个家庭最重要的资产,从一定的层面.上反映了一个家庭整体的生活水王,多方面的因素使得房地产行业在短时间开展成为我国的支柱产业之一;成为了切实关乎人民生活和利益的重要产业。然而,随着房地产行业的开展,问题也慢慢突显出来,房价一直居高不下成为了一个大问题。 作为国家的支柱产业,房地产的稳定发展关乎国计民生。近几年,房

m0_64336780的博客 8827

闲鱼爬虫实战:模拟手机端破解反爬策略,爬取指定商品搜索数据,爬取闲鱼搜索指定商品(需手机端模拟)o 技术点:抓包分析、cookie与token

技术点作用抓取手机 App 请求,分析 API 结构、Header、参数加密情况requestsPython 中最常用的 HTTP 库,用于发送模拟请求Session 对象自动管理 Cookie,保持会话User-Agent & 设备特征模拟手机型号、系统版本,绕过服务端检测闲鱼部分接口存在签名,需要逆向或复用有效 Token多线程/异步提高爬取效率(需节制,避免封 IP)解析 HTML 或 JSON 数据注意:闲鱼的接口加密程度中等偏上,部分接口存在动态签名(如x-signx-mini-wua。

2201_76125261的博客 712

【HDU 4268】Alice and Bob 贪心 set

Problem Description Alice and Bob’s game never ends. Today, they introduce a new game. In this game, both of them have N different rectangular cards respectively. Alice wants to use his cards to cover Bob’s. The card A can cover the card B if the height of

待到山花烂漫时 318

《低功耗方法学》翻译——前言

前言

记录所学,分享知识,结识挚友 1208

HDU 4268 Alice and Bob(贪心)

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2645    Accepted Submission(s): 851 Problem Description Alice and Bo

Menglei Min 991

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDU 4268 Alice and Bob(贪心+multiset)

HDU 4268 题意:Alice与Bob在玩卡片游戏,他们每人有n张卡片,若Alice的一张卡片长与宽都不小于Bob的一张卡片,则Bob的卡片就会被盖住,一张卡片只可以使用一次,且不可旋转求Alice最多可以盖住多少张Bob的卡片。 思路:记录两人卡片情况,并按照长度将两人卡片分别降序排序。遍历两人的卡片,将长度小于Alice的卡片长度的Bob卡片的宽度插入multiset中,在multis

a novice 786

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU 4268 Alice and Bob(贪心)

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3700    Accepted Submission(s): 1174 Problem Description Alice and B

叶孤心的专栏 834

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

HDU 4268-Alice and Bob-贪心

典型的双关键字排序咯。。 A,B分别排好序 从大到小遍历B,每次遍历到Bi时,确保 所有第一关键字大于Bi的 Aj都要在一个set里候选,即可保证贪心正确 #include #include #include #include #include #include #include #include #include #include using nam

缺氧 337

hdu4268 排序贪心Alice and Bob

hdu4268 multiset中upper_bound的使用 //multiset //iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 //iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。 #i

Time flies 944

hdu4268 Alice and Bob(贪心)

本题没完全懂,set还是没有用熟练,以后再看。 不想做贪心了,真是瞎了我的狗眼5555。。。。 #include #include #include #include #include using namespace std; const int N = 100005; struct CARD { int hig, wed; bool operator < (c

Iguodala的博客 535

HDU 4268 Alice and Bob(贪心)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4268 一般像这种题目,首先会想到动态规划算法但是这个题目一看数据就想到肯定是要找一个O(n)的或者O(n*logn)的一个算法,所以动态规划这种 算法比较难找,也很少见这种低复杂度的动态规划算法,所以就只能是贪心能提供这种复杂度了。 把两个人的牌揉到一起,做个标记是alice的还是bob的,然后

sunrain的专栏 871

hdu 4268 Alice and Bob矩形覆盖(贪心)

题意:有Alice和Bob 各有一组矩形,

程序员的冷浪漫 1061

hdu4268 Alice and Bob(贪心+multiset)

Alice and Bob Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 559Accepted Submission(s): 224 Problem Description Alice and Bob's ga...

angtongyou1893的博客 195

hdu4268 Alice and Bob(贪心+set)

hdu4268 题意:A和B两个人各有n个矩形板子,当A的板子的长&gt;=B的板子的长&amp;&amp;A的板子的宽&gt;=B的板子的宽时,则是覆盖,求最大能覆盖的数量。 题解:两个序列的长都从小到大排序,然后从B中找出满足小于等于A的第i板子的长,先满足一个条件,塞到multiset里,再找出满足第一个条件后set中最大的宽,ans++。遍历完所有的A板子即可。 set:排序+去重 ...

zxy160的博客 243

hdu 4268 Alice and Bob(贪心)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4268 贪心,先对高度排序(升序),接着宽度也排序(升序),接下来对于Alice的每个卡找到Bob所有符合条件的卡片宽度最小的那个(因为高度已经符合了)。   #include #include #include #include #include using namespace

Roly 667

hdu4268Alice and Bob 贪心+multiset

//a,b个有n张卡片,每张卡片都有高度和宽度 //问a最多能盖住多少张b的卡片 //一张卡片要盖住另一张的条件是高度h和宽度w都要大于另一张 //很明显的贪心 //对于b在a中h大于它的宽度找刚好大于等于它的 //用multiset维护 #include #include #include #include #include using namespace std ; const int max

ijbuhv的专栏 562

HDU 4268 Alice and Bob(贪心+STL)

该题一开始我用multiset写了一发,写的比较裸,TLE了 。 后来队友想到了一个比较好的方法 :将两个结构体排序之后,从大到小枚举Alice的h,对于每个h,将Bob中满足h小于当前h的牌的w加进multiset,然后用二分函数查找一下大于等于当前w的第一个数,当前迭代器的上一个指针就是小于当前w的最大w,找到就删除。那么也就是我们用了这样的贪心策略:对于Alice的每一张牌,要覆盖一张Bob

AC_Arthur的专栏 1013
上一篇: hdu 1873 (优先队列)
下一篇: Uva 10763 Foreign Exchange
Timeclimber
博客等级 码龄9年 25粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值