51Nod 1279

Posted precious-lzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1279相关的知识,希望对你有一定的参考价值。

技术分享图片

技术分享图片

技术分享图片

上一层a窄于下一层b,则盘子c>a&&c<b时,是到达不了b的,所以预处理井,a<b时,b=a;

这时,井就成了一个上宽下窄的井,从下开始比较,盘子的卡到一个位置,那这里之下的井就不用再看了。

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<iostream>
 4 #include<string.h>
 5 using namespace std;
 6 int main(){
 7     int n,m;
 8     scanf("%d%d",&n,&m);
 9     int a[n],b[m];
10     for(int i=0;i<n;i++){
11         scanf("%d",&a[i]);
12         if(a[i]>a[i-1]&&i!=0){
13             a[i]=a[i-1];
14         }
15     }
16     int sum=0,flag=0;
17     int w=n-1;
18     for(int i=0;i<m;i++){
19         scanf("%d",&b[i]);
20         while(a[w]<b[i]){
21             w--;
22         }
23         if(w>=0){
24             sum++;
25             w--;
26         }
27     }
28     printf("%d",sum);
29 }

 

以上是关于51Nod 1279的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1279单调栈扔盘子

51Nod 1279

51nod 1279 扔盘子

51 nod 1279 扔盘子

51Nod 1279 扔盘子

(贪心)51NOD 1279 扔盘子