LeetCode Weekly Contest 368
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
int calc(const string &s){
int N = s.size(), res = int_inf, k;
rep(k,1,N) if(N%k==0) res <?= sum[i,0,k]( PalindromeCost(Slice(s,i,N,k)) );
return res;
}
class Solution {
public:
int minimumChanges(string s, int k) {
int i, j, N = s.size();
static ll cost[201][201], dp[201];
rep(i,N) rep(j,i,N) cost[i][j] = calc(s.substr(i,j-i+1));
dp[0] = 0;
rep(i,1,N+1) dp[i] = ll_inf;
rep(k){
rrep(i,N+1){
dp[i] = ll_inf;
rep(j,i) dp[i] <?= dp[j] + cost[j][i-1];
}
}
return dp[N];
}
};
Current time: 2024年05月05日23時46分36秒
Last modified: 2023年11月03日19時49分24秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)