题解列表

筛选

直接使用动态规划解决,用dfs将超时

摘要:此题可以使用dfs来骗分得大约20分。 以下是dp的方法 //如果sum的和不能为奇数,因为只有奇数加偶数才能为奇数。因此sum如果为奇数,直接输出0即可 // 以下分析都……

c++二分排序

摘要:解题思路:看到的第一眼原本想使用小根堆找出最小的手牌,看了数据量改用了二分法,因为能凑出手牌的数量是单调的注意事项:参考代码:#include<bits/stdc++.h>#define INF 0x……

3分钟写完一个题

摘要:解题思路:注意事项:参考代码:#include<iostream>using namespace std;const int N=2005;int n;bool chess[N][N];//使用最简单……

最长公共子序列

摘要:解题思路:模板题,力扣1143. 最长公共子序列假设字符串 text1和 text2的长度分别为 m 和 n,创建 m+1 行 n+1 列的二维数组 dp,其中 dp[i][j]表示 text1[0:……

多重背包(C++)暴力

摘要:解题思路:设dp[i][j]的含义是:在背包承重为j的前提下,从前i种物品中选能够得到的最大价值。 如何计算dp[i][j]呢?我们可以将它划分为以下若干部分: 选0个第i种物品:相当于不选第i种……

合并果子---简单易懂

摘要:解题思路:只有保证每次搬运的是当前所有堆中重量最小的两堆果子才能使体力消耗最小;使用set容器自动排序,但又考虑到重量肯能出现相同情况,就使用multiset(可以放入重复元素并自动排序)参考代码:#……