2020牛客寒假演算法基礎集訓營5 H Hash

2021-10-02 19:47:58 字數 1614 閱讀 9605

題目傳送門

這裡有乙個hash函式

const int len = 6;

int mod;

int hash(char str)

return res;

}

現給定乙個長度為66的僅由小寫字母構成的字串ss和模數modmod,請找到字典序最小且大於ss的乙個長度為66的僅由小寫字母構成的字串s』s ,使得其hash值和ss的hash相等。

多組用例,請處理到檔案結束。(用例組數大約為1000組左右)

對於每組用例,輸入一行,包含乙個長度為66的僅由小寫字母構成的字串ss和模數mod(2 \leq mod \leq 10^7)mod(2≤mod≤10

7),用空格隔開。

對於每組用例,如果存在如題目所述的s』s ,請輸出s』s ,否則輸出-1。

abcdef 11

abcdeq

把這串字元變成26進製的數,在加上mod,沒啥說的,我這題竟沒做對,真是豬腦子。

ac**

#include

#define get_pos(c,x) (lower_bound(c.begin(),c.end(),x)-c.begin())

#define caset int ___t; scanf("%d", &___t); for(int cs=1;cs<=___t;cs++)

#define mp make_pair

#define pb push_back

#define ms0(x) memset((x), 0, sizeof((x)))

#define ms1(x) memset((x), -1, sizeof((x)))

#define len(x) strlen(x)

#define f first

#define dou double

#define s second

using

namespace std;

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef

long

double ld;

const

int maxn =

1e6+10;

const

int inf =

0x3f3f3f3f

;const

int len =6;

int mod,x;

ll ma=25*

25*25*

25*25*

25,res;

char a[6]

;int

main()

if(!jw)

printf

("%s\n"

,a);

else

printf

("-1\n");

}}

2020牛客寒假演算法基礎集訓營

長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...

2020牛客寒假演算法基礎集訓營1

找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...

2020牛客寒假演算法基礎集訓營1

h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...