"原题链接" 首先如果不考虑数据范围,珂以想到一个贪心:每一次询问的$u,v$,设它们的最近公共祖先为$lca$,若当前的$u,v$有一条$u\rightarrow v$的路径,就直接按这个路径跑;否则尽量往$lca$上跑。如果跑不动了,而且也没有$u\rightarrow v$的路径,就不能到达。 ...
分类:
其他好文 时间:
2020-03-12 23:48:46
阅读次数:
116
一、一般使用场景 常用于多阶段决策问题 最优解问题 区别于贪心算法只考虑眼前的局部利益 动态规定求解的是整体的最优值 如:求A到B的最短路径 A出发可达 A1 A2 A3 A1 出发可达 B1 B2 A2 出发可达 B2 B3 .... 二、特点 最优子结构 : 最优解的问题可以由子问题的最优解转换 ...
分类:
其他好文 时间:
2020-03-11 20:58:37
阅读次数:
61
《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法 ...
分类:
编程语言 时间:
2020-03-10 22:14:23
阅读次数:
69
今天似乎格外的简单呢。 T1 我们最喜欢的$dp$。 每次$dp$出剩下$i$个人的情况下对答案期望的贡献。 这样贪心的拿到最多的贡献就行了。 然后这个物品就要去掉一个人的贡献 用一种比较巧妙的$dp$来统计就可以了。 T2 可怜的变元矩阵树定理。 暴力插值就行了。 值得一提的是脸哥写的那种$dp$ ...
分类:
其他好文 时间:
2020-03-10 21:42:20
阅读次数:
46
基本思想: 无; 关键点: 无; #include<iostream> #include<string> #include<vector> using namespace std; double p1 = 5; double p2 = 3; double p3 = 1.0 / 3; void cha ...
分类:
其他好文 时间:
2020-03-10 12:06:47
阅读次数:
69
Codeforces 1312E. Array Shrinking 题意: 有一个序列,你可以选择一对相邻的数字$a_i=a_{i+1}$,然后将这两个数字换为$a_i+1$。 问最后最少能留下多少个数字。 思路: 似乎没有好的贪心策略,所以确定是dp应该没问题。 我们设$g(i,j)$表示在区间$ ...
分类:
其他好文 时间:
2020-03-10 11:52:27
阅读次数:
51
贪心+树形dp 尽可能低价买入,高价卖出 设好转移规律就好了 长记性 dp[i][1] i号节点或者他的某个子孙中最低买入价格//要靠考虑路费 dp[i][0] i号节点或者他的某个子孙中最高卖出价格//要考虑路费 #include<iostream> #include<cstring> #incl ...
分类:
其他好文 时间:
2020-03-10 01:11:40
阅读次数:
64
现场只写出来两道。 "第一题" 题意:找到数组任意一个子集的和是偶数 题解:贪心,找到任意一个偶数或者两个奇数就可以了。 ...
分类:
其他好文 时间:
2020-03-08 14:07:07
阅读次数:
42
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?, 说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的 ...
分类:
移动开发 时间:
2020-03-05 20:49:02
阅读次数:
98
题目链接:http://codeforces.com/contest/1321/problem/C 题意: 给定一个字符串,若字符串中的某个字符的前一个或者后一个是其字典序的前一个字母就可以去掉这个字符,问最多能去掉多少个字符 思路: 贪心,每次去掉可以去掉字符的最大字典序的字母,可以脑补一下,如果 ...
分类:
其他好文 时间:
2020-03-05 15:10:51
阅读次数:
46