当前位置: 首页 > news >正文

At dp综合

感觉整体比较板,但还是挺有质量的)

A Frog 1(直接dp)
#include<bits/stdc++.h>
using namespace std;
int n,a[100005],f[100005];
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",a+i),f[i]=1e9;f[1]=0;f[0]=1e9;for(int i=2;i<=n;i++) f[i]=min(f[i-1]+abs(a[i-1]-a[i]),f[i-2]+abs(a[i]-a[i-2]));cout<<f[n];return 0;
}
B Frog 2(直接dp)

        数据范围完全可以直接nk做

#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005],f[100005];
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",a+i),f[i]=1e9;f[1]=0;for(int i=1;i<=n;i++)for(int j=1;j<=min(i-1,m);j++)f[i]=min(f[i],f[i-j]+abs(a[i]-a[i-j]));cout<<f[n];return 0;
}
C Vacation(直接dp)

        简单分类讨论一下即可

#include<bits/stdc++.h>
#define N 100005
using namespace std;
int n,a[N],b[N],c[N],f[N][4];
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d%d%d",a+i,b+i,c+i);for(int i=1;i<=n;i++)f[i][1]=max(f[i-1][2],f[i-1][3])+a[i],f[i][2]=max(f[i-1][1],f[i-1][3])+b[i],f[i][3]=max(f[i-1][1],f[i-1][2])+c[i];cout<<max(max(f[n][1],f[n][2]),f[n][3]);return 0;
}
D Knapsack 1(01背包)

        纯板子     f[i]=max(f[i],f[i-w]+v)

#include<bits/stdc++.h>
using namespace std;
long long n,W,w,u,ans,f[100005];
int main()
{scanf("%lld%lld",&n,&W);for(int i=1;i<=n;i++){scanf("%lld%lld",&w,&u);for(int j=W;j>=w;j--) f[j]=m

http://www.mrgr.cn/news/62273.html

相关文章:

  • linux——vi命令常用操作
  • 通用工具类与异常处理:Python实用指南
  • PingCAP TiDB数据库专员PCTA认证笔记
  • RCE 命令执行漏洞 过滤模式 基本的过滤问题 联合ctf题目进行实践
  • C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
  • 化妆造型门店小程序怎么做?你的造型魅力如何宣传?
  • 算法训练(leetcode)二刷第十三天 | 110. 平衡二叉树、*257. 二叉树的所有路径、404. 左叶子之和、*222. 完全二叉树的节点个数
  • #渗透测试#SRC漏洞挖掘# 信息收集-Shodan之网页版
  • 面试简历技巧分享
  • threejs开源实例-粒子地球
  • SSH免密钥登录
  • 分布式架构搭建博客网站
  • https加密过程详解
  • CountDownLatch与CyclicBarrier的比较应用
  • 头歌网络安全爬虫
  • Redis 发布订阅 总结
  • 图像篡改研究
  • 未来生活中的AI电脑是怎样的
  • 【Python单元测试】pytest框架单元测试常用用例
  • Go性能基础
  • 【股东权益与市值:概念、计算与差异分析】
  • 关于防止布局底部有弹簧而导致的QWidget闪烁问题
  • 12-Docker发布微服务
  • STM32的隐藏定时器---DWT
  • 为什么大模型都是Decoder-only结构?
  • Python入门——iter迭代器—__iter__()方法__next__()方法