摘要: 过河 (优化dp) 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的 阅读全文
posted @ 2017-10-24 09:16 pechpo 阅读(147) 评论(0) 推荐(0)
摘要: 宝藏探寻 树上倍增 小μ发现了一个矿洞,里面出产珍贵的紫萤石。紫萤石的价值与它的质量成正比。可以认为,一个质量为x的紫萤石的价值为x^2。经过探查,发现这个矿洞里面有一块巨大的紫萤石,它的结构是一个N个点,N 1条边的无向无环联通图。其中每一个节点i可以看成是一个质量为a[i]的紫萤石。有N 1条紫 阅读全文
posted @ 2017-10-23 11:16 pechpo 阅读(269) 评论(0) 推荐(0)
摘要: 传染病防治(爆搜+剪枝) 研究表明,这种传染病的传播具有两种很特殊的性质;第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不得病,或者是XY之间的传播途径被切断,则X就不会得病。第二是,这种疾病的传播有周期性,在一个疾病传播周期之内,传染病将只会感染一代患者,而不会再传播给下一 阅读全文
posted @ 2017-10-23 08:47 pechpo 阅读(268) 评论(0) 推荐(0)
摘要: 加分二叉树 ~~树型~~区间dp 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下 阅读全文
posted @ 2017-10-22 20:56 pechpo 阅读(192) 评论(0) 推荐(0)
摘要: 没有找零 状压dp 约翰到商场购物,他的钱包里有K(1 include using namespace std; const int maxn=1e5+5, maxk=20; int k, n, coins[maxn], things[maxn], pre[maxn]; // pre:物品的前缀和 阅读全文
posted @ 2017-10-20 18:56 pechpo 阅读(111) 评论(0) 推荐(0)
摘要: 互不侵犯king (状压dp) 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。$1\le n\le 9,0\le k\le n n$。 这道题如果普通dfs肯定会超时。为什么呢?我们发现一行中的状 阅读全文
posted @ 2017-10-20 08:03 pechpo 阅读(150) 评论(0) 推荐(0)
摘要: Mice and Holes 单调队列优化dp n个老鼠,m个洞,告诉你他们的一维坐标和m个洞的容量限制,问最小总距离。1 ≤ n, m ≤ 5000。 ​ 首先列出朴素的dp方程:$f[i][j]=min(f[i 1][k]+s[j] s[k])$,其中$f[i][j]$表示前i个洞,有j个老鼠进 阅读全文
posted @ 2017-10-18 08:20 pechpo 阅读(173) 评论(0) 推荐(0)
摘要: tree(二维偏序) 最近接触到一些偏序的东西。 传统线段树非叶子节点的划分点mid=(l+r)/2,但小R线段树mid是自己定的。但满足l=r2,那么l,r小于l2,r2。具体做法就是一维排序,然后i从大到小(从小到大也可以,只不过这里dfs出来顺序是从小到大的,那么就从大到小扫一遍),对于左端点 阅读全文
posted @ 2017-10-12 19:55 pechpo 阅读(412) 评论(0) 推荐(0)
摘要: 老司机 Lucas Skipper 喜欢飙车。最近,Lucas 参加了一个飙车比赛。比赛在环型赛道上进行,全程共 K 圈。在比赛中,选手需要用主办方提供的赛车,而这种老爷车给 Lucas 带来了巨大的麻烦。这种赛车的油箱可以装 n个单位的油。每个单位的油可以支持赛车跑恰好 1 圈。每圈开始前,你需要 阅读全文
posted @ 2017-10-05 09:57 pechpo 阅读(217) 评论(0) 推荐(0)
摘要: 三分法求函数极值 这个比较简单,就不说了。其实可以用近似二分的方法来做,只不过要小心精度问题,导致mid超出l,r的范围。还有,用秦九韶算法可以优化求多项式的时间复杂度。 cpp include using namespace std; const int maxn=20; const double 阅读全文
posted @ 2017-10-04 16:07 pechpo 阅读(434) 评论(1) 推荐(0)