![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Ted_Tong
这个作者很懒,什么都没留下…
展开
-
最长不下降子序列LIS
最长不下降子序列问题最长上升子序列问题是解决很多问题的根本,它能帮助你理解dp和二分的思想。引言考虑一下:对于一个序列 nnn ,请你查找nnn中最长的子序列aaa,使得任意 i<ji<ji<j 时 a[i]<=a[i]a[i]原创 2018-09-20 12:43:45 · 208 阅读 · 0 评论 -
机房排列Vol.2 题解
1 题意洛谷U55295有两问,第一问就是有一个2×N2\times N2×N的长方形,我们要在里面放上1×21\times 21×2的纸片来将它填满,问有多少种不同的方法。第二问还是有2×N2\times N2×N的一个长方形,我们要用1×K(K∈N+)1\times K (K\in N_+)1×K(K∈N+)的纸片来将它填满,问有多少种不同的方法。2分析2-1 第一问对于第一问,我...原创 2019-11-11 21:29:59 · 202 阅读 · 0 评论 -
左偏树总结
1 是什么?左偏树是一个在堆之上的数据结构,有堆的性质,在堆合并的时间上更有优势。对于普通的堆来说,我们合并两个堆的方式就是一个结点一个结点地插入,复杂度很高。但是对于左偏树来说,复杂度仍然是:O(log2n1+log2n2)O( log_2n_1+log_2n_2)O(log2n1+log2n2)左偏树还有一个左偏的性质,即:结点的左儿子的距离不小于右儿子的距离。我们知道,在...原创 2019-01-10 15:55:29 · 197 阅读 · 0 评论 -
DP
1 数位dp是什么?对于有些区间要求很大的,且考虑数字与数字之间关系的题,我们用普通dp是很难通过的。我们考虑每个数位上的值能不能取,这样就把复杂度降了下来,例如ppp进制下,设位数为qqq我们每个数位都要考虑 p∗qp*qp∗q 次,而不是以前的pqp^qpq次。2 例题HDU 2089 不要62这是一道非常经典的数位dp题,我们要枚举每个数位上取的值,来判断这个数可不可行。dp[i][...原创 2018-12-11 12:53:39 · 204 阅读 · 0 评论 -
AC自动机算法
1 是什么?简而言之,就是在KMP算法的思想上加上trie树来实现的一个适合多个模式串的匹配问题。KMP算法时间复杂度优秀的原因是有一个next数组,也叫做失配指针数组,使得匹配的时间复杂度严格O(M+N)O(M+N)O(M+N),AC自动机也有这样的数组来在失配的时候去跳到相应应该去的地方。所以,AC自动机分两步:1.建立trie树存下模式串2.创造next失配指针2-1如何建立trie...原创 2018-12-26 16:04:23 · 174 阅读 · 0 评论 -
CF1070J Streets and Avenues in Berhattan 题解
1 题目大意有mmm条横线,nnn条竖线,共有 (n∗m)(n*m)(n∗m) 个交叉点.(m+n≤k)(m+n≤k)(m+n≤k)个名字(每个名字是一个大写字母),现在要给这(m+n)(m+n)(m+n)条线命名,若构成一个交叉点的两条直线的名字相同,则这个交叉点不美丽。问不美丽的交叉点的最少个数是多少。多组数据,第一行t(数据组数)(1≤t≤30000)(1≤t≤30000)(1≤t≤...原创 2018-12-06 13:44:51 · 298 阅读 · 0 评论 -
题解 【模板】质因数分解
题目链接1 题目大意输出2~NNN中每个数的质因数.N<=1000001N<=1000001N<=10000012 分析这题拿到手,一看:“这能做?”NNN的范围就是想让我O(N)O(N)O(N)做,但是O(N)O(N)O(N)的时间里面我顶多做一个线性筛筛出质数来,有了质数表还要O(N2)O(N^2)O(N2)去判断质因数,那怎么办呢?我脑袋一抽想到打...原创 2018-12-05 16:38:41 · 557 阅读 · 0 评论 -
树形dp总结
1 与其他dp的不同点和相同点我们先从最简单的01背包问题说起:for(int i=1;i<=n;i++){ for(int j=m;j>=0;j--){ if(w[i]<=j){ f[j]=max(f[j-w[i]],f[j]); } }}很清晰,就是两个for循环对吧,但是树形dp的基本操作就是将一个结点所有子树的信息合到这个节点上,我们的for循...原创 2018-12-04 13:10:45 · 211 阅读 · 0 评论 -
[HAOI2011]problem a (luogu 2519)
这是一道我在学校训练赛的考场上想出来的一道dp题,思维难度我觉得其实还好,不是很难,在luogu上竟然是省选/NOI-,我觉得适宜的难度应该是普及+/提高才对。(luogu省选题难度评分普遍偏高)1 题面1-1 题目描述一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)1-2输入输出格式1-2-1输入格式第一行...原创 2018-11-05 22:00:22 · 188 阅读 · 0 评论 -
[USACO08DEC]在农场万圣节Trick or Treat on the Farm (洛谷2921)
题目链接https://www.luogu.org/problemnew/show/P2921题目大意给你一个有n个点,n条边的图,求每个点出发的最大环的大小。思路首先做一遍tarjan缩点,组成一个强连通分量的点出发所形成的最大环就是这个强连通分量的大小,不在环中的就要去dfs它到最近环的距离再加上搜索到的那个环的大小(需要特判大小为1的环)。...原创 2018-11-05 21:48:07 · 216 阅读 · 0 评论 -
浅谈倍增求树上LCA
浅谈倍增求树上LCA1 何为LCA?LCA就是“最近公共祖先”。例如下图2,3的LCA为14,5的LCA为24,3的LCA为1可以理解为是两个结点最近的父节点。2基本思路2-1倍增思想倍增是什么?我们可以理解为有一只小兔子 要从1号点,跳到n号点,它可以怎么跳呢?1.它可以一步一步的跳如果这个点是n号点,那么它的任务完成,如果不是,就继续跳到下一个点。这样的跳法在n很...原创 2018-11-05 21:11:30 · 241 阅读 · 0 评论 -
快速幂
1 什么是快速幂?快速幂指在较低的时间复杂度中求出 pqp^qpq 的值,这在算法竞赛中是非常实用的。例如一些数论的结论题,在数据非常大的情况下,我们不能直接莽,不能直接用cmath库中的pow函数去求解,因为那会让你的程序运行时间太长导致没有理想的分数。(更不能用一个for循环!!)2快速幂的实现int quick(int p,int q){ int base=p,ans=1; ...原创 2018-11-07 17:00:53 · 139 阅读 · 0 评论 -
树状数组求逆序对
1 逆序对是什么?是指在一个aaa序列中,满足i&lt;ji&lt;ji<j且ai&gt;aja_i&gt;a_jai>aj的i,ji,j%+i,j总数和。例如: 5 4 2 6 3 1逆序对数就是11,即: 5 4 5 2 5 3 5 1 4 2 4 3 4 1 2 1 6 3 6 1 3 12 如何求逆序对我们知...原创 2018-11-06 21:41:14 · 213 阅读 · 0 评论 -
牛客网比赛177 旅游
题目大意链接:https://www.nowcoder.com/acm/contest/177/B来源:牛客网暑假,可怜打算去旅游。在可怜的计划中,可怜一共打算游玩 nnn 个景点,这些景点被 mmm 条双向道路联通(即任何两个景点之间都能通过道路直接或者间接到达)。第 iii 条道路的长度为 2i2^i2i。因为这 nnn 个景点中,只有 111 号景点在机场附近,所以可怜想要制定...原创 2018-10-15 13:09:26 · 312 阅读 · 1 评论 -
jz集训 8.13
Day 13155T1Description小h和小R正在看之前的期末&三校联考成绩,小R看完成绩之后很伤心,共有n(n<=5*106)个学生,第i个学生有一个总成绩Xi(0<=Xi<=105),因为他的排名是倒数第k(1<=k<=n)个,于是小R想知道那些成绩比他低(包括成绩和他一样)的同学的成绩,这样能让他没那么伤心。Input第一行,n和k,...原创 2019-08-14 16:23:51 · 197 阅读 · 0 评论