The Heaviest Non-decreasing Subsequence Problem LIS 思维题
来源:互联网 发布:协方差矩阵的特征值 编辑:程序博客网 时间:2024/06/05 03:56
又是一场思路僵化带来的GG
给出一个宽度的定义, 小于0的数宽度为0,大于10000的数宽度为5,否则宽度为1;
给定一个序列, 大于10000的数在减去10000之后再在序列中比较, 找出宽度之和最大的非递减子序列。
开始很懵,由于数据范围是200000,就想跑个nlogn的LIS。 但是又需要比较出往这个子序列中添加的数要满足宽度之和最大的大条件。
所以还是写了个n方的。但是莫名其妙的各种错误。。。。
结束后听他们说,把宽度为5的,变成5个重复的数放进去就好。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <map>#include <vector>using namespace std;const int N = 400000;int b[N];int a[N];int bsea(int num, int low, int high){ while(low<=high) { int mid = (low + high)/2; if(num>=b[mid]) low = mid+1; else high= mid-1; } return low;}int DP(int n){ int len = 1; b[1] = a[1]; for(int i=2;i<=n;i++) { if(a[i]>=b[len]) { b[++len] = a[i]; } else { int pos = bsea(a[i],1,len); b[pos] = a[i]; } } return len;}int main(){ int o = 0; int t; while(scanf("%d",&t)!=EOF) { if(t<0) continue; if(t>10000) { t -= 10000; for(int i=1; i<=5; i++) { a[++o] = t; } } else { a[++o] = t; } } int l = DP(o); cout<<l<<endl; return 0;}
阅读全文
0 0
- The Heaviest Non-decreasing Subsequence Problem LIS 思维题
- The Heaviest Non-decreasing Subsequence Problem
- The Heaviest Non-decreasing Subsequence Problem
- ???The Heaviest Non-decreasing Subsequence Problem
- The Heaviest Non-decreasing Subsequence Problem
- 计蒜客 The Heaviest Non-decreasing Subsequence Problem dp LIS变形 || 线段树+dp
- 计蒜客 The Heaviest Non-decreasing Subsequence Problem dp LIS变形 || 线段树+dp
- 2017 icpc 南宁赛区 L.The Heaviest Non-decreasing Subsequence Problem(LIS)
- 计蒜客 17319 The Heaviest Non-decreasing Subsequence Problem
- The Heaviest Non-decreasing Subsequence Problem ACM-ICPC南宁wa
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L. The Heaviest Non-decreasing Subsequence Problem (LIS)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 计蒜客 The Heaviest Non-decreasing Subsequence Problem(最大权值和非递减子序列)
- The Heaviest Non-decreasing Subsequence Problem(2017南宁网络赛)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 The Heaviest Non-decreasing Subsequence Problem
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:The Heaviest Non-decreasing Subsequence Problem
- 计蒜客 2017icpc南宁赛区 The Heaviest Non-decreasing Subsequence Problem 最长不递减子序列
- Windows 同时安装了JDK1.7和1.8,如果将java -version修改成1.7
- ++运算符
- centos 7安装docker
- Javascript页面跳转间的常用方法
- npm更新版本
- The Heaviest Non-decreasing Subsequence Problem LIS 思维题
- 软件测试[(美)Ron Patton]第5章
- Spring事务传播行为
- 股票学习笔记
- 6.多线程
- vue.js HOOK函数
- Python编程——与Office交互
- VC++编译器中用_int64代替long long
- 十道海量数据处理面试题与十个方法大总结