mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-09-04 01:01:43 +00:00
feat(P4342): 实现动态规划算法解决环形表达式问题
添加动态规划表初始化及输入处理逻辑 包括同步IO优化和环形操作符数组处理
This commit is contained in:
parent
2573240c73
commit
84eee83148
@ -24,8 +24,44 @@ dpmin[i][j] = 1e9
|
||||
dp[i][i]=arr[i]
|
||||
|
||||
*/
|
||||
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <istream>
|
||||
#include <vector>
|
||||
using ll = int64_t;
|
||||
|
||||
int main(){
|
||||
std::iostream::sync_with_stdio(false);
|
||||
std::cin.tie(nullptr);
|
||||
|
||||
ll n;
|
||||
std::cin>>n;
|
||||
const ll add=0,mul=1;
|
||||
const ll n21=2*n+1;
|
||||
std::vector<std::vector<ll>> op(n*2+1,std::vector<ll>(2));
|
||||
for(ll i=1;i<=n;i++){
|
||||
char c;
|
||||
std::cin>>c;
|
||||
if(c=='t'){
|
||||
op[i][0]=add;
|
||||
}else{
|
||||
op[i][0]=mul;
|
||||
}
|
||||
std::cin>>op[i][1];
|
||||
op[i+n]=op[i];
|
||||
}
|
||||
std::vector<std::vector<ll>> dpmax,dpmin;
|
||||
for(ll s=1;s<n;s++){
|
||||
ll e = s+n-1;
|
||||
dpmax.clear();
|
||||
dpmax.resize(n21,std::vector<ll>(n21,-1e9));
|
||||
dpmin.clear();
|
||||
dpmin.resize(n21,std::vector<ll>(n21,1e9));
|
||||
for(ll i=s;i<=e;i++){
|
||||
dpmax[i][i]=op[i][1];
|
||||
}
|
||||
for(ll i=s;i<=e;i++){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user