摘要: CSDN 只要我们不停下来,道路就会不断延伸。 阅读全文
posted @ 2021-04-30 19:25 _rhinoceros 阅读(49) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/numb_ac/article/details/107438437 阅读全文
posted @ 2021-04-30 19:04 _rhinoceros 阅读(37) 评论(0) 推荐(0)
摘要: 一、树的直径 树的直径有两种求法,分别是两次dfs和树形dp,而 Acwing350巡逻 恰好都用到了这两种方法,详见个人的csdn博客 https://blog.csdn.net/zhangzhang232/article/details/116202867 二、树上状态划分 树上DP其实就是将一 阅读全文
posted @ 2021-04-30 18:27 _rhinoceros 阅读(167) 评论(0) 推荐(0)
摘要: 一、用二进制存状态 最短Hamilton路径 https://www.acwing.com/problem/content/93/ 从算法分析上来看,就是一道简单的最短路线性DP,但是既然要不重不漏地走,就需要保存已经走过的路径。此时容易想到用dfs求解(解法略)。但是对于最优化问题,无非就是要求不 阅读全文
posted @ 2021-04-30 13:26 _rhinoceros 阅读(109) 评论(0) 推荐(0)
摘要: 一、解题基本步骤 状态机问题解题的第一步是画出正确的转移模型,其通常用一个状态机的图来进行表示。 可以从一道简单的题来开始认识状态机模型的画法。大盗阿福 https://www.acwing.com/problem/content/1051/ 第二步是根据转移模型,写状态转移方程,还要注意变量的初始 阅读全文
posted @ 2021-04-30 13:05 _rhinoceros 阅读(277) 评论(0) 推荐(0)
摘要: 一、万恶之源——最长上升子序列 https://www.acwing.com/problem/content/1019/ 1.经典DP解法 设置f数组,以子序列的最后一个数i划分DP区间,求得最优解。注意最后要for循环扫一下。 代码略 2.二分查找 1 #include<iostream> 2 # 阅读全文
posted @ 2021-04-30 12:20 _rhinoceros 阅读(129) 评论(0) 推荐(0)
摘要: 一、从简单题开始 1.运筹学都学过的逆推求线性DP P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles https://www.luogu.com.cn/problem/P1216 1 #include<cstdio> 2 #include<algorit 阅读全文
posted @ 2021-04-30 11:38 _rhinoceros 阅读(115) 评论(0) 推荐(0)
摘要: 一、算法分析 基本思路就是枚举,还有利用vector的一些小技巧。注意的点是,最后的枚举方式要有一个小优化,不能外层对k进行枚举,如果那样会超时,因为两层循环都是n。而是应该开一个res数组,以组为单位去维护res数组。 二、代码及注释 1 #include<iostream> 2 #include 阅读全文
posted @ 2021-04-30 10:31 _rhinoceros 阅读(100) 评论(0) 推荐(0)
摘要: 1.使用STL的vector容器时,对于一个未申请的空间,不要用赋值号为之加值,那样虽然不会报错但是会很慢!正确方式应该是用push_back() 阅读全文
posted @ 2021-04-30 09:42 _rhinoceros 阅读(64) 评论(0) 推荐(0)
摘要: 一、思想 刚开始拿到这道题有点懵,但是很快确定了基本的解题方向:r,b,d三个参数,通过其中两个来确定另一个的合理范围,从而确定另一个是否合法。 然后开始造了几个数据,以 2 7 3 为例,可以考虑把2拆成一个一个的,则每个最大可以配一个4(因为1 + 3 == 4),所以对于这个样例,b的最大取值 阅读全文
posted @ 2021-04-30 01:08 _rhinoceros 阅读(225) 评论(0) 推荐(0)