sdut2169:Sequence(dp)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2169
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
ll n,m;
ll sum;
ll w[],num[],dp[];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
sum=;
scanf("%lld%lld",&n,&m);
memset(num,,sizeof(num));
for(int i=;i<=n;i++)
{
scanf("%d",&w[i]);
num[i]=num[i-]+w[i];
dp[i]=num[i]*num[i];
sum+=w[i];
}
if(m==)
{
sum=sum*sum;
printf("%lld\n",sum);
continue;
}
bool F=false;
for(int j=;j<=m;j++)
{
for(int i=n-m+j;i>=j;i--)
{
for(int k=j-;k<i;k++)
{
dp[i]=min(dp[i],(dp[k]+(num[i]-num[k])*(num[i]-num[k])));
if(j==m&&k==i-)
{
F=true;
break;
}
}
if(F) break;
}
}
printf("%lld\n",dp[n]);
}
return ;
}
sdut2169:Sequence(dp)的更多相关文章
- [poj3017] Cut the Sequence (DP + 单调队列优化 + 平衡树优化)
		DP + 单调队列优化 + 平衡树 好题 Description Given an integer sequence { an } of length N, you are to cut the se ... 
- Codeforces Round #277 (Div. 2) E. LIS of Sequence DP
		E. LIS of Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/486/pr ... 
- hdu6078 Wavel Sequence dp+二维树状数组
		//#pragma comment(linker, "/STACK:102400000,102400000") /** 题目:hdu6078 Wavel Sequence 链接:h ... 
- poj-2478 Farey Sequence(dp,欧拉函数)
		题目链接: Farey Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14230 Accepted: ... 
- POJ 1141 Brackets Sequence(DP)
		题目链接 很早 很早之前就看过的一题,今天终于A了.状态转移,还算好想,输出路径有些麻烦,搞了一个标记数组的,感觉不大对,一直wa,看到别人有写直接输出的..二了,直接输出就过了.. #include ... 
- Codeforces 13C Sequence --DP+离散化
		题意:给出一个 n (1 <= n <= 5000)个数的序列 .每个操作可以把 n 个数中的某一个加1 或 减 1.问使这个序列变成非递减的操作数最少是多少 解法:定义dp[i][j]为 ... 
- poj1141Brackets Sequence(dp+路径)
		链接 dp好想 根据它定义的 记忆化下就行 路径再dfs一遍 刚开始以为要判空格 所以加了判空格的代码 后来知道不用 .. #include <iostream> #include< ... 
- POJ-3017 Cut the Sequence DP+单调队列+堆
		题目链接:http://poj.org/problem?id=3017 这题的DP方程是容易想到的,f[i]=Min{ f[j]+Max(num[j+1],num[j+2],......,num[i] ... 
- Codeforces 5C Longest Regular Bracket Sequence(DP+括号匹配)
		题目链接:http://codeforces.com/problemset/problem/5/C 题目大意:给出一串字符串只有'('和')',求出符合括号匹配规则的最大字串长度及该长度的字串出现的次 ... 
随机推荐
- QDialog, QFileDialog 和 QDesktopServices 的使用方法
			Qt中的QDialog类是用来生成对话框的类,QFileDialog 类是QDialog的衍生类,主要用来生成打开文件,或是打开文件目录的对话框,或者是保存文件的对话框,下面我们一一来看代码: 1. ... 
- openstack是什么
			下面图片多来自互联网. 云计算: 云计算层次机构模型: IaaS 基础设施服务 PaaS 平台级服务 SaaS 软件级服务 官网:http://www.openstack.org/ openstack ... 
- 找1到n所有整数出现1的个数
			编程之美2.4 n=12时,1,11,12这3个数包含1,所以1的个数是5. Line 9是为了防止factor溢出. #include <iostream> #include <s ... 
- js获取时间(本周、本季度、本月..)
			/** * 获取本周.本季度.本月.上月的开端日期.停止日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今天 ... 
- [ZZ] GTX 280 GPU architecture
			http://anandtech.com/show/2549 Now that NVIDIA’s has announced its newest GPU architecture (the GeFo ... 
- PHP 设计模式 笔记与总结(11)观察者模式
			[观察者模式(Observer)]当一个对象状态发生改变时,依赖它的对象全部会收到通知,并自动更新 [场景]一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻辑. ... 
- wordpress 自定义面板显示不了挂件区问题
			刚才在写一个wordpress主题,遇到一个问题.注册好的挂件区在控制面板(dashboard)上显示,在自定义面板上却不显示. 查询了下,发现几个老外朋友也遇到了这个问题: http://wordp ... 
- Java中方法的覆写
			所谓方法的覆写override就是子类定义了与父类中同名的方法,但是在方法覆写时必须考虑权限,即被子类覆写的方法不能拥有比父类方法更加严格的访问权限. 修饰符分别为public.protected.d ... 
- Java中调用c/c++语言出现Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误
			错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/S ... 
- ie6 css sprites重复加载问题
			_html{zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("Backgr ... 
