2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L.The Heaviest Non-decreasing Subsequence Problem
2017-10-07 13:41
507 查看
题目链接:https://nanti.jisuanke.com/t/17319
题目大意:求构成的非递减序列的最大权值
解题思路:trick就是把价值为5的数分成5个价值为1的数,这并不会影响决策,对于负数,直接忽略,因为对结果不产生任何影响,所以直接用LIS
AC代码:
题目大意:求构成的非递减序列的最大权值
解题思路:trick就是把价值为5的数分成5个价值为1的数,这并不会影响决策,对于负数,直接忽略,因为对结果不产生任何影响,所以直接用LIS
AC代码:
#include<cstdio> using namespace std; const int MAXN = 2 * 1000000 + 5; int gt[MAXN], dp[MAXN]; int binarySearch(int l, int r, int val) { int mid; while (l <= r) { mid = (l + r) >> 1; if (dp[mid] <= val) l = mid + 1; else r = mid - 1; } return l; } int toLis(int n) { int tot = 0; dp[tot++] = gt[0]; for (int i = 1;i < n;i++) { if (gt[i] >= dp[tot - 1]) dp[tot++] = gt[i]; else { int pos = binarySearch(0, tot - 1, gt[i]); dp[pos] = gt[i]; } } return tot; } int main() { int pos = 0; for (int tmp;scanf("%d", &tmp) == 1;) { if (tmp >= 10000) for (int i = 1;i <= 5;i++) gt[pos++] = tmp - 10000; else if (tmp < 0) continue; else gt[pos++] = tmp; } printf("%d\n", toLis(pos)); return 0; }
相关文章推荐
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem
- The Heaviest Non-decreasing Subsequence Problem 最长非递减子序列 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem(最长不下降子序列变形)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem 最长不下降序列
- 计蒜客 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛-L. The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:L. The Heaviest Non-decreasing Subsequence Problem
- L. The Heaviest Non-decreasing Subsequence Problem -最长不降子序列变形nlogn-2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
- 2017 icpc 南宁赛区 L.The Heaviest Non-decreasing Subsequence Problem(LIS)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem(最长非减子序列+思路)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛The Heaviest Non-decreasing Subsequence Problem(线段树优化DP)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem (LIS)
- The Heaviest Non-decreasing Subsequence Problem ACM-ICPC南宁wa
- The Heaviest Non-decreasing Subsequence Problem(2017南宁网络赛)
- The Heaviest Non-decreasing Subsequence Problem 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 常见问题
- 2017ICPC南宁赛区网络赛 The Heaviest Non-decreasing Subsequence Problem (最长不下降子序列)