2022年5月8日

摘要: ###这里即将要介绍的是算法提高课中最长上升子序列的一些模型和题解### ###题目一:怪盗基德的滑翔翼 ### 1017. 怪盗基德的滑翔翼 - AcWing题库 题面介绍:就是有N幢高度已知的楼,从任意一个楼开始,允许向右向左任一方向向下滑翔,求能滑到的最多的楼房数。 分析:其实就是求问这个长度 阅读全文

posted @ 2022-05-08 22:00 ZheyuHarry 阅读(28) 评论(0) 推荐(0) 编辑

2022年4月27日

摘要: 状态压缩DP,是今天所要讲到的内容。 其实状态压缩这个概念我们并不陌生,我们之前在做八数码问题的时候就是把那张图给压缩成了一串数字来表示,这里其实也是利用到了状态压缩,让图的内容可以很简单的用数来表示。 例题:291. 蒙德里安的梦想 - AcWing题库 题解:我们来分析一下这道题该怎么做,以及我 阅读全文

posted @ 2022-04-27 20:56 ZheyuHarry 阅读(39) 评论(0) 推荐(0) 编辑

2022年4月25日

摘要: 我们知道,动态规划用来解决一类最优化问题,通过将原问题分解成若干的子问题,并综合子问题的最优解从而得到原问题的最优解,线性DP就是这么一种现行的分析DP的思路。 我们这里来介绍几种常见的模型以及例题: 1.数字三角形模型 例题:898. 数字三角形 - AcWing题库 状态表示: f[i]j[j] 阅读全文

posted @ 2022-04-25 23:45 ZheyuHarry 阅读(123) 评论(0) 推荐(0) 编辑

2022年4月23日

摘要: 我们知道,背包问题是一种非常经典的动态规划问题,本文总结了几种类型的背包问题并进行了分析: 根据百度百科,我们可以看到背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总 阅读全文

posted @ 2022-04-23 15:58 ZheyuHarry 阅读(222) 评论(1) 推荐(0) 编辑

2022年4月16日

摘要: 题目: (我的题目很长,你忍一下……) 题目分析: 这道题目的体面比较复杂,先是讲了一下树是怎样的一个结构,并且告诉我们在这里,他是以什么样的一种方式描述一棵树的,就是通过描述每个节点的父节点是哪个(b数组),然后告诉我们要安排边权,使得树中的每个节点到根的距离都能如同p数组那样进行排序,然后叫我们 阅读全文

posted @ 2022-04-16 11:02 ZheyuHarry 阅读(94) 评论(0) 推荐(0) 编辑

2022年4月15日

摘要: 这是一道比较综合的数学题目,光是吧题目看懂就花了我好一会儿时间,先看看题目吧: 题目分析:对于m段给定连续段的或值,要求出n个数的序列子序列的异或值之和; 题解: 这道题,我们先不要把它当作一个数一个数来做,而是要考虑每一位的贡献值; 考虑二进制第 位对"数组所有子序列异或值的和"的贡献。设 中第 阅读全文

posted @ 2022-04-15 18:59 ZheyuHarry 阅读(99) 评论(0) 推荐(0) 编辑

2022年4月11日

摘要: 题目: 题目分析: 这道题是一个关于树的问题,我们已知一棵深度若干的健康的树,然后每秒能进行一次操作,操作分为两个内容,一个是spreading,是说一群兄弟节点中,只要有一个被感染了,每一秒这些兄弟节点之间就会被感染一个(注意,只是感染一个,而不是说每一个被感染的都可以去感染一下旁边的节点,不然就 阅读全文

posted @ 2022-04-11 16:58 ZheyuHarry 阅读(47) 评论(0) 推荐(0) 编辑

2022年4月9日

摘要: 分析题目:这道题的题目是说给定一个2的幂次n,然后要求我们从0~n-1这n个数中不重复的挑选两个进行配对,要求配对后的每一对按位与之和为k; 而且k的话还是从0~n-1都有的; 既然题目都这样说了,那么这道题就肯定要转换为二进制来观察了,我们可以发现因为n始终是2的幂次,所以n-1的二进制表示就是1 阅读全文

posted @ 2022-04-09 11:16 ZheyuHarry 阅读(48) 评论(0) 推荐(0) 编辑

2022年4月8日

摘要: 题目分析:我们先简单的分析一下这道题是在干什么啊,给我们三个整数n,a,b,问我们能否构造这样的排列使得序列中有a个极大值,b个极小值,能的话就给出任意一种可能的情况,不能的话就输出-1; 其实一开始我分析这道题的方法不是很好,这道题最好的解决方法不是举几个栗子然后观察规律,而是应该学会数形结合,我 阅读全文

posted @ 2022-04-08 22:02 ZheyuHarry 阅读(60) 评论(0) 推荐(1) 编辑

摘要: 题目分析:我们先分析一下这道题目要我们做什么,我们会得到一个长度为n的序列,然后我们可以随机挑取前k个数字并找出其MEX的值放入b中,并把这前k个数删掉,然后继续操作,要求我们最后得到的b序列的字典序最大; ·解释一下:首先什么是MEX呢? 就是找出这一段序列中第一个未出现的自然数; ·什么是b的字 阅读全文

posted @ 2022-04-08 17:50 ZheyuHarry 阅读(29) 评论(0) 推荐(0) 编辑