Processing math: 100%

07 2019 档案

摘要:"题目" 树剖裸题,这个题更可以深刻的理解树剖中把树上的节点转换为区间的思想。 要注意在区间上连续的节点,一定是在一棵子树中。 c++ include define int long long define ls left, mid, root 1; if (lazy[root]) { ans[ro 阅读全文
posted @ 2019-07-23 08:47 DAGGGGGGGGGGGG 阅读(196) 评论(0) 推荐(0) 编辑
摘要:分数规划 分数规划可以用来处理有关分数即比值的有关问题。 而分数规划一般不单独设题,而是用来和dp,图论,网络流等算法结合在一起。 而基础的做法一般是通过二分。 二分题目我们都知道,需要求什么的最小或最大值,就二分什么。 而该最小或最大值都会满足单调性。 设当前最大值为maxn,如果存在比值使得 阅读全文
posted @ 2019-07-21 19:44 DAGGGGGGGGGGGG 阅读(180) 评论(0) 推荐(0) 编辑
摘要:"题目" 二分加最短路。 因为原题中要求给定一个值n和一个次数m,使这个值尽量小的同时存在一条1到n的路径上权值大于该值的边的个数小于次数m。 此时我们发现该值和次数满足单调性,即该值越小个数越多。 因此可以用二分,再考虑如何check 可以将路上的权值是否大于n这一条件做布尔边权值,这样跑出来的最 阅读全文
posted @ 2019-07-21 16:16 DAGGGGGGGGGGGG 阅读(186) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列——兔子问题: 春天来了, 又到了交配的季节。一般而言, 一对兔子在出生一个月后(即出生后的第二个月)就 有了繁殖能力,此后一对兔子每个月能生出一对小兔子来。例如,若最开始有一对刚出生的兔子, 兔子的繁殖如下表所示: 经过月份 0 1 2 3 4 5 6 7 幼崽对数 1 0 1 1 2 阅读全文
posted @ 2019-07-19 08:03 DAGGGGGGGGGGGG 阅读(7716) 评论(0) 推荐(0) 编辑
摘要:最长上升子序列 最长上升子序列是DP的入门题目,解法多样,只介绍nlogn的做法。 其实nlogn的做法不是传统的DP而是贪心。 定理:如果当前已选子序列的最后一位ans[last]有更合适的选择,则该选择a[i]满足$ans[last 1] using namespace std; int 阅读全文
posted @ 2019-07-17 20:18 DAGGGGGGGGGGGG 阅读(196) 评论(0) 推荐(0) 编辑
摘要:"题目" 考虑对于一个小岛,如果有雷达可以覆盖它,则这些雷达肯定在一个区间里,则原题内容则变为区间选点问题 阅读全文
posted @ 2019-07-15 20:12 DAGGGGGGGGGGGG 阅读(215) 评论(0) 推荐(0) 编辑
摘要:"题目" K短路的解法很多,其中比较简单拿到不少分的就是A 算法了。 这个题也是通过估价函数的优先级来确定K短路的。 假设估价为一条从起点到终点的路径的权值和。 将到达终点的路径都放入优先队列中,从优先队列中取出的第k个值就是k短路。 代码: c++ include include include 阅读全文
posted @ 2019-07-15 11:30 DAGGGGGGGGGGGG 阅读(530) 评论(0) 推荐(0) 编辑
摘要:SPFA和DIJ求最短路的算法的坑点一直是很多的。经常会让人搞不懂。 易错案例: 用重载运算符来排序,如: 这种做法是不对的,该dis值在堆里不会更新甚至会堵住。 正确案例: 目前只有两种优化算法最可靠,分别为优先队列来优化spfa或dij。 SPFA: 每次从堆中只需要取出到t的最短路最小的元 阅读全文
posted @ 2019-07-14 19:02 DAGGGGGGGGGGGG 阅读(530) 评论(0) 推荐(0) 编辑
摘要:"题目" 一道做法多种多样的题,DP做法的状态也很多。 我用dp[i]表示在第i秒发车的时间和,然后dp方程就很好写了 dp[i]=dp[j]+ij属于i 2m ~ i m。 然后i车的等待时间可以用前缀和来优化求出,虽然很慢,但是足以通过这道题了。 c++ includ 阅读全文
posted @ 2019-07-05 17:24 DAGGGGGGGGGGGG 阅读(198) 评论(0) 推荐(0) 编辑
摘要:"题目" 如果暴力的话,时间复杂度是rcC(n,n/2)2,主要考察搜索枚举行和列,并没有用到DP的思想。 考虑优化的话,发现枚举行或列中至少需要一步,因为这个题只能预处理优化,如果都不枚举,就相当于盲人摸象,无法预处理来优化。 因此要搜索枚举行或列,然后预处理并在列或行上跑DP,这样就可以 阅读全文
posted @ 2019-07-02 17:39 DAGGGGGGGGGGGG 阅读(223) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示