剩下 n天的假期,小明可以安排旅行的计划。
如果连续 xx 天旅游,小明需要花旅行费用 p*x*x 元;如果连续 x 天不旅游,小明吃饭,花费为 q*x
计算出他至少需要花费多少元。
需要斜率优化,这里先写下暴力,后面学了再补
#include<iostream> #include <algorithm> #include <cstring> using namespace std; const int N=1e3+10; int n,p,q,f[N][2]; signed main(){ int i,j,x; cin>>n>>p>>q; memset(f,127,sizeof f); f[0][0]=f[0][1]=0; for(i=1;i<=n;i++) for(j=0;j<i;j++) x=i-j,f[i][0]=min(f[i][0],f[j][1]+p*x*x), f[i][1]=min(f[i][1],f[j][0]+q*x); cout<<min(f[n][0],f[n][1]); }
标签:旅行,小明,int,P2134,include,百日 From: https://www.cnblogs.com/towboa/p/16878817.html