從給定的12個字中找出一句詩詞,如何程式設計實現?

時間 2021-05-30 19:56:19

1樓:逗泥丸的平方

其實這個演算法有點像是暴力破解密碼的感覺,字典不能解決的時候就放棄~就算階乘級的演算法,12!也只有不到5億(當然事實上肯定不會這麼蠢.)畢竟詩句還是有規律的,也沒多少~看看MD5的彩虹表有多大,哈哈哈不過你提的是做題的角度,出題的角度就會簡單好多~ 當然想增加迷惑性也的確沒那麼容易.

2樓:果凍蝦仁

很典型的倒排索引的應用。並且都不用分詞什麼的,按單字的匹配來看,直接退化成了英文單詞的水平。也不用算相似度什麼的。

預處理古詩詞庫,將所有資料建立乙個倒排表。key為單字,value是乙個出現過這個單子的詩句編號的list(古詩句庫對詩句應該有編號,也可以自己編)。優化一點的話,倒排表的value可以用bitmap儲存詩句編號的list,最終可以表示成乙個個固定大小long陣列。

當然詞典壓縮有很多複雜演算法。但是以古詩句的數量來看,並不太需要。

給定12個字的時候。很快從預處理的倒排表中取出12個list。求出交集即可。可以分治的方式。並行兩兩求交集。

即使記憶體存不下倒排表,預處理結果存磁碟檔案。查詢的時候讀取塞到記憶體,兩兩求交集也沒啥問題。

3樓:

用雜湊就可以搞定,漢字幾萬個,詩句一百多萬句吧,12個漢字,每個漢字屬於(N1、N2。。。N12)個句子,求這些N的交集就可以知道屬於哪個詩句。

如果用C++,雜湊就是std::unordered_map,求交集直接用std::set_intersection。

你這個是詩詞大會中的一種題型。我一直想做的是用程式生成這種:

說一句,最能表達愛意的話(不超過十個字)。?

你說,有你真好,我說,有你才好。你說,不想太孩子氣,我說,傻瓜,真像個孩子。你說,怕痛,我說,就蹭蹭不進去。你說,不喜歡我了,我說,愛就大聲說出來。你說,怕黑,我說,開門。你說,這蛋糕真好吃,我說,這蛋糕真好吃。你說,這道題真難,我心裡說,這道題真棒。你說,想有個家,我說,鑰匙給你。你說,寂寞,我說...

詩的押韻為什麼押最後乙個字?

Hexokinase 稼軒水龍吟詞 聽兮清佩瓊瑤些,明兮鏡秋毫些。君無去此,流昏漲膩,生蓬蒿些。虎豹甘人,渴而飲汝,寧猿猱些。大而流江海,覆舟如芥,君無助 狂濤些。路險兮山高些。愧餘獨處無聊些。冬槽春盎,歸來為我,制松醪些。其外芬芳,團龍片鳳,煮雲膏些。古人兮既往,嗟余之樂,樂簞瓢些。 shakai...

如何用一句詩或者一句話含蓄的表達思念乙個人?

請問 1 世界那麼大,優秀的人那麼多,但真正愛你 包容你的就只有我乙個,我願意把我的一生都奉獻給你。2 求婚戒指只為你量身定做,最幸福的事,莫過於把戒指親手戴在你手上,親口說出我愛你三個字。3 不管我有多麼的堅強,在你面前就會卑微到骨子裡,愛你到骨子裡。4 我不相信星座,不相信緣分,不相信月老牽紅線...