动态规划思想 注意:子串和子序列的区别 子串一定时连续的,子序列不一定是连续的 首先清楚dp数组的含义 定义:dp[i]表示以nums[i]这个数结尾的最长递增子序列的长度 因为nums[3]=4,最长递增子序列为1,3,4,所以长度为3即dp[3]=3 既然是递增子序列,只要找到前面那些结尾比4小 ...
分类:
其他好文 时间:
2020-06-17 23:36:35
阅读次数:
57
「解题报告」[luoguP6592]幼儿园 (DP) 传送门 题面 题意 给定一个 \(n\) 个点, \(m\) 条边的带权有向图. 每条边的边权是唯一的, 且第 \(i\) 条边的边权为 \(i\). \(k\) 个形如 \((x,l,r)\) 的询问, 回答是否存在一条从 \(x\) 到 $1 ...
分类:
其他好文 时间:
2020-06-16 23:21:02
阅读次数:
77
又一个安详的午后,阳光透过窗户照在办公室的椅子上,我像往常一样刚撸完一段代码,此刻正伸了一个懒腰,不经意的将目光转向了窗外,忍不住感慨“初夏的天气真好,如果能漫步在田间的小道上,该是一种多好的享受啊”。 然而此时,手机突然响了,原来是有人加了我的微信,于是随手点了一下同意,对方发了一句“你好”,我也 ...
分类:
其他好文 时间:
2020-06-16 14:57:59
阅读次数:
55
\(Link\) \(\text{Solution:}\) 把奶牛的忍耐度转化为线段,则题目转化为选择一些点使得覆盖的线段尽可能多。一个点只能覆盖一条线段。 考虑将点按照位置排序,线段按照右端点排序。排序后显然线段的最低耐受程度是递增的,那么我们显然用位置最靠左的点最优,因为以后它一定覆盖不了其它的 ...
分类:
其他好文 时间:
2020-06-16 12:56:22
阅读次数:
52
题目 点这里看题目。 分析 首先不难想到可以枚举递增的序列,最后在答案里面乘上$n!$,于是有$O(nk)$的暴力 DP 一枚: $f(i,j)$表示长度为$i$、最大值$\le j$的序列的贡献和。 转移显然: \(f(i,j)=j\times f(i-1,j-1)+f(i,j-1)\) 那么可以 ...
分类:
其他好文 时间:
2020-06-14 23:25:01
阅读次数:
63
进制转换算法 二、八、十六进制 → 十进制 二进制 → 十进制 方法:二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。 例:将二进制的(101011)B转换为十进制的步骤如下: ...
分类:
其他好文 时间:
2020-06-14 20:46:32
阅读次数:
219
##利用单调栈,可以找到从左/右遍历第一个比它小/大的元素的位置. #####假设有一个单调栈S和一个数组a[5]; #####有一个记录数组L[5],序号由1-5,表示a[i]向左遍历第一个比a[i]小的数的下标; a[5]:3 5 7 4 6 当a[1]=3压入栈中,是空栈,L[1]=0; 当a ...
分类:
编程语言 时间:
2020-06-14 16:56:48
阅读次数:
53
Description 要你求每个元素都在$[1,m]$,存在一个位置左边严格递增,右边严格递减,且恰好存在一对相等元素的$n$个元素的数组的数量$(1 \leq n \leq m \leq 2 * 10^5)$ Solution 枚举数组中的最大值$max$,有$max \geq n - 1$当数 ...
分类:
其他好文 时间:
2020-06-14 14:34:40
阅读次数:
51
第六章学习的主要内容如下: 这是课后习题的一道题: 1 void DFS_AM(AMGraph G, int v) 2 { //图G为邻接矩阵类型 3 cout << v << " "; //访问第v个顶点 4 visited[v] = true; 5 for(w=G.vexnum-1; w>=0; ...
分类:
其他好文 时间:
2020-06-13 17:45:56
阅读次数:
77
1834. 分组选项 中文English 现在有nn个人在排成一排。他们必须从左到右分成连续的mm组。如果每个组的人数都必须大于等于其左边的组的人数,请问一共有多少种不同的分组方式。对于两个分组而言,当且仅当按递增序排列以后是不同的,他才是不同的分组。例如,[1, 1, 1, 3]和[1, 1, 1 ...
分类:
其他好文 时间:
2020-06-13 17:43:22
阅读次数:
76