zoukankan      html  css  js  c++  java
  • 牛客寒假算法基础集训营1 C. 小a与星际探索

    题目描述:

    链接:https://ac.nowcoder.com/acm/contest/317/C
    来源:牛客网

    思路:dp找到1——n星球的最大耐久度

    代码如下:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define ll long long
     4  
     5 int main()
     6 {
     7     int n,a[3005],dp[3005];
     8     while(cin >> n)
     9     {
    10         memset(dp,0,sizeof(dp));
    11         for(int i = 1;i <= n;i++)
    12         cin >> a[i];
    13         dp[1] = a[1];
    14         //从第二个星球开始遍历寻找最大耐久度
    15         for(int i = 2;i <= n;i++)
    16         {
    17             for(int j = 1;j < i;j++)//从j到i星球
    18             if(a[i] < a[j] && dp[j])//如果从j可以到i星球而且从1号星球可以到达j星球
    19             dp[i] = max(dp[i],dp[j] ^ a[i]);//更新i星球的最大耐久度
    20         }
    21         if(dp[n])
    22         cout << dp[n] << endl;
    23         else
    24         cout << -1 << endl;
    25     }
    26     return 0;
    27 }
  • 相关阅读:
    sql
    java常见异常
    call的用法及NodeList与Array的区别
    os模块
    random模块
    time模块
    序列化模块
    模块介绍
    内置函数
    匿名函数-lambda
  • 原文地址:https://www.cnblogs.com/lu1nacy/p/10349374.html
Copyright © 2011-2022 走看看