题解列表

筛选

c++二分排序

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

3分钟写完一个题

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

1831: 蓝桥杯2015年第六届真题-机器人繁殖

#include#includeusingnamespacestd;//设初始数量为n,则数量变化为://3n-1,7n-4,15n-11,31n-26//不难看出n前系数的变化规律为2^(n+1)-1,常数项的绝对值为前一项的常数项加上前一项的n的系数(4=3+1,

最长公共子序列

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

多重背包(C++)暴力

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

合并果子---简单易懂

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