20201029模擬賽總結

2022-05-12 08:38:53 字數 1496 閱讀 3291

看到這題第一眼感覺這不是直接暴力就可以嗎……

儘管如此,我還是莫名其妙的寫了乙個 \(kmp\) 儘管什麼也沒有用到,然後它跑 \(re\) 了導致 \(60pts\) 溜了。

其實我們只需要迴圈比較,比較長度是較長字串的二倍即可啦!

這題的根號居然是實數意義下的,我以為是整數意義下直接懵逼爆零滾粗 qwq 。

我們化簡 \(\sqrt = k\sqrt b\) , 發現若要等式成立那麼 \(\sqrt x\) 必須是 \(\sqrt b\) 的倍數。

那麼也就是說我們要求出數列 \(a_1 , a_2 , a_3 , \dots , a_ , a_n\) 使得 \(\sum\limits_^n a_i = k\) 即可,數量可用插板法求解。

這道題一眼就發現不可做,然而我卻成功的在樣例特水無大樣例的情況下通過了這道題!!!

我們考慮 \(dp\) ,設狀態 \(dp[i][j][k]\) 為 前 \(i\) 個字母現在匹配到第 \(j\) 個句式的第 \(k\) 個單詞的方案數,然後在單詞結尾處轉移即可,可以使用 ac自動機 處理。

code:

#include #include #include #include #define ll long long

using namespace std;

int read()

while(ch >= '0' && ch <= '9')

return a*x;

}const int n=1007,p=1000000007;

int n,m;

char s[n];

int ch[n][27],vis[n],p[n],len[n],nxt[n],cnt;

bool ins[n][11];

void add(int num)

if(!vis[t]) vis[t] = num;

int tmp = read();

for(int i = 1;i <= tmp;i ++) }}

queueq;

void init()

} // getchar(); }}

int num[12],wo[12][12];

ll dp[n][12][12],f[n];

#define fa nxt

int find(int s,int i)

else (dp[i][j][k] += f[i-len[vis[s]]]) %= p;

} } }

return s;

}#undef fa

int main()

init();

for(int i = 1;i <= m;i ++)

scanf("%s",s+1);int l = strlen(s+1);

f[0] = 1;for(int i = 1,t = 1;i <= l;i ++)

printf("%lld",f[l]);

return 0;

}

20151006模擬賽總結

今天上午去一中,又考了個模擬賽。這次的題有點考思維。我感覺這個第一題難度稍微大了點。一般noip第一題要麼是簡單的模擬,要麼是裸的簡單演算法,這次的第一題要自己構造演算法,並且還是列舉和貪心套在一起。我開始想的是列舉 揹包,複雜度為n 3,但是資料範圍沒給出三次方的分。於是我就覺得不靠譜。然後發現列...

20151031模擬賽總結

今天去一中,考了個模擬賽,真是坑。本來在八中食堂愉快的享受我的早飯 週末早上的番茄雞蛋燙飯 韭菜肉餅簡直爽!然後geng4512就跑過來說要去一中考試,然後兩口喝完燙飯就和他一起狂跑過去了。這次第一題組合數取模,模的不是質數。想了好大半天,沒什麼想法,然後看了下後面的題,又回來做這道題,想起了階乘分...

20160521模擬賽總結

20160521模擬賽是程式設計實習課程安排的第一次模擬賽 比賽鏈結 備註 這個系列模擬賽屬於程式設計實習練習賽,題目有很大一部分事先練習過,做這些題目為了練習碼 熟練度,也為了進行模擬考試練習的機會,所以這個系列模擬賽我每一次都參加,作為練習 題目清單見下 已解決 01 浮點數求高精度冪 已解決 ...