diff --git a/README.md b/README.md index b1d352e..fe7dae5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +# 算法笔记 ## 线性动态规划优化为$O(n\log{n})$方法 >如果是递增序列就lower_bound diff --git a/src/8/28/P4342.cpp b/src/8/28/P4342.cpp new file mode 100644 index 0000000..28170a4 --- /dev/null +++ b/src/8/28/P4342.cpp @@ -0,0 +1,31 @@ +/* + +dpmax[i][j]=编号[i,j]合并后的最大值 +dpmin[i][j]=编号[i,j]合并后的最小值 + +if op[k] == + + dpmax[i][j]=max(dpmax[i][k]+dpmax[k+1][j]) + dpmin[i][j]=min(dpmin[i][k]+dpmin[k+1][j]) + +else if op[k] == * + dpmax[i][j]=max(dpmax[i][k]*dpmax[k+1][j], + dpmax[i][k]*dpmin[k+1][j], + dpmin[i][k]*dpmax[k+1][j], + dpmin[i][k]*dpmin[k+1][j]) + + dpmin[i][j]=min(dpmax[i][k]*dpmax[k+1][j], + dpmax[i][k]*dpmin[k+1][j], + dpmin[i][k]*dpmax[k+1][j], + dpmin[i][k]*dpmin[k+1][j]) + +dpmax[i][j] = -1e9 +dpmin[i][j] = 1e9 + +dp[i][i]=arr[i] + +*/ + + +int main(){ + +} \ No newline at end of file diff --git a/src/8/28/opj8782.cpp b/src/8/28/opj8782.cpp new file mode 100644 index 0000000..d0ffc25 --- /dev/null +++ b/src/8/28/opj8782.cpp @@ -0,0 +1,20 @@ +/* + +dp[i][j]=前i个数字添加j个乘号的最大值 +dp[i][j]=max( + dp[i][j], + dp[k][j-1] * num[k+1][i] +) + +num[i][i]=n[i]-'0' +num[i][j]=num[i][j-1]*10+(n[j]-'0') + +dp[i][j] = -1e9 +dp[i][0] = num[1][i] + +*/ + + +int main(){ + +}