狂点技能树
狂点技能树
全部文章
分类
思维题(1)
题解(17)
归档
标签
去牛客网
登录
/
注册
狂点技能树的博客
全部文章
(共6篇)
题解 | #dd爱矩阵#
算法进阶指南 例题 改编。思路(来自 算法进阶指南 一书): 假设我们只有两行 a,b 需要被合成 排序 最大值显然是 a[n] + b[n] ,记录最大值 次大值可能出现在 a[n - 1] + b[n] 和 a[n] + b[n - 1] 之中 ……(自己写两个数组同上分析) 我们发现,对于任...
堆
贪心
思维题
优先队列
2021-06-01
5
686
题解 | #dd爱矩阵#
思路: 代数法分析 对于每一种变化,我们可以用代数的方法将其表示出来 第一种变化:a[i][j] --> a[n - i + 1][n - j + 1] 第二种变化:a[i][j] --> a[n - i + 1][j] 最有意思的在于我们如果尝试对翻转的再翻转或者镜像的再镜像,其...
模拟
思维题
2021-06-01
2
628
题解 | #dd爱科学2.0#
思路: dp 我们枚举每一位变成每一种字符(26种)时的花费(保证此时字符串递增)。 值得注意的是当我们计算花费时需要取得当前位最小值,就必须要去遍历前面状态小于自己字符的花费取最小,这个问题可以通过加一个额外的记录最小值的变量完成,不过在代码里我们做的更绝:每一位保存的都是全体最小值,其意...
贪心
思维题
dp
2021-06-01
2
730
题解 | #dd爱科学1.0#
思路一: 在保证最长上升子序列的前提下修改数最少:等价于求最长上升子序列长度 #include <bits/stdc++.h> const int N = 1000009; int n; string s; int qu[N], tot; int finding(int x) ...
单调队列
思维题
2021-06-01
1
893
题解 | #金明的预算方案#
思路一:直接记忆化搜索(遇见不会的 dp 先记忆化搜索了再说(记忆化过不了就是需要优化)) #include <bits stdc++.h> using namespace std; int n, m; vector<pii> ve[69]; int dp[100][4...
模拟
思维题
dp
2021-06-01
1
459
Incomplete Implementation 详解
拿个沙发此题是典型的思维题,且 “思维容易,实现难” 主要是实现比较难想到。 代码如下,具体细节通过注释给出其中,c 数组记录选中数在 a 中的下标,d 数组记录选中数的值,c 和 d 的配合可以对选出来的离散集合进行排序,通过排序后的结果,依次修改 a 数组和 b 数组。 #include <...
模拟
思维题
2021-04-05
0
595