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

网站建设科技公司外部环境分析/全媒体运营师培训机构

网站建设科技公司外部环境分析,全媒体运营师培训机构,wordpress 评论框美化,wordpress能上传软件吗一万年没写DP了 这么简单的DP我居然没写出来 F - Erase Subarrays (atcoder.jp) 题意: 思路: 原本的思路是这样的: 看到3000的数据范围就是n^2的DP了 看到删子串,那么留下来的就是子序列,要使得剩下来的子序列的…

一万年没写DP了

这么简单的DP我居然没写出来

F - Erase Subarrays (atcoder.jp)

题意:

 思路:

原本的思路是这样的:

看到3000的数据范围就是n^2的DP了

看到删子串,那么留下来的就是子序列,要使得剩下来的子序列的和为x,那么就按这个子序列来DP

设dp[i][j]为前i个数,以ai为结尾的子序列,和为j的最少段数

然后转移就是枚举ai前面那个元素的位置,然后这是n^3的,所以也要用pre[i][j]数组记录前i个和为j的dp[i][j]

这样是错的,因为我不会转移QwQ

事实上,我们直接按题意状态设计就行

设dp[i][j]为前i个数,保留的和为j的最少操作次数

然后按照是否保留ai分类讨论

如果保留,就由dp[i-1][j-a[i]]转移过来

如果删掉,就去枚举删除的最后一段的长度

然后用pre[i][j]维护前i个数,保留的和为j的最小dp[i][j]

具体看代码:

#include <bits/stdc++.h>//#define int long longusing namespace std;const int mxn=3e3+10;int N,M;
int a[mxn],dp[mxn][mxn];//前i个数,保留和为j的最少操作次数 
int pre[mxn][mxn];signed main(){cin>>N>>M;for(int i=1;i<=N;i++) cin>>a[i];memset(dp,0x3f,sizeof(dp));memset(pre,0x3f,sizeof(pre));dp[0][0]=0;pre[0][0]=0;for(int i=1;i<=N;i++){for(int j=0;j<=M;j++){if(j>=a[i]) dp[i][j]=min(dp[i][j],dp[i-1][j-a[i]]);dp[i][j]=min(dp[i][j],pre[i-1][j]+1);pre[i][j]=min(pre[i-1][j],dp[i][j]);}}for(int i=1;i<=M;i++){if(dp[N][i]==0x3f3f3f3f) cout<<-1<<'\n';else cout<<dp[N][i]<<'\n';}
}

http://www.jmfq.cn/news/5305195.html

相关文章:

  • 网站 宣传册/债务优化是什么意思
  • 衢州网站推广/推广渠道有哪些方式
  • 中粮网站是哪个公司做的/网络营销带来的效果
  • 杭州网站推广宣传/网店推广方案范文
  • 网页版微信登录提示二维码已失效/seo优化技术培训
  • 交互网站模板/培训机构网站
  • 人工客服咨询/优化服务内容
  • 长春做网站哪个公司好/完整企业网站模板
  • 网站开发中的视图页面指的是什么/厦门seo排名
  • 怎么做网站代购/疫情放开最新消息今天
  • 重庆市做网站的公司/网络营销策划的基本原则
  • 软件测试培训骗局/中国seo公司
  • 电商网站搜索引擎怎么做/揭阳seo推广公司
  • 线条类网站/seo公司运营
  • 小清新wordpress主题/南宁seo公司
  • 云服务器是否可以做多个网站/营销软件哪个好
  • 网络营销论文4000字/广东seo快速排名
  • 临汾网站建设 吕梁网站建设/免费域名注册
  • 特效素材免费网站/软件关键词排名
  • 做网站设计的长宽一般是多少/看网站搜索什么关键词
  • 济南网站建设公司哪家专业/百度关键词排名神器
  • 关于制作网站收费标准/百度资源分享网
  • 网站红色模板/郑州网络推广代理
  • 淘宝客做网站需要那些条件/安卓优化大师下载安装
  • 花都建网站公司/方法seo
  • 怎么申请微信小程序开店铺/seo实战培训中心
  • 单位网站制作费用报价单/百度推广开户2400
  • 分布式网站架构/网站排名优化快速
  • 深圳企业官网网站建设哪家好/北京网站优化平台
  • 做视频网站资源采集/关键词排名批量查询