P11789 [JOI 2019 Final] 画展 / Exhibition题目描述你将举办一个画展。在展览中你需要将一些画放入一些画框中并摆放成一排。展览有NNN幅候选画编号从111到NNN。画iii具有大小SiS_iSi和美观度ViV_iVi。另外有MMM个候选画框编号从111到MMM。画框jjj的大小为CjC_jCj。只有大小不超过CjC_jCj的画才能放入画框jjj中。每个画框中最多只能放一幅画。每幅要展出的画都必须放在一个画框中。考虑到美观因素展出的画必须满足以下条件对于任意两幅相邻的画右边的画框大小不小于左边的画框。对于任意两幅相邻的画右边的画的美观度不小于左边的画的美观度。你需要求出你最多能展出多少幅画。输入格式一行两个整数N,MN,MN,M。接下来NNN行每行两个整数Si,ViS_i,V_iSi,Vi含义如题所示。接下来MMM行每行一个整数CiC_iCi含义如题所示。输出格式一行一个整数表示能展示的画的数量。输入输出样例 #1输入 #13 4 10 20 5 1 3 5 4 6 10 4输出 #12输入输出样例 #2输入 #23 2 1 2 1 2 1 2 1 1输出 #22输入输出样例 #3输入 #34 2 28 1 8 8 6 10 16 9 4 3输出 #30输入输出样例 #4输入 #48 8 508917604 35617051 501958939 840246141 485338402 32896484 957730250 357542366 904165504 137209882 684085683 775621730 552953629 20004459 125090903 607302990 433255278 979756183 28423637 856448848 276518245 314201319 666094038 149542543输出 #43说明/提示【数据范围与约定】$ 1\le N \le 100000 $。$ 1 \le M \le 100000 $。$ 1\le S_i \le 10^9$。$ 1\le V_i,C_j \le 10^9$。对于 $ 10 %$ 的数据$ N \le 10M \le 10 $。对于 $ 40 %$ 的数据$ N \le 1000M \le 1000 $。对于 $ 50 %$ 的数据无特殊限制。C实现#includebits/stdc.husingnamespacestd;constintN1e65;intn,m;pairint,inta[N];intb[N];intans;intmain(){ios::sync_with_stdio(false);cin.tie(0);cinnm;for(inti0;in;i){cina[i].seconda[i].first;}for(inti0;im;i){cinb[i];}sort(a,an);sort(b,bm);for(intin-1,jm-1;i0j0;i--)//从后往前{if(b[j]a[i].second)//如果匹配的上就更新答案并和下一个匹配{ans;j--;}}coutans;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
阅读完成 · 觉得有帮助?