hdu6197 array array array【英文题】
来源:互联网 发布:十天javascript韩顺平 编辑:程序博客网 时间:2024/05/21 15:45
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6197
题意:给你一个长度为n的数组,如果能从这个数组里删除k个元素,使得这个数组成为不严格的单调递增序列,或不严格单调递减序列,那么这个数组就是魔法数组,否则就不是
解析:其实看懂了题真的挺好做的,看不懂那就连样例都看不懂了,对于这题,对于递增的情况来说,求他的最长上升子序列的长度,判断他的长度+k是否大于等于n,如果小于n的话,就算拿走k个元素,还是不符合魔法数组,对于递减情况来说是一样的
#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+100;const int inf = 0x7fffffff;int dp[maxn];int a[maxn];int main(void){ int t; scanf("%d",&t); while(t--) { int n,k; scanf("%d %d",&n,&k); for(int i=0;i<n;i++) scanf("%d",&a[i]); fill(dp,dp+n,inf); for(int i=0;i<n;i++) *lower_bound(dp,dp+n,a[i]) = a[i]; int t1 = lower_bound(dp,dp+n,inf)-dp; fill(dp,dp+n,inf); for(int i=n-1;i>=0;i--) *lower_bound(dp,dp+n,a[i]) = a[i]; int t2 = lower_bound(dp,dp+n,inf)-dp; n -= k; if(t1>=n || t2>=n) puts("A is a magic array."); else puts("A is not a magic array."); } return 0;}
阅读全文
0 0
- hdu6197 array array array【英文题】
- Hdu6197 array array array
- HDU6197-array array array
- hdu6197 array array array LIS
- HDU6197 array array array 最长上升子序列(模板题)
- array
- Array#-
- Array#[]
- Array#<<
- Array
- array
- Array
- array
- Array
- array
- array
- array
- array()
- oracle表设置主键自增长
- React Native遇到问题
- 自媒体淘客选好爆文标题轻松月入过万
- itext7学习笔记——第4章实践&example
- HTTP和HTTPS详解
- hdu6197 array array array【英文题】
- 调查bug相关
- jsp显示本地图片
- T1
- 游戏中的设计模式五(策略模式)
- 多继承代码解析
- flask+ highcharts实现报表转换成趋势图(2)
- 通过dbcp连接池连接数据库的操作
- 缓存微信接口凭据access_token:初步认识ServletContext