- 博客(5)
- 收藏
- 关注
原创 树的重心(笔记)
原题 刚看了一点图论…做一个笔记吧; 这个题思路很简单,主要是树的dfs的一个应用。 题目要求求树的重心,然后删去接着求剩下连通块中的最大值。 (重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。) 1.每一个连通块的节点数目应该等于它的 子树的节点数目之和+1子树的节点数目之和 + 1子树的节点数目之和+1. 2.如果节点x是重...
2020-01-31 22:52:20 183
原创 最短编辑距离(笔记)
原题:这里!!! 思路: 线性dp的经典问题,首先是 状态表示: 应该用一个二维数组表示即dp[i][j],表示A的前i个编辑到B的前j个需要花费的最小编辑,这种表示方法需要多加积累才能有所感觉。 接下来是 转移方程的推导: 推导的思路就是看dp[i][j]能由哪些状态转移过来(这不是废话么 ),由于每次可以进行三种操作,所以我们可以从操作上进行考虑 1.删除操作 想一下dp[i][j]要进行删除...
2020-01-27 22:41:28 115
原创 D. RGB Substring
题目链接:Easy, Hard 题意: 给定字符串仅由‘R’,‘G’,‘B’三种字符组成的字符串s,给定一个整数k,现有一个 无限长的循环字符串(姑且叫它w吧2333)w: “RGBRGBRGBRGB…”, 你可以把s中的某个字符进行替换(可以多次进行该操作),问:需要进行最少多少次这种操作才能使s和w中出现一个长度k的公共子串。 Example input 3 5 2 BGGGG 5 3 RBR...
2020-01-27 15:02:38 196
原创 小 C 的 01 序列
题目: 小 C 的 01 序列 思路: 很明显这是一道dp,经过观察发现SnS_nSn的前一半是由Sn−1S_{n-1}Sn−1构成的,后一半则是Sn−1S_{n-1}Sn−1的反转,而且这两半的合并会在中间产生一个新的序列并且会出现周期循环,接下来看代码。 #include<bits/stdc++.h> #define ll long long #define INF 0x3f...
2020-01-24 20:04:59 287
原创 D2. Remove the Substring
D2. Remove the Substring (hard version) The only difference between easy and hard versions is the length of the string. You are given a string s and a string t, both consisting only of lowercase Latin...
2020-01-24 12:29:20 243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人