很容易想到用DP或记忆化搜索解决。 状态转移方程: dp[i][j] = MAX(dp[i][j] , 1 + dp(neighbor) ) 注意dp[i][j] 先要全部置1 由于记忆化搜索的做法没什么特别的,就是一个dfs+标记数组,就不多写了。 如何DP?这道题显然不能常规的线性DP,因为子问 ...
分类:
其他好文 时间:
2020-03-14 11:19:09
阅读次数:
46
http://www.codevs.cn/problem/3223/ L,R的范围太大了, 不可能直接筛素数 但考虑到R L的范围在能承受的范围内, 这时候就要用到 区间筛: 主体思想与其他筛法一致, 但一般题目中数据范围比较大(L include using namespace std; long ...
分类:
其他好文 时间:
2019-10-05 18:30:03
阅读次数:
72
这道题可以用ST表过: "题目链接" 记录4个数组:maxval[][], minval[][], ans[][], rans[][] maxval[i][j]表示从i号元素开始,长度为(1 include include using std::cin; using std::cout; using ...
分类:
其他好文 时间:
2019-10-03 13:00:19
阅读次数:
72
原题传送门 思路 这道题在CODEVS上标签是动态规划,然而本蒟蒻想了半天也没想出来(可能是我还是太弱了......),于是打算写个大爆搜看看能混几分,于是,20分钟的时间码完DFS,交上去,AC??!话说这道题数据这么不给力的吗???数据这么小那还用个什么DP啊???~~浪费发际线~~,然而,动态 ...
分类:
其他好文 时间:
2019-08-23 20:47:33
阅读次数:
83
题目链接:http://codevs.cn/problem/4189/ ...
分类:
其他好文 时间:
2019-08-10 09:24:15
阅读次数:
86
题目链接:http://codevs.cn/problem/3981/ 参考:https://blog.csdn.net/jokingcoder/article/details/81477253 一个区间的最大子段和有三种情况: 1.等于这个区间左儿子的最大子段和 2.等于这个区间右儿子的最大子段和 ...
分类:
其他好文 时间:
2019-08-09 15:29:22
阅读次数:
96
题目链接:http://codevs.cn/problem/1082/ 注意更新区间求和时,应该加上的是这一段区间包含的元素的个数乘以更新的值 ...
分类:
其他好文 时间:
2019-08-08 23:38:08
阅读次数:
120
题目描述 Description 某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度唯一由集团内的犯罪团伙数量确定,而与单个 ...
分类:
其他好文 时间:
2019-06-19 16:25:21
阅读次数:
95
过了这么长的时间终于开始看LCA了... 有一次训练题卡在LCA当时不会...拖了好久好久...其实现在还是不会... 只会tarjan... 传送门 板子题咯 tarjan的算法就是基于先序遍历的顺序的 #include <bits/stdc++.h> using namespace std; i ...
分类:
其他好文 时间:
2019-04-27 00:32:04
阅读次数:
171
传送门 继续水板子题... #include <bits/stdc++.h> using namespace std; inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { ...
分类:
其他好文 时间:
2019-04-27 00:29:28
阅读次数:
151