zoukankan      html  css  js  c++  java
  • Gym 100820-G

    题目:https://codeforces.com/gym/100820/problem/G

    该题目可以通过十分巧妙的方法转换成nlogn求最长不下降子序列。

    #include<iostream>
    #include<algorithm>
    using namespace std;
    struct point {
        long long x , y ;
        bool operator < (point &a){
            return x < a.x ;
        }
    }a[110000];
    long long n , r , w , h , x , y , t ;
    long long ans[110000] ; 
    int main(){
        cin>>n>>r>>w>>h;
        for(int i = 1 ; i <= n ; i ++ ){
            cin>>x>>y;
            a[i].x = ( x * r + y ) ; 
            a[i].y = ( ( w - x ) * r + y ) ;
        }
        sort( a + 1 , a + n + 1 );
        for( int i = 1 ; i <= n ; i ++ ){
            if( a[i].y >= ans[t] ) ans[++t] = a[i].y ;
            else{
                int p = lower_bound( ans + 1 , ans + t + 1 , a[i].y ) - ans ;
                ans[p] = a[i].y ; 
            }
        }
        cout<<t<<endl;
        return 0 ;
    }

    这里将输入的x,y坐标转换了。

    具体怎么做,这个题解讲的很好。我也是看了该题解才发现可以这么巧妙的转化。

  • 相关阅读:
    面试题
    ajax部分
    jquery部分
    javascript部分
    webpack入门
    jQuery 实现下载进度条
    webSocket入门
    Ajax实现下载进度条
    C# IDisposable接口
    nuget必备插件(待续)
  • 原文地址:https://www.cnblogs.com/xcsj/p/13292303.html
Copyright © 2011-2022 走看看