diff --git a/readme/301-600.md b/readme/301-600.md
index dae4e559c..9420df3fb 100644
--- a/readme/301-600.md
+++ b/readme/301-600.md
@@ -132,7 +132,7 @@ LeetCode Problems' Solutions
| 376 | [Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence "摆动序列") | [Go](https://github.com/openset/leetcode/tree/master/problems/wiggle-subsequence) | Medium |
| 377 | [Combination Sum IV](https://leetcode.com/problems/combination-sum-iv "组合总和 Ⅳ") | [Go](https://github.com/openset/leetcode/tree/master/problems/combination-sum-iv) | Medium |
| 378 | [Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix "有序矩阵中第K小的元素") | [Go](https://github.com/openset/leetcode/tree/master/problems/kth-smallest-element-in-a-sorted-matrix) | Medium |
-| 379 | [Design Phone Directory](https://leetcode.com/problems/design-phone-directory "电话目录") 🔒 | [Go](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) | Medium |
+| 379 | [Design Phone Directory](https://leetcode.com/problems/design-phone-directory "电话目录管理系统") 🔒 | [Go](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) | Medium |
| 380 | [Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1 "常数时间插入、删除和获取随机元素") | [Go](https://github.com/openset/leetcode/tree/master/problems/insert-delete-getrandom-o1) | Medium |
| 381 | [Insert Delete GetRandom O(1) - Duplicates allowed](https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed "O(1) 时间插入、删除和获取随机元素 - 允许重复") | [Go](https://github.com/openset/leetcode/tree/master/problems/insert-delete-getrandom-o1-duplicates-allowed) | Hard |
| 382 | [Linked List Random Node](https://leetcode.com/problems/linked-list-random-node "链表随机节点") | [Go](https://github.com/openset/leetcode/tree/master/problems/linked-list-random-node) | Medium |
@@ -171,7 +171,7 @@ LeetCode Problems' Solutions
| 415 | [Add Strings](https://leetcode.com/problems/add-strings "字符串相加") | [Go](https://github.com/openset/leetcode/tree/master/problems/add-strings) | Easy |
| 416 | [Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum "分割等和子集") | [Go](https://github.com/openset/leetcode/tree/master/problems/partition-equal-subset-sum) | Medium |
| 417 | [Pacific Atlantic Water Flow](https://leetcode.com/problems/pacific-atlantic-water-flow "太平洋大西洋水流问题") | [Go](https://github.com/openset/leetcode/tree/master/problems/pacific-atlantic-water-flow) | Medium |
-| 418 | [Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting "句子屏幕显示") 🔒 | [Go](https://github.com/openset/leetcode/tree/master/problems/sentence-screen-fitting) | Medium |
+| 418 | [Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting "屏幕可显示句子的数量") 🔒 | [Go](https://github.com/openset/leetcode/tree/master/problems/sentence-screen-fitting) | Medium |
| 419 | [Battleships in a Board](https://leetcode.com/problems/battleships-in-a-board "甲板上的战舰") | [Go](https://github.com/openset/leetcode/tree/master/problems/battleships-in-a-board) | Medium |
| 420 | [Strong Password Checker](https://leetcode.com/problems/strong-password-checker "强密码检验器") | [Go](https://github.com/openset/leetcode/tree/master/problems/strong-password-checker) | Hard |
| 421 | [Maximum XOR of Two Numbers in an Array](https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array "数组中两个数的最大异或值") | [Go](https://github.com/openset/leetcode/tree/master/problems/maximum-xor-of-two-numbers-in-an-array) | Medium |
diff --git a/tag/design/README.md b/tag/design/README.md
index 42a4ae33a..6427ce62f 100644
--- a/tag/design/README.md
+++ b/tag/design/README.md
@@ -24,7 +24,7 @@
| 432 | [全 O(1) 的数据结构](https://github.com/openset/leetcode/tree/master/problems/all-oone-data-structure) | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] | Hard |
| 381 | [O(1) 时间插入、删除和获取随机元素 - 允许重复](https://github.com/openset/leetcode/tree/master/problems/insert-delete-getrandom-o1-duplicates-allowed) | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[数组](https://github.com/openset/leetcode/tree/master/tag/array/README.md)] [[哈希表](https://github.com/openset/leetcode/tree/master/tag/hash-table/README.md)] | Hard |
| 380 | [常数时间插入、删除和获取随机元素](https://github.com/openset/leetcode/tree/master/problems/insert-delete-getrandom-o1) | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[数组](https://github.com/openset/leetcode/tree/master/tag/array/README.md)] [[哈希表](https://github.com/openset/leetcode/tree/master/tag/hash-table/README.md)] | Medium |
-| 379 | [电话目录](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
+| 379 | [电话目录管理系统](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 362 | [敲击计数器](https://github.com/openset/leetcode/tree/master/problems/design-hit-counter) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] | Medium |
| 359 | [日志速率限制器](https://github.com/openset/leetcode/tree/master/problems/logger-rate-limiter) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[哈希表](https://github.com/openset/leetcode/tree/master/tag/hash-table/README.md)] | Easy |
| 355 | [设计推特](https://github.com/openset/leetcode/tree/master/problems/design-twitter) | [[堆](https://github.com/openset/leetcode/tree/master/tag/heap/README.md)] [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[哈希表](https://github.com/openset/leetcode/tree/master/tag/hash-table/README.md)] | Medium |
diff --git a/tag/dynamic-programming/README.md b/tag/dynamic-programming/README.md
index ed55d313e..c2006922e 100644
--- a/tag/dynamic-programming/README.md
+++ b/tag/dynamic-programming/README.md
@@ -10,6 +10,7 @@
| # | 题名 | 标签 | 难度 |
| :-: | - | - | :-: |
| 1049 | [最后一块石头的重量 II](https://github.com/openset/leetcode/tree/master/problems/last-stone-weight-ii) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
+| 1048 | [最长字符串链](https://github.com/openset/leetcode/tree/master/problems/longest-string-chain) | [[哈希表](https://github.com/openset/leetcode/tree/master/tag/hash-table/README.md)] [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 1039 | [多边形三角剖分的最低得分](https://github.com/openset/leetcode/tree/master/problems/minimum-score-triangulation-of-polygon) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 1027 | [最长等差数列](https://github.com/openset/leetcode/tree/master/problems/longest-arithmetic-sequence) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 1025 | [除数博弈](https://github.com/openset/leetcode/tree/master/problems/divisor-game) | [[数学](https://github.com/openset/leetcode/tree/master/tag/math/README.md)] [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Easy |
@@ -89,7 +90,7 @@
| 466 | [统计重复个数](https://github.com/openset/leetcode/tree/master/problems/count-the-repetitions) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Hard |
| 464 | [我能赢吗](https://github.com/openset/leetcode/tree/master/problems/can-i-win) | [[极小化极大](https://github.com/openset/leetcode/tree/master/tag/minimax/README.md)] [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 446 | [等差数列划分 II - 子序列](https://github.com/openset/leetcode/tree/master/problems/arithmetic-slices-ii-subsequence) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Hard |
-| 418 | [句子屏幕显示](https://github.com/openset/leetcode/tree/master/problems/sentence-screen-fitting) 🔒 | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
+| 418 | [屏幕可显示句子的数量](https://github.com/openset/leetcode/tree/master/problems/sentence-screen-fitting) 🔒 | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 416 | [分割等和子集](https://github.com/openset/leetcode/tree/master/problems/partition-equal-subset-sum) | [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 413 | [等差数列划分](https://github.com/openset/leetcode/tree/master/problems/arithmetic-slices) | [[数学](https://github.com/openset/leetcode/tree/master/tag/math/README.md)] [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Medium |
| 410 | [分割数组的最大值](https://github.com/openset/leetcode/tree/master/problems/split-array-largest-sum) | [[二分查找](https://github.com/openset/leetcode/tree/master/tag/binary-search/README.md)] [[动态规划](https://github.com/openset/leetcode/tree/master/tag/dynamic-programming/README.md)] | Hard |
diff --git a/tag/linked-list/README.md b/tag/linked-list/README.md
index 069286017..15f5d916f 100644
--- a/tag/linked-list/README.md
+++ b/tag/linked-list/README.md
@@ -18,7 +18,7 @@
| 445 | [两数相加 II](https://github.com/openset/leetcode/tree/master/problems/add-two-numbers-ii) | [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 430 | [扁平化多级双向链表](https://github.com/openset/leetcode/tree/master/problems/flatten-a-multilevel-doubly-linked-list) | [[深度优先搜索](https://github.com/openset/leetcode/tree/master/tag/depth-first-search/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 426 | [将二叉搜索树转化为排序的双向链表](https://github.com/openset/leetcode/tree/master/problems/convert-binary-search-tree-to-sorted-doubly-linked-list) 🔒 | [[树](https://github.com/openset/leetcode/tree/master/tag/tree/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] [[分治算法](https://github.com/openset/leetcode/tree/master/tag/divide-and-conquer/README.md)] | Medium |
-| 379 | [电话目录](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
+| 379 | [电话目录管理系统](https://github.com/openset/leetcode/tree/master/problems/design-phone-directory) 🔒 | [[设计](https://github.com/openset/leetcode/tree/master/tag/design/README.md)] [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 369 | [给单链表加一](https://github.com/openset/leetcode/tree/master/problems/plus-one-linked-list) 🔒 | [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 328 | [奇偶链表](https://github.com/openset/leetcode/tree/master/problems/odd-even-linked-list) | [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Medium |
| 237 | [删除链表中的节点](https://github.com/openset/leetcode/tree/master/problems/delete-node-in-a-linked-list) | [[链表](https://github.com/openset/leetcode/tree/master/tag/linked-list/README.md)] | Easy |