洛谷P1628合併序列 模板 Trie dfs

2022-05-22 18:45:08 字數 1137 閱讀 3396

很久之前寫的題了,當時不知道怎麼dfs所以卡了一段時間,^_^

題解:由於題目給了一大堆字串,所以首先考慮應該可以建樹,之後找到t所在的位置,對t所在的位置dfs就行了

**:

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 

11 #include 12 #include 13

#define ll long long

14#define fi first

15#define se second

16#define pb push_back

17#define me memset

18const

int n = 1e6 + 10;19

const

int mod = 1e9 + 7;20

using

namespace

std;

21 typedef pairpii;

22 typedef pairpll;

2324

int n,idx=0,x=0;25

int son[n][26

],cnt[n];

26char str[110],tmp[110

];27

char ans[110

];28

29void insert(char str)

36 cnt[p]++;37}

3839

void dfs(int u)

45for(int i=0;i<26;i++)54}

55}5657

intmain()

64 cin>>tmp;

65int p=0;66

for(int i=0;tmp[i];i++)

70dfs(p);

71return0;

72 }

洛谷 P1628 合併序列

題目傳送門 有n個單詞和字串t,按字典序輸出以字串t為字首的所有單詞。輸入檔案第一行包含乙個正整數n 接下來n行,每行乙個單詞,長度不超過100 最後一行包含字串t。資料規模 對於60 的資料,滿足1 n 1000 對於100 的資料,滿足1 n 100000且所有字元均為小寫字母 按字典序公升序輸...

洛谷 P1631 序列合併

題目描述 有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n 2個和,求這n 2個和中最小的n個。輸入輸出格式 輸入格式 第一行乙個正整數n 第二行n個整數ai,滿足ai ai 1且ai 10 9 第三行n個整數bi,滿足bi bi 1且bi 10 9.資料規模 對於50 的資料中,滿...

洛谷 P1631 序列合併

有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n 2個和,求這n 2個和中最小的n個。第一行乙個正整數n 第二行n個整數ai,滿足ai ai 1且ai 10 9 第三行n個整數bi,滿足bi bi 1且bi 10 9.輸出僅一行,包含n個整數,從小到大輸出這n個最小的和,相鄰數字之間...