「10.19」最长不下降子序列(DP)·完全背包问题(spfa优化DP)·最近公共祖先(线段树+DFS序)
我又被虐了...
A. 最长不下降子序列
考场打的错解,成功调了两个半小时还是没A,
事实上和正解的思路很近了,只是没有想到直接将前$D$个及后$D$个直接提出来
确实当时思路有些紊乱,打的时候只是将前两个及后两个循环节提出来,
因为该题中$D$的范围很小,因此最长公共子序列中最多只有$D$个不同的数
所以我们可以想到中间的一段相同的数一定是可以移成中间的一段数,本质是一样的
B. 完全背包问题
没想到是到图论题啊啊
考虑到$w$的范围很大,然而$v$的范围很小,于是我们开始转化原来的$DP$方程定义
$f_{i,j,k}$表示当选到第$i$个物品此时选了大于$L$的物品有$j$个,然后最小值为$S$,此时的$S%vmin=k$
其中$v_{min}$表示出现的值中的最小的$v$,其实都是一样的.....
然后最后我们比较答案时只需要判断$f_{n,j,W\%v_{min}}$ 是否 $<=W$ 即可,因为在模数相同时在加上若干$v$
一定能取到$W$,考虑转移,$v_{i}>L$就不说了
值得考虑的是当$v_{i}<=L$时,我们发现$f_{i,j,s}=min(f_{i-1,j,s},f_{i,j,s-v_{i}\%v_{min}}+v_{i})$转移过来
这时的$DP$转移中是处于同一状态下的,
为了保证转移正确行,很神奇的用到了$spfa$
我们用一个超级源点和每一个$s$相连权值$f_{i-1,j,s}$,然后根据转移方程在将$s$两两相连
这样我们在转移是保证了完全背包的性质也就是说物品可以无限选,而且在转移是保证了每个点都已经经过了一条由超级源点
所连出的边。
C. 最近公共祖先
考虑黑点只会不断增加,
所以每出现一个黑点考虑他的贡献,是对子树的修改,所以DFS序维护子树就可以了
「10.19」最长不下降子序列(DP)·完全背包问题(spfa优化DP)·最近公共祖先(线段树+DFS序)的更多相关文章
- 「10.13」毛一琛(meet in the middle)·毛二琛(DP)·毛三琛(二分+随机化???)
A. 毛一琛 考虑到直接枚举的话时间复杂度很高,我们运用$meet\ in\ the\ middle$的思想 一般这种思想看似主要用在搜索这类算法中 发现直接枚举时间复杂度过高考虑枚举一半另一半通过其 ...
- 【24题】P2766最长不下降子序列问题
网络流二十四题 网络流是个好东西,希望我也会. 网络流?\(orz\ zsy!!!!!\) P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(d ...
- [**P2766** 最长不下降子序列问题](https://www.luogu.org/problemnew/show/P2766)
P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(dp(i)\)代表以\(i\)为起点的\(LIS\)是多少.转移太显然了 \[ dp(i)=m ...
- 动态规划 ---- 最长不下降子序列(Longest Increasing Sequence, LIS)
分析: 完整 代码: // 最长不下降子序列 #include <stdio.h> #include <algorithm> using namespace std; ; in ...
- 10.26最后的模拟DAY2 改造二叉树[中序遍历+严格递增的最长不下降子序列]
改造二叉树 [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他 ...
- 8.3考试总结(NOIP模拟19)[最长不下降子序列·完全背包问题·最近公共祖先]
一定要保护自己的梦想,即使牺牲一切. 前言 把人给考没了... 看出来 T1 是一个周期性的东西了,先是打了一个暴力,想着打完 T2 T3 暴力就回来打.. 然后,就看着 T2 上头了,后来发现是看错 ...
- 最长不下降子序列 nlogn && 输出序列
最长不下降子序列实现: 利用序列的单调性. 对于任意一个单调序列,如 1 2 3 4 5(是单增的),若这时向序列尾部增添一个数 x,我们只会在意 x 和 5 的大小,若 x>5,增添成功,反之 ...
- 【题解】Luogu P2766 最长不下降子序列问题
原题传送门 实际还是比较套路的建图 先暴力dp一下反正数据很小 第一小问的答案即珂以求出数列的最长不下降子序列的长度s 考虑第二问如何做: 将每个点拆点 从前向后连一条流量为1的边 如果以它为终点的最 ...
- 2017ICPC南宁赛区网络赛 The Heaviest Non-decreasing Subsequence Problem (最长不下降子序列)
Let SSS be a sequence of integers s1s_{1}s1, s2s_{2}s2, ........., sns_{n}sn Each integer i ...
随机推荐
- Java GUI入门手册-AWT篇
Java GUI入门手册: AWT是基本的GUI设计工具,重点学习其中的布局格式以及事件监听事件. 首先创建一个窗口,我们先分析Frame类中的方法: 通过上图,可以看出frame是由构造方法的重载: ...
- .NET平台系列目录
本系列主要讲解微软.NET平台发展历程以及.NET框架技术.包含.NET Framework..NET Core.Xamarin..NET Standrad等技术与应用. 1..NET平台系列 .NE ...
- MySQL角色(role)功能介绍
前言: 上篇文章,我们介绍了 MySQL 权限管理相关知识.当数据库实例中存在大量的库或用户时,权限管理将会变得越来越繁琐,可能要频繁进行权限变更.MySQL 8.0 新增了 role 功能,使得权限 ...
- 03.21 ICPC训练联盟周赛:UCF Local Programming Contest 2018正式赛
B Breaking Branches 题意:两个人比赛折枝,谁剩下最后1,无法折出整数即为输 思路:树枝长n,若是奇数,则Bob胜出,若是偶数,则Alice胜出,且需要输出1: 1 #include ...
- 干货!可以使用低代码平台代替Excel吗?
低代码开发平台可以代替Excel?不用惊讶,答案是肯定的,而且,低代码开发平台可以完全代替Excel.例如Zoho Creator低代码平台,可以围绕数据存储.管理和创建工作流程.期间不需要IT人员介 ...
- Spring与Springboot
1.Spring能做什么 1.1.Spring的能力 1.2.Spring的生态 https://spring.io/projects/spring-boot 覆盖了: web开发 数据访问 安全控制 ...
- [Java] SpringBoot
背景 简化SSM(H)中大量的配置工作,开发人员只关心提供业务功能 可以看成简化了的.按照约定开发的SSM(H) 概念 JavaBean:满足规范的Java类(属性private+默认构造方法+get ...
- Mycat调优启用useOffHeapForMerge报java.lang.NumberFormatException异常解决(附源码)
come from : https://blog.csdn.net/u013716179/article/details/89886452
- mysql不停库恢复
环境搭建:yum -y install mysql-co*servervim /etc/my.cnf############server-id=1log-bin=binbinlog-format=RO ...
- Mysql 数据库基本操作
1.数据库设置密码 [root@db02 scripts]# mysqladmin -uroot password 123 2.使用密码登录 #1.正确的方式(不规范) [root@db02 scri ...