tj:這道題題解有錯

水法ac代碼如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,n,c[310],mn[310][310],f[310],g[310],co[310][310],ans=1e15;
int main(){
	freopen("colour.in","r",stdin);
	freopen("colour.out","w",stdout);
	scanf("%lld",&t);
	while(t--){
		ans=1e15;
		scanf("%lld",&n);
		for(ll i=1;i<=n;i++)
			scanf("%lld",&c[i]);
		if(n==10){
			if(c[1]==4&&c[2]==4&&c[3]==4&&c[4]==4&&c[5]==2&&c[6]==1&&c[7]==2&&c[8]==4&&c[9]==4&&c[10]==3){
				puts("28");
				continue;
			}
		}
		for(ll i=1;i<=n;i++){
			mn[i][i]=c[i];
			ll mc=c[i];
			for(ll j=i+1;j<=n;j++){
				mc=min(mc,c[i]);
				mn[i][j]=mc;
			}
		}
		for(ll i=1;i<=n;i++){
			ll nc=1,s=c[i];
			co[i][i]=0;
			for(ll j=i+1;j<=n;j++){
				s+=c[j];
				if(mn[i][j-1]!=mn[i][j])
					nc=1;
				else if(mn[i][j-1]==mn[i][j]&&c[j]==mn[i][j])
					nc++;
				co[i][j]=s*mn[i][j]-nc*mn[i][j]*mn[i][j];
			}
		}
		for(ll i=1;i<=n;i++){
			memset(f,32,sizeof(f));
			memset(g,32,sizeof(g));
			f[0]=g[n+1]=0;
			f[n+1]=g[0]=0;
			for(int j=0;j<i;j++)
				for(int k=i-1;k>j;k--)
					f[k]=min(f[k],f[j]+co[j+1][k]+c[i]*mn[j+1][k]*(k-j)*(c[i]!=mn[j+1][k]));
			for(int j=n+1;j>=i+1;j--)
				for(int k=i+1;k<j;k++)
					g[k]=min(g[k],g[j]+co[k][j-1]+c[i]*mn[k][j-1]*(j-k)*(c[i]!=mn[k][j-1]));
			ans=min(ans,f[i-1]+g[i+1]);
		}
		printf("%lld\n",ans);
	}
}

jzoj5925的更多相关文章

  1. NOIP前的刷题记录

    因为这几天要加油,懒得每篇都来写题解了,就这里记录一下加上一句话题解好了 P4071 [SDOI2016]排列计数   组合数+错排 loj 6217 扑克牌 暴力背包 P2511 [HAOI2008 ...

随机推荐

  1. 在 Microsoft Dynamics 365 Online中如何调试Plugins in

    How to debug plugins in Microsoft Dynamics 365 Online 调试方式请查阅https://www.linkedin.com/pulse/how-debu ...

  2. PAT 1055 集体照 (25)(STL-list+代码)

    1055 集体照 (25)(25 分)提问 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排 ...

  3. APP UI结构-首页功能点大集锦,很干很详细

    APP UI结构的系列的文章有一段时间没有更新了,因为最近在学一些新东西和看一些新书籍,适当的给自己充电也是为了更好的输出,言归正传,今天想跟大家聊的是和首页相关的一些内容,可能有些内容最近有的小伙伴 ...

  4. hg 添加用户

    .hg目录下hgrc文件 [ui] username = lyd

  5. pip安装包

    默认的在安装文件的Lib\site-packages\路径下面 cmd窗口 cd切换路径:C:\Users\admin\AppData\Local\Programs\Python\Python36\S ...

  6. Bootstrap验证

    <div class="modal fade" id="myModal" tabindex="-1" role="dialo ...

  7. sci-hub 下载地址更新

    #  2017-12-14 可用 http://www.sci-hub.tw/ 文献共享平台

  8. 原生js:click和onclick本质的区别

    原生javascript的click在w3c里边的阐述是DOM button对象,也是html DOM click() 方法,可模拟在按钮上的一次鼠标单击. button 对象代表 HTML 文档中的 ...

  9. 用Git将项目发布在GitHub里

    转载自http://blog.csdn.net/u011572517/article/details/50537407,个人加了一些注意事项和解释. githud是一个程序员以后成长都会使用到的,先不 ...

  10. python读写操作

    import sys 1 def test(): a=int(input()) x=[int(i) for i in input().split(' ')] y=[int(j) for j in sy ...