時間限制:1秒
空間限制:32768k
給出乙個正整數n,我們把1..n在k進製下的表示連起來記為s(n,k),例如s(16,16)=123456789abcdef10, s(5,2)=11011100101。現在對於給定的n和字串t,我們想知道是否存在乙個k(2 ≤ k ≤ 16),使得t是s(n,k)的子串。
輸入描述:
第一行乙個整數n(1 ≤ n ≤ 50,000)。
第二行乙個字串t(長度 ≤ 1,000,000)
輸出描述:
「yes」表示存在滿足條件的k,否則輸出」no」
輸入例子:
8 01112
輸出例子:
yes解法:直接暴力拆分然後做乙個kmp,但是要注意用下標為1的kmp在串是空串的時候要gg.所以選擇下標為0的kmp的寫法。
#include
using
namespace
std;
const
int maxn = 3000010;
char s1[maxn], s2[maxn];
string s;
int fail[maxn];
int n,len1,len2;
int kmp()
else
if(j==len2) return
1; }
return0;}
int main()
else j=fail[j];
}int ans = 0;
for(int jz = 2; jz<=16; jz++)
for(int j=cnt-1; j>=0; j--)
else}}
ans = max(ans, kmp());
if(ans > 0) break;
}if(ans > 0) puts("yes");
else
puts("no");
return
0;}
美團codeM預賽B 子串
子串時間限制 1秒 空間限制 32768k 給出乙個正整數n,我們把1.n在k進製下的表示連起來記為s n,k 例如s 16,16 123456789abcdef10,s 5,2 11011100101。現在對於給定的n和字串t,我們想知道是否存在乙個k 2 k 16 使得t是s n,k 的子串。輸...
美團codeM預賽A 倒水
倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。注意 一杯溫...
codeM 美團b輪 E 子串
時間限制 1秒 空間限制 32768k 給出乙個正整數n,我們把1.n在k進製下的表示連起來記為s n,k 例如s 16,16 123456789abcdef10,s 5,2 11011100101。現在對於給定的n和字串t,我們想知道是否存在乙個k 2 k 16 使得t是s n,k 的子串。輸入描...