JZOJ 4915 最長不下降子串行

2021-07-25 09:25:36 字數 632 閱讀 8894

150 ,明擺著就是讓你求迴圈節,

於是把迴圈節搞出來(不一定從第乙個位置開始),複製平方遍,再加上餘下的,搞一遍普通的lis即可,

複雜度:o(

3∗1502

log(

1502))

#include 

#include

#include

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define sqr(x) ((x)*(x))

using namespace std;

typedef long long ll;

const int n=260,inf=2147483640;

ll n,m,ans,n1,m1;

int a[n*n];

int bz[n];

int f[n*n

*2];

int main()

printf("%lld\n", ans);

return

0;}

最長不下降子串行

a1 t0 an a an 1 2 b an c d n 1 求該序列最長不下降子串行長度 n不是很大顯然可以暴力。n很大呢?那就不斷減迴圈節長度直至減到乙個閾值內,再暴力。正確性顯然,只要閾值不要設太小。include include include define fo i,a,b for i a...

最長不下降子串行

最長不下降子串行解法 第一種就是普通的dp方法 for int i 1 i n i dp 0 1 for int i 1 i n i ans max ans,dp i cout 主要記錄一下n logn的寫法 二分 主要思路 用乙個陣列 b 來記錄最長的子串行 一開始讓b 1 a 1 陣列a為輸入的...

最長不下降子串行

例子 openjudge 4977 怪盜基德的滑翔翼 描述怪盜基德是乙個充滿傳奇色彩的怪盜,專門以珠寶為目標的超級盜竊犯。而他最為突出的地方,就是他每次都能逃脫中村警部的重重圍堵,而這也很大程度上是多虧了他隨身攜帶的便於操作的滑翔翼。有一天,怪盜基德像往常一樣偷走了一顆珍貴的鑽石,不料卻被柯南小朋友...