zoukankan      html  css  js  c++  java
  • hdu 4293 区间DP

     1 /*
     2 题目大意:n个人分成若干组,每个人都描叙他们组前面有多少人后面有多少人,
     3 求说真话的人最多有多少个。
     4 解题思路:把同一组的人数统计起来他们组前面有x人后面有y人,
     5 num[x+1][n-y]表示区间[x+1,n-y]的权值,num[x+1][n-y]<=n-x-y
     6 那么就是求不重合,[1,n]区间的最大值
     7 */
     8 #include <iostream>
     9 #include <cstdio>
    10 #include <cstring>
    11 using namespace std;
    12 
    13 const int maxn=505;
    14 int dp[maxn],num[maxn][maxn];
    15 inline int max(int a,int b){return a>b?a:b;}
    16 
    17 int main()
    18 {
    19     int n,i,j,x,y;
    20     while(~scanf("%d",&n))
    21     {
    22         memset(num,0,sizeof(num));
    23         memset(dp,0,sizeof(dp));
    24         for(i=1;i<=n;i++)
    25         {
    26             scanf("%d%d",&x,&y);
    27             if(num[x+1][n-y]<n-x-y)
    28                 num[x+1][n-y]++;
    29         }
    30         int ans=0;
    31         for(i=1;i<=n;i++)
    32         {
    33             for(j=0;j<i;j++)
    34                 dp[i]=max(dp[i],dp[j]+num[j+1][i]);
    35             ans=max(ans,dp[i]);
    36         }
    37         printf("%d
    ",ans);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    HDU 2883 kebab
    CSUOJ 1635 Restaurant Ratings
    CSUOJ 1638 Continued Fraction
    POJ 1852 Ants
    ZOJ 3471 Most Powerful
    CSUOJ 1637 Yet Satisfiability Again!
    如何生成CA证书
    Keepalived实现双机热备
    Nginx负载均衡的优缺点
    负载均衡之 nginx
  • 原文地址:https://www.cnblogs.com/xiong-/p/4109637.html
Copyright © 2011-2022 走看看