随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

剩下 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]);
 }
 
复制代码

 

posted on   towboat  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示