D:array array array
来源:互联网 发布:cg软件下载 编辑:程序博客网 时间:2024/06/06 11:38
D:array array array
其实转换一下就变成了求最长不上升(下降)子序列
由于
每次查询小于等于
#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+10;int f[maxn], a[maxn], n, m;void init() {// memset(f, 0, sizeof(f)); scanf("%d %d", &n, &m); for (int i = 1; i <= n; i++) scanf("%d", &a[i]);}void insert(int x, int y) { while (x < maxn) { f[x] = max(f[x], y); x = x+(x & (-x)); }}int find(int x) { int t = 0; while (x > 0) { t = max(t, f[x]); x = x-(x & (-x)); } return t;}bool work() { memset(f, 0, sizeof(f)); int len = 0; for (int i = 1; i <= n; i++) { int t = find(a[i])+1; len = max(len, t); insert(a[i], t); } if (len >= n-m) return true; return false;}void turn() { for (int i = 1; i*2 <= n; i++) { swap(a[i], a[n-i+1]); }}int main() { freopen("input.txt","r",stdin); int T; scanf("%d", &T); while (T--) { init(); if (work()) { printf("A is a magic array.\n"); continue; } turn(); if (work()) { printf("A is a magic array.\n"); continue; } printf("A is not a magic array.\n"); }}
阅读全文
0 0
- D:array array array
- array
- Array#-
- Array#[]
- Array#<<
- Array
- array
- Array
- array
- Array
- array
- array
- array
- array()
- Array
- Array
- Array
- Array
- iOS block之三种block
- 文本处理三剑客之awk
- nginx-设置网络连接的序列化
- 定时器开始结束
- R语言入门练习(1)
- D:array array array
- jQuery前端框架介绍与实例
- js实现表格的增删改查
- 利用Python对文件批量命名
- Linux下性能检测工具:gprof
- List泛型集合之基本使用
- HTML基础学习九之HTML 4.01快速参考文章
- 关于计划
- 迷茫的生活,可能只有IT可以帮助到你。。。