
hdu
_Jyq
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 6774
link 丨T丨<=20, 丨S丨<=1e5 最长公共子序列加速。O(m^2) dp[i][j]为T串前i个当前最长公共子序列为j时,在S串中最短的位置 #include<bits/stdc++.h> #define pb push_back #define SZ(x) ((int)(x).size()) #define all(x) (x).begin(),(x).end() using namespace std; typedef long long ll; typedef ve原创 2020-07-24 11:46:29 · 240 阅读 · 0 评论 -
Acesrc and Travel 换根
link 换根DP,建议用以下写法,通过存储前缀极值,从而不需要复杂的分类讨论 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define SZ(x) ((int)(x).size()) #define all(x) (x).begin(),(x).end() #define rep(i,a,b) for(ll i=(a);i<=(b);i++) #define per(i原创 2020-06-30 15:22:13 · 188 阅读 · 0 评论 -
Victor and String 回文树拓展
link 前后端同时插入,增加前缀fail指针,发现对于每个节点,前缀fail和后缀fail相同。那么分情况直接更新就好了。并且在前面插入字符时不会影响原树的fail。因为每个节点的fail长度比他本身小。 并且要注意,当插入一个节点时,如果它新生产的回文串的长度等于此时总串的长度,要同时更新L_last,R_last #include<bits/stdc++.h> using namespace std; typedef long long ll; ///len表示当前节点对应回文子串长度原创 2020-06-25 12:02:33 · 212 阅读 · 0 评论 -
HDU 4912 贪心
HDU4912 任选一点为根后,贪心优先填所有点对中LCA大的点。那么以LCA为根的子树的所有点都为不能再选的点 #pragma GCC optimize(2) #include<bits/stdc++.h> #define ls rt<<1 #define rs rt<<1|1 #define fi first #define se second #defi...原创 2020-05-05 12:05:43 · 187 阅读 · 0 评论