杭電第八場

2021-10-09 05:46:25 字數 1888 閱讀 7716

畫圖可知,當c點在向量ab的右邊時,圖形為順時針,則向量ab與向量ac的叉乘的值應小於0。

#include

using

namespace std;

typedef

long

long ll;

struct pointpoint[10]

;int

main()

return0;

}

當每輸入一次範圍時,只需要達到輸入的範圍的最小值大於等於上一次輸入的最小值-k(即li - k),輸入的範圍的最大值小於等於上一次輸入的最大值+k(即ri + k)即可,若存在沒有達到此條件的範圍,則輸出「no」,反之輸出「yes」,可能的值可隨機輸出每個達標範圍的任意值(這裡為了簡化程式設計我們輸出的為最小值)

#include

using

namespace std;

const

int n =

1e5+10;

int l[n]

, r[n]

;int main (

)for

(int i = n; i >

1; i--

)bool flag =

true

;for

(int i =

1; i <= n; i++)if

(flag)

}else cout <<

"no\n";}

return0;

}

題意為,將字串s平均分割為k塊(其中strlen(s)% k == 0 && k > 1)是得k個子字串相互迴圈同構。假設s中某元素出現了x次,那麼關於迴圈同構,此字串最多被分為x個等長度相鄰字串,由此可知,字串滿足迴圈同構必須滿足s可被分段的段數為出現次數最少的元素的次數。我們可在此次數的條件下進行列舉其中n % 次數 其值為 0 才滿足條件,否則此列舉不滿足,應跳過。如果所有列舉都不滿足,則s字串不滿足題意,輸出「no」,若存在乙個滿足的列舉值,則輸出「yes」。

#include

using

namespace std;

typedef

long

long ll;

const

int mac =

5e6+10;

const

int mod =

7e6+61;

const

int base =29;

char s[mac]

;int nb[30]

;int vis[mac <<1]

;ll pw[mac]

;int cnt =0;

intcheck

(int n,

int len)

for(

int i =

1; i < n / len; i++

)return1;

}int main ()if

(mi ==1)

for(

int i =1;

1ll* i * i <= mi; i++

)int fac = mi / i;

if(fac == i)

continue;if

(fac ==1)

continue;if

(n % fac)

continue

; ok =

check

(n, n / fac);if

(ok)}if

(mk) cout <<

"yes\n"

;else cout <<

"no\n";}

return0;

}

杭電多校第八場

1003 題目鏈結 clockwise or counterclockwise 水題,經歷過牛客應該知道叉積可以判斷順逆時針。叉積參考 叉積 參考 include include include include include include include include include incl...

2019杭電多校第八場

感覺慢慢陷入了疲態 依舊是努力簽到的一天 1009 calabash and landlord 各種分類討論,交上去,wa,造資料,找到bug,改一改,交上去,wa,造資料,改一改,wa,改一改,wa 迴圈多次後ac,然後自己也不知道自己寫的是個啥了。後來聽群裡老哥們說只要離散化到5 5的格仔裡然後...

杭電多校2020第八場

isomorphic strings 題意 兩個字串s,t互為cyclical isomorphic,當且僅當s將前x個字元移到末尾後,s與t想等,例如s abcde,t deabc,那麼s和t互為cyclical isomorphic。給定乙個s串,長度為n,k為n的因子,現在將s分成k個等長的字...