动态规划基础 在写这篇博客之前,我被动态规划之类的问题折磨地"遍体鳞伤" 。直到我了解到了闫氏DP分析法。之后,我吃饭更香了,身体更棒了!!! ...... 咳嗯额...开个玩笑,言归正传。 闫氏DP分析法是从集合地角度来分析求解DP问题的。它的具体思想是:找某个依据将某个状态用它的子状态来不重不漏 ...
分类:
其他好文 时间:
2021-03-09 13:34:30
阅读次数:
0
Maximum width 给定字符串S和T,保证T是S的子序列,求解T在S中对应位置相邻的两个之间距离的最大值。 考虑直接贪心,对于位置i和 i+1,让1到i的子串从前向后匹配,i+1到m的子串从后向前匹配,这样就能让左端点尽量靠左,右端点尽量靠右,距离就是最大的。具体实现可以计算出每个匹配的位置 ...
分类:
其他好文 时间:
2021-03-09 13:13:07
阅读次数:
0
归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修 补"在一起,即分而治之)。 归并排序 ...
分类:
编程语言 时间:
2021-03-08 14:00:17
阅读次数:
0
至少有 K 个重复字符的最长子串 递归的方式 对于这个字符串来说,如果某个字符(比如t)的数量小于k的话,那么满足要求的一定在用t分割的字符串的所有字串中。运用这种思想,可以使用递归的方法来求解。代码如下 class Solution { /** * @param String $s * @para ...
分类:
其他好文 时间:
2021-03-03 12:10:53
阅读次数:
0
常规公式理想情况可行,根据运动学可以直接写出来 \[ y(t)= \frac{1}{2}gt^2+v_0t+y_0 \] 但在游戏中是不可行的,因为情况很复杂,粒子可能会碰撞、着地等等,函数变成非连续的,加速度随时间改变,函数很复杂受玩家影响 因此我们需要转用数值方法求解: 时间上连续的问题转化为近 ...
分类:
其他好文 时间:
2021-03-01 13:48:20
阅读次数:
0
递归 A方法调用B方法,我们很容易理解! 递归就是:A方法调用A方法!就是自已调用自己 利用递归可以用简单的程序来解决一些复杂的问题它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归 ...
分类:
编程语言 时间:
2021-02-24 13:07:30
阅读次数:
0
思路: 1.动态规划 首先想到的肯定是暴力解法,将所有情况列举出来再计算,时间复杂度O(2^n),很明显这种做法会超时。 如何改进暴力解法呢?在计算时会发现暴力解法实际上是将求解F(n)的问题分解成求解F(n-1)的问题。 由此可以使用动态规划的解法。 定义一个数组dp,其中 dp[i] 表示的是长 ...
分类:
其他好文 时间:
2021-02-22 12:35:23
阅读次数:
0
高斯消元解线性方程组 时间复杂度:O(\(n^3\)) https://www.luogu.com.cn/problem/P3389 题意:给定一个线性方程组,对其求解。 #include <bits/stdc++.h> using namespace std; const char nl = '\ ...
分类:
其他好文 时间:
2021-02-17 14:54:53
阅读次数:
0
题目链接 链接 翻译 题意很简单,让你求题目描述中那个离谱的式子。 题解 大概就是这样做了一下变换 然后我们就可以固定 \(j\),问题转换成快速求解 \(\sum_{i=1}^n(x_j\ \&\ x_i)\) 和 \(\sum_{i=1}^n(xj\ |\ xi)\) 如果我们设 \(f(i,j ...
分类:
其他好文 时间:
2021-02-17 14:16:18
阅读次数:
0
题意: 有$n$个村庄,村庄在不同坐标和海拔,现在要对所有村庄供水,只要两个村庄之间有一条路即可,建造水管距离为坐标之间的欧几里德距离,费用为海拔之差,现在要求方案使得费用与距离的比值最小。\(n<=1000\) ##思路: 经典的01分数规划求解最优比率生成树,在此题中稠密图采用暴力Prim求解。 ...
分类:
其他好文 时间:
2021-02-16 12:07:40
阅读次数:
0