ybt高效高階2 4 1 字首統計

2021-10-17 04:16:16 字數 630 閱讀 4245

有一堆字串,然後每次有乙個詢問,問乙個有多少個字串是乙個給出的字串的字首。

這道題可以看出用 trie 樹(甚至有點模板),就建樹就普通的建。

至於詢問,其實我們可以按著長度推 trie 數的位置,每次長度都是乙個字首。然後答案加上就可以。

當然,我們在詢問的時候已經不用再重新建樹,遇到沒有這個分支的就可以直接結束了。

#include

#include

using

namespace std;

struct trie trie[

1000001];

int n, m, cn, now, kk, re;

char c[

1000001];

void

build()

now = trie[now]

.son[c[i]];

} trie[now]

.end++;}

intfind()

return re;

}int

main()

for(

int i =

1; i <= m; i++

)return0;

}

ybt高效高階1 5 1 走迷宮

在乙個 n n 的地圖中,一些地方可以走一些不可以走。問你從乙個地方走到另乙個地方的最小步數。就是直接 bfs 搞過去。跑圖,跑到要的點就輸出退出。include include using namespace std int n,a 1001 1001 sx,sy,tx,ty,ans,now,no...

ybt高效高階3 2 2 新的開始

有乙個圖,要你讓所有點所在的連通塊都至少有乙個標記點。兩個點相連有乙個規定的費用,把乙個點標記也有費用。要費用最小,輸出最小費用。這道題看到判斷連通,我們就想到並查集。然後最小,就想到最小生成樹。但是它不一定只選乙個點標記,而且如果標記了不止乙個點,整個圖就可以不是整個連通的。那怎麼辦呢?那我們想想...

ybt高效高階3 4 4 恆星的亮度

有一些恆星,每個恆星有亮度。給出一些恆星亮度的相對關係,詢問這些恆星亮度總和至少有多大。恆星最暗的亮度是 1 數值越大越亮。關係有兩個亮度相等,乙個比另乙個亮或暗,乙個不比另乙個亮或暗。首先,有乙個小坑,就是不大於其實是小於等於,不小於是大於等於,不要搞反了。那我們會想到如果 a 亮度小於 b 那 ...