COGS902 樂曲主題

2021-06-29 10:32:38 字數 2085 閱讀 1626

這個題一開始想的是hash+列舉長度+sort尋重o(

n2lo

g2n)

≈50002∗

12≈3∗

108,但是模乙個數就wa了,模兩個數就t了;卡得不行不行的。

問題在於,實際上長度顯然是單調合法的(如果len行,則小於len一定行),所以我們可以變列舉為二分。(巨集哥orz)

!!這也正是我沒有想到的了,最近總是想著要尋找列舉順序,改變列舉順序;但是卻忽略了尋找單調性。

#include

#include

#include

#include

using

namespace

std;

#include

#define p 1000000009

struct s;

for(i=0;i0].key=(hash[0].key*89+a[i])%p;

for(;i1].key-a[i-len]*ni[len-1]%p)*89+a[i])%p,hash[k].r=i;

for(i=0;i1])%p+p)%p;

sort(hash,hash+k),hash[k].key=-1;

for(i=0;i1;

while(hash[j].key==hash[j-1].key)++j;

if(hash[j-1].r-hash[i].r>=len)return

1; }

return0;}

int main()

long

long tmp;

int l=5,r=(n>>1)+1;

if(!check(5))

while(r-l>1)

printf("%d\n",l);

}

但是,其實模乙個數是很容易被坑的,還是模兩個數比較靠譜!

#include

#include

#include

#include

using namespace std;

int mod[2]=;

typedef long long ll;

struct hs

inline bool check(int len);

for(i=0;ifor(d=0;d<2;++d)

hash[0].data[d]=(hash[0].data[d]*base%mod[d]+delta[i])%mod[d];

for(d=0;d<2;++d)hash[0].data[d]=(hash[0].data[d]+mod[d])%mod[d];

/*printf("0:");

for(d=0;d<2;++d)printf("%d ",hash[0].data[d]);

printf("---");

for(d=0;d<2;++d)printf("%d ",cal(0,len,d));

puts("");*/

for(i=1;i+lenfor(d=0;d<2;++d)hash[i].data[d]=(((hash[i-1].data[d]-delta[i-1]*jc[len-1][d]%mod[d])%mod[d]*base%mod[d]+delta[i+len-1])%mod[d]+mod[d])%mod[d];

hash[i].i=i;

/*printf("%d:",i);

for(d=0;d<2;++d)printf("%d ",hash[i].data[d]);

printf("---");

for(d=0;d<2;++d)printf("%d ",cal(i,i+len,d));

puts("");*/

}tot=i;

sort(hash,hash+tot);

int j;

for(i=0;i1)

return0;}

int main

()*/

if(!check(4))

int l=4,r=(n>>1)+1,mid;

while(r-l>1)

printf("%d\n",l+1);

}

COGS血帆海盜

對於已經增廣後的圖,會出現一些反向邊,首先跑一邊最大流,只有對於被增廣的路才有可能成為答案,考慮每一條被曾廣的路,如果他在殘留網路中兩個端點在同乙個強連通分量裡,必然有其他的路徑可以代替這條邊,比如圖中1 2 3 4 構成乙個環3 2 1 4 3,3 2可以替代原來的1 2,所以只有那些被增廣後,起...

90 s games(90年代遊戲)

外掛程式介紹 最經典的坦克遊戲 坦克大戰 最熱血的遊戲 魂斗羅 簡單又好玩的闖關遊戲 超級瑪麗等等,這些小遊戲想必各位小夥伴們曾經都玩過,今天就讓大家一起來回味回味經典。90 s games 90年代遊戲 重拾90年代的遊戲的最佳集合。使用說明 將90 s games 90年代遊戲 新增至chrom...

COGS 2259 異化多肽

qaq 很明顯我們是可以搞一下指數生成函式的 然而複雜度是o m n2 o m n2 無法優化 換個方式做生成函式 a x 表示 質量為 x 的 氨基酸有幾類 b x i 0 a x i b x i 0 a x i 顯然答案是b x 中的n次項係數 上面的式子即為乙個無限等比數列求和 度度的公式s ...