题解列表

筛选

信息学奥赛一本通T1276 -编辑距离

摘要:解题思路:f[i][j]表示i长度的字符串变化到j长度字符串的最短距离注意事项:参考代码:#include<iostream> using namespace std; const int N =……

1314: 乘积最大

解题思路:f[i][j]表示到索引i数字字符插入j个乘号,所能得到最大的乘积。初始化f[i][0]为到i索引字符结束的整数(插入了0个乘号);r遍历字符从1到i个字符每种情况,状态转移方程:f[i][j]=max(f[i][j],f[r-1][j-1]*num(r,

优先队列之小根堆,,,,,,,

摘要:解题思路:每次选最小的两个元素,也就是小根堆的顶部进行合并,合并之后加入队列,直到队列只剩一个元素注意事项:什么注意的参考代码:#include<bits/stdc++.h>using namespa……

超级简单的递归

解题思路:用递归的思想,求第n个就要先知道n-1的排列顺序,知道n-1就要先知道n-2.....知道第2个就要知道第1个.而特点就是夹心饼干,前半部分和后半部分一样。所以我用一个change函数实现递归前半部分和后半应该是第n-1的排列顺序,

dfs自用--自用

#includeusingnamespacestd;constintMAXN=1005;intcity[MAXN];inta[MAXN][MAXN];intm,n,u,v,c;longlongans=10000;intf[MAXN]={0};//f防止重复经过这个城市voiddfs(intx,

奇偶数之和

摘要:解题思路:主要就是分别表示出奇数和偶数,我用k表示,如果k为奇数则i进行奇数相加,k为偶数则进行偶数的相加。注意事项:参考代码:#include<iostream>using namespace st……

数据结构改进制

摘要:解题思路:注意事项:注意输入x的方式参考代码:#include<stdio.h>#include<iostream>#include<string.h>#include<stack>using nam……

3060: 合并石子 前缀和&DP

摘要:解题思路:前缀和&DP, f[l][r]表示从i堆到j堆合并的最小得分,i 用来遍历 l,r 之间长度, j确定区间的左边界 注意事项:参考代码:#include<iostream> #includ……

迭代法求平方根(C++)

解题思路:首先,解释一下迭代公式:X[n+1]=2X[n]+X[n]a这个公式是用来逼近a的平方根的。初始时,可以随机选择一个X[0](通常选择a或者a的一半作为初始值),然后通过这个公式不断迭代,每次迭代都会得到一个更接近a的平方根的值X[n+1]。