博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #323 (Div. 1) B. Once Again... 暴力
阅读量:5318 次
发布时间:2019-06-14

本文共 1640 字,大约阅读时间需要 5 分钟。

B. Once Again...

Time Limit: 1 Sec  

Memory Limit: 256 MB

题目连接

http://codeforces.com/contest/582/problem/B

Description

You are given an array of positive integers
a1, a2, ..., an × T of length n × T. We know that for any i > n it is true that ai = ai - n. Find the length of the longest non-decreasing sequence of the given array.

Input

The first line contains two space-separated integers:
n, T (1 ≤ n ≤ 100, 1 ≤ T ≤ 107). The second line contains n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 300).

Output

Print a single number — the length of a sought sequence.

Sample Input

4 3 3 1 4 2

Sample Output

5

HINT

 

题意

给你一个n*t这么长的序列,然后求最长不递减序列

其中a[i+n]=a[i]

题解:

暴力,如果t<=300,我们就直接暴力求就好了

如果t>的话,我们就大胆猜测,中间肯定是连续选一个数

那么我们就预处理前面以a[i]开始的最长,和后面的以a[i]最长是啥就好了~

代码:

#include
#include
#include
#include
#include
#include
using namespace std;#define maxn 3225020int a[maxn];int dp1[maxn];int dp2[maxn];int dp3[maxn];int lis[maxn];int main(){ int n,t;scanf("%d%d",&n,&t); for(int i=1;i<=n;i++) scanf("%d",&a[i]); if(t<=300) { int ans = 0; for(int i=1;i<=n;i++) for(int j=1;j
=a[j]) lis[i]=max(lis[i],lis[j]+1); ans = max(lis[i],ans); } printf("%d\n",ans); return 0; } int k = 200; for(int i=1;i<=n;i++) dp2[a[i]]++; for(int i=1;i<=n;i++) for(int j=1;j<=k;j++) a[j*n+i] = a[i]; for(int i=1;i<=k*n;i++) { lis[i]=1; for(int j=1;j
=a[j]) lis[i]=max(lis[i],lis[j]+1); dp1[a[i]] = max(dp1[a[i]],lis[i]); } memset(lis,0,sizeof(lis)); reverse(a+1,a+1+k*n); for(int i=1;i<=k*n;i++) { lis[i]=1; for(int j=1;j

 

转载于:https://www.cnblogs.com/qscqesze/p/4854607.html

你可能感兴趣的文章
编写一个函数char_contains(char str[],char c), 如果字符串str中包含字符c则返回数值1,否则返回数值0...
查看>>
LinkBinTree
查看>>
js 事件委托 事件代理
查看>>
content_form.class.php文件不完整 解决方案
查看>>
第8次作业
查看>>
spring boot中ConditionalOnClass为什么没有classNotFound类加载异常
查看>>
H264--5--H264解码[8]
查看>>
imx6------watchdog导致不进系统
查看>>
Android Retrofit网络请求Service,@Path、@Query、@QueryMap、@Map...
查看>>
JavaScript+CSS实现经典的树形导航栏
查看>>
jquery原码记录1
查看>>
nginx实现缓存功能
查看>>
【转】JVM参数设置、分析
查看>>
微信公众平台——分享接口踩坑记
查看>>
Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
查看>>
g++ cout乱码
查看>>
加载中,呼叫中,三点动画
查看>>
使用 Python 识别并提取图像中的文字
查看>>
LUOGU 题解 P2045 【方格取数加强版】
查看>>
Lambda表达式
查看>>