zoukankan      html  css  js  c++  java
  • P1233-木棍加工

     1 #pragma GCC optimize("Ofast")
     2 #include <bits/stdc++.h>
     3 #define maxn 13003
     4 #define _for(i,a,b) for(int i = (a);i < b;i ++)
     5 typedef long long ll;
     6 using namespace std;
     7 
     8 inline ll read()
     9 {
    10     ll ans = 0;
    11     char ch = getchar(), last = ' ';
    12     while(!isdigit(ch)) last = ch, ch = getchar();
    13     while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
    14     if(last == '-') ans = -ans;
    15     return ans;
    16 }
    17 inline void write(ll x)
    18 {
    19     if(x < 0) x = -x, putchar('-');
    20     if(x >= 10) write(x / 10);
    21     putchar(x % 10 + '0');
    22 }
    23 struct wood
    24 {
    25     int W;
    26     int L;
    27 };
    28 int n;
    29 wood in[5003];
    30 int dp[5003];
    31 int dpend = 1;
    32 bool cmp(wood a,wood b)
    33 {
    34     if(a.L == b.L)
    35         return a.W > b.W;
    36     return a.L > b.L;
    37 }
    38 
    39 int main()
    40 {
    41     n = read();
    42     _for(i,1,n+1)
    43     {
    44         in[i].L = read();
    45         in[i].W = read();
    46     }
    47     sort(in+1,in+n+1,cmp);
    48 
    49     dp[dpend] = in[1].W;
    50     _for(i,2,n+1)
    51     {
    52         if(in[i].W > dp[dpend])
    53             dp[++dpend] = in[i].W;
    54         else
    55         {
    56             int t = lower_bound(dp+1,dp+dpend+1,in[i].W)-dp;
    57             dp[t] = in[i].W;
    58         }
    59     }
    60     write(dpend);
    61     return 0;
    62 }
  • 相关阅读:
    法正(44):鄙视
    法正(43):许攸
    法正(42):孔明
    法正(41):帮派
    法正(40):常委
    法正(39):寡妇
    法正(38):吴苋
    法正(37):刘备
    法正(29):暗弱
    法正(36):花瓶
  • 原文地址:https://www.cnblogs.com/Asurudo/p/11357092.html
Copyright © 2011-2022 走看看