一道題的不斷進取!!!

2022-05-10 04:10:05 字數 2200 閱讀 2693

樣例1:

31 3

2 21 2

樣例2:

53 5

2 51 5

1 54 5

樣例3:

2013 16

3 17

1 616 20

3 13

10 13

5 19

3 20

5 715 16

10 16

9 20

1 13

14 16

6 11

3 43 11

1 14

10 11

10 13

樣例1:

2樣例2:

3樣例3:

7

【資料規模】

對於20% 的資料, n<=20。

對於40% 的資料, n<=100。

對於60% 的資料, n<=2000。

對於80% 的資料, n<=80000。

對於100% 的資料, n<=300000。

為了強行增加難度,這道題似乎是卡常數的?

時間限制:1000ms

空間限制:256mbyte

比賽時自己打的n*n*logn

#include#define maxn 300300

using

namespace

std;

int n,l=1

,r,ans,ma,ce,le[maxn],re[maxn];

inline

int check(int

len)

tot =max(tot , k);

}

return

tot;

}main()

r =n;

while(l

printf("%d

",ans);

}

然後學姐教了我一種n*logn*logn的做法

#include#include

#include

#define maxn 300300

#define lb(x) x&-x

using

namespace

std;

intn,l,r,ma,k,f[maxn];

struct

sts[maxn];

bool

com(st a,st b)

void up(int

pos)

}int cha(int

pos)

return

ans;

}int pan(int

x)

return0;

}main()

sort(s+1,s+1+n,com);

l = 1

;

r =n;

while(l

printf("%d

",l - 1

);}

最後%%%kcz%%%教了我一種n*logn的做法

#include#include

#define maxn 300300

using

namespace

std;

intn,l,r,ma,k,f[maxn];

struct

sts[maxn];

int pan(int

x)

for(int i=1;i<=n;i++)

return0;

}main()

printf("%d

",l - 1

);}

最後時間一路飆公升

最後跑得比孔爺還快!!!

還是先%為敬!!!

%%%kczno1%%%

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...

一道演算法題

include using namespace std const int size 5 int max sub array const int a,int n,int m int max matrix const int a size int row,int col,int subsize int...