首页 > 其他分享 >做题记录整理dp14 P5336 [THUSC2016]成绩单(2022/9/27)

做题记录整理dp14 P5336 [THUSC2016]成绩单(2022/9/27)

时间:2022-09-27 17:04:41浏览次数:71  
标签:27 P5336 THUSC2016 2022 成绩单 dp14

P5336 [THUSC2016]成绩单
这题难度标的虚高
首先一眼区间dp,然后写出递推方程
然后发现爆空间,再上离散化
然后就没了。。。
撑死也就是蓝题
不过学到了一个离散化技巧

#include<bits/stdc++.h>
#define for1(i,a,b) for(ll i = a;i<=b;i++)
#define ll long long
#define mp(a,b) make_pair(a,b)
using namespace std;
ll dp[65][65][65][65],ans[105][105],a[105],b[105],n,aa,bb;
int main(){
	memset(dp,0x3f,sizeof(dp));
	memset(ans,0x3f,sizeof(ans)); 
	
	scanf("%lld",&n);
	scanf("%lld%lld",&aa,&bb);
	
	for1(i,1,n) scanf("%lld",&a[i]),b[i]=a[i];
    sort(b+1,b+1+n);
	int m=unique(b+1,b+1+n)-b-1;
	for1(i,1,n) a[i]=lower_bound(b+1,b+1+m,a[i])-b;//离散化
	for1(i,1,n) dp[i][i][a[i]][a[i]]=0,ans[i][i]=aa;
	
	for1(len,1,n)
	{
		for(ll l=1;l+len-1<=n;l++)
		{
			int r=l+len-1;
			for1(x,1,m)	
				for1(y,x,m)
				{
					dp[l][r][min(x,a[r])][max(y,a[r])]=min(dp[l][r][min(x,a[r])][max(y,a[r])],dp[l][r-1][x][y]);//不取走 
					for1(k,l,r-1)
						dp[l][r][x][y]=min(dp[l][r][x][y],dp[l][k][x][y]+ans[k+1][r]);//把k+1到r取走 
				}
			for1(x,1,m)	
				for1(y,x,m)
					ans[l][r]=min(ans[l][r],dp[l][r][x][y]+aa+bb*(b[y]-b[x])*(b[y]-b[x]));
		}
	}
	printf("%lld",ans[1][n]);
	return 0;
}

标签:27,P5336,THUSC2016,2022,成绩单,dp14
From: https://www.cnblogs.com/yyx525jia/p/16735119.html

相关文章

  • 2022-09-27 IOS 打包后图标背景变黑 Android 则正常
    前言:uniapp项目打包app,app的logo背景是透明的,打包后iso的图标背景是黑色,而Android则为透明,符合需求,至于ios为什么是黑色的,百度了一看有以下情况:图标的纤细信息里面的一个......
  • JavaWeb--JavaScript--2022年9月27日
    第一节  简介  第二节  JavaScript引入方式1、内部脚本:将JS代码定义在HTML页面中<!DOCTYPEhtml><htmllang="en"><head>  <meta......
  • 2022-09-27 uniapp项目中iconfont阿里云图标不显示
    前言:uniapp项目中iconfont阿里云图标不显示,运行到浏览器能显示,打包到真机(Android)和模拟器(Android)上能显示,ios不能显示,打包h5不能显示(ios和android和浏览器不能显示)原......
  • 9.27比赛记录
    T1不会,再见。/fnT2题意有\(n\)个奶牛排成一列,每次队头的牛都会插到第倒数\(c_i\)个位置上,问有多少个牛无法到达第一位。思路是道很厉害的二分。可惜赛时没打出来......
  • CSS0027: div 倒角效果
    1,<divid="test"></div>#test{display:inline-block;width:100px;height:100px;background:linear-gradient(135d......
  • AtCoder ABC 270 题解(D-F)
    AtCoderABC270题解(D-F)D-Stones(博弈DP)题目:​ 现在有一堆石子,一个序列a表示每次可以从石头里拿走多少个石子。当无法再拿出石头的时候,游戏结束。两边都以最佳策略......
  • 2022-09-27
    replace_partition最大校验次数replacePartition.maxCheckCount=5sftpFileDetaildata.mysql.sftpFileDetailTable=onedata_saas.dw_sftp_file_detaillotStockingDetail......
  • JavaWeb--HTML & CSS--2022年9月27日
    第一节  HTML--w3school网站可学习1、快速入门A、总结HTML文件以.htm或者.html为扩展名HTML结构标签  ......
  • AtCoder Beginner Contest 270 G,Ex
    y1s1,G和Ex在推等比数列式子上是相似的。G前置知识:BSGS(其实就是根号讨论)首先我们展开这个递归式:\[X_{i}\equivA^{i}S+\sum_{j=0}^{i-1}A^jB\modP\]感觉第一项有......
  • SpringCloud重试retry 20220927
    SpringCloud重试retry是一个很赞的功能,能够有效的处理单点故障的问题。主要功能是当请求一个服务的某个实例时,譬如你的User服务启动了2个,它们都在eureka里注册了,那么正常情......