題意:中文
首先吐槽一下這道題的資料太水了,賽後看別人的**很多連樣例都過不了的竟然過了這道題。
思路:這道題可以看成是判斷密碼鎖和密碼是否存在最長公共子串行。
**:
#include#includeusing namespace std;
const int maxn=1e5+50;
char s[maxn];
bool vis[maxn][maxn];
int n,m,q,f[maxn][maxn];
int main()
} for(int i=0;in)
memset(f,0,sizeof(f));
f[0][0]=1;
for(int j=1;j<=n;j++)
for(int k=0;k<=len;k++)
if(f[n][len]) printf("yes\n");
else printf("no\n");
} }return 0;
}
總結:這道題做的時候第一時間竟然沒想到lcs。。。
以後碰到要求兩個字串有相同(不連續)部分的題目時要想到lca
Wannafly挑戰賽10 B小h和密碼
b小h和密碼 小h在擊敗怪獸後,被乙個密碼鎖擋住了去路 密碼鎖由n個轉盤組成,編號為1 n,每個轉盤有m個位置,每個位置上要麼有乙個小寫字母,要麼沒有任何字元。乙個密碼能被轉盤表示出,當且僅當指定每個轉盤上面的某乙個位置,然後將這些位置按照所屬的轉盤編號順次連線 空位置直接忽略 可以得到這個密碼 小...
EOJ2018 10 月賽 B 數學 思維題
傳送門 problem b 題意 找到最小的包含子串行a的序列s,並且序列s是 p 莫干山序列。題解 很容易想到 p max ai 1,並且a 1 對應著s 1 不然需要在a 1 前加其他數來使的a 1 某s i 肯定比不加的序列要長。遍歷a 陣列,分三種情況討論 a i a i 1 此種情況下,a...
SDU程式設計思維Week10 作業 A 簽到題
一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸入的唯一一行包括兩個整數n和m 1 n m 5 10 8 輸出將n轉換成m的操作次數,如果轉換不了輸出 1。input 1 12051840 output 1 7input 2 4242 ...