、这题其实是一步分析错了,所以一直wa

首先要求方差,就是要求   Σ(ai-V平均)^2     当然还要除以m  (第一遍忘了除,第二遍除的是n、、)

平均数就是总和再除以m

这可能不能用小数 示完,所以就考虑拆成分数,这样算到最后一步分母是m^3(一个平方+数的个数)

因为要输出v*m^2所以直接分子/m就好了

然后转移是   f【i】【j】=min(f【i-1】【k】+(qsum【j】-qsum【k】-v平均)^2)

拆开就可以写出直线方程:

2*qsum【j】*qsum【k】*m*m+f【j】+2*qsum【j】*m*qsum【n】-m*m=f【k】+q【k】*q【k】*qsum【n】*qsum【n】+2*qsum【k】*m*qsum【n】;

然后在n*m的做就行了     设v1=qsum【n】 v2=m;    纯粹为了方便

要注意枚举的时候从上一层转移,所以移动l++用当前层(用现在的状态调整状态的选取)  r--要用上一层(加入一个选择,并维护状态的凸包形态)

另外枚举的时候尽量避免枚举k,而加减却要用k-1的情况(自找麻烦,而且容易遗漏)

对于有一天没走路的情况,可以通过递推避免,如果f【1】【0】==inf   拿后来的f【2】【1】也将由f【1】【0】转移来,==inf   所以细节需要处理,保证每一天都走

码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long n,m,a[3005],qsum[3005],v1,v2,f[3005][3005],l,r,q[3005];
double xl(int ceng,long long a,long long b)
{return (double(f[ceng][b]-f[ceng][a]+qsum[b]*qsum[b]*v2*v2-qsum[a]*qsum[a]*v2*v2+2*(qsum[b]-qsum[a])*v1*v2)/double(qsum[b]-qsum[a]));
}int main()
{memset(f,0x6f,sizeof(f));
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]),v1+=a[i],qsum[i]=qsum[i-1]+a[i];
v2=m;
f[0][0]=0;
for(int i=1;i<=n;i++)
f[1][i]=(qsum[i]*v2-v1)*(qsum[i]*v2-v1);
for(int i=2;i<=m;i++)
{   l=1;r=1;q[1]=0;for(int j=1;j<=n;j++){     while(l<r&&(xl(i-1,q[l],q[l+1])<=(2*qsum[j]*v2*v2)))l++;int k=q[l];f[i][j]=f[i-1][k]+(qsum[j]*v2-qsum[k]*v2-v1)*(qsum[j]*v2-qsum[k]*v2-v1);        while(l<r&&(xl(i-1,q[r-1],q[r])>xl(i-1,q[r],j)))r--;  q[++r]=j;}
}printf("%lld",f[m][n]/m);
} 

2017.7.31 征途 失败总结相关推荐

  1. 《麻省理工科技评论》:2018年18大科技趋势,2017年7大失败技术

    来源:科技周 摘要:2018 年伊始,许多科技大势仍在继续,正如比尔·盖茨所说,"大多数人高估了某种技术的短期价值,低估了其长期价值."同样,大多数的年度预测会高估了一年内一些事件 ...

  2. 读论文,衣物检索:Clothing Retrieval with Visual Attention Model(2017.10.31)

    Clothing Retrieval with Visual Attention Model(2017.10.31) 创新点 VAM不需要强监督训练信息的landmark: 提出了Impdrop方法, ...

  3. 找不到mfc140u.dll或者Microsoft Visual C++ 2017 Redistributable一直安装失败解决

    找不到mfc140u.dll 安装后提示这个问题,我将xshell卸载重新安装后发现安装过程中提示Microsoft Visual C++ 2017 Redistributable一直安装失败,所以问 ...

  4. 2017.3.31 棋盘制作 失败总结

    其实这种在平面里找子矩形有固定的套路: 找出往左延伸的     再上下找.. 但是还是跪了 毕竟弱.. 码: #include<iostream> #include<cstdio&g ...

  5. 第四天2017/03/31(下午1:结构体、数组)

    //备用知识:没有内存,哪有指针? int main() {//错误程序char *name; //此处只定义了指针name(指针占4个字节),并没有给name分配内存//name = (char*) ...

  6. 2017.3.6 种树 失败总结

    一看这题--难道不是 n^2 dp?   怎么可能不是n^2dp? n=200000 怎么搞... 总之要想尽一切方法搞出来.. 想到了网络流,但这个m是至多而不是定值. 想到了最短路,但没法确定m ...

  7. 2017.10.31笔记

    10.31笔记 1.js数据类型: ①基本数据类型:第一个:number 数字类型 NAN 非数类型 第二个:string 字符串,两个引号之间的内容 第三个:boolean 布尔值( true fa ...

  8. 征途linux编译错误,linux下装征途失败问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 080712-19:13:50 SS[20] ERROR: Unknown column 'CALLTIMES' in 'field list' 0807 ...

  9. 第四天2017/03/31(下午2:结构体、数组)

    [作业]二级指针做输出(在被调函数中分配空间,主调函数中使用) //实现的目标:把两个字符数组作为输入,排好序保存到另外一个字符数组中. #include<iostream> using ...

最新文章

  1. 类成员初始化顺序php,PHP-php类成员变量初始化的问题?
  2. 【Java算法】一天24小时中,时针和分针一共重合多少次?
  3. 图书管理系统活动图和时序图
  4. WinForm读取指定的config文件的内容
  5. textmetric结构
  6. 单点登陆的三种实现方式
  7. LeetCode 898. 子数组按位或操作(前缀和思想)
  8. 帝豪gl车机系统降级_美好的陪伴、舒心的用车,帝豪GL,32000公里用车有感
  9. PCM格式音频数据的读取
  10. matlab设计匹配滤波器,[转载]利用MATLAB实现匹配滤波器的仿真验证
  11. 搜狗新闻语料库,构建Word2Vec中文词向量
  12. 计算机视觉论文-2021-03-31
  13. 美团2021校招笔试-编程题题解
  14. 由浅入深讲二叉树4种遍历算法的由来
  15. Windows 10无法打开设置
  16. Lumen 邮箱推送
  17. 利用SPI驱动12864液晶
  18. stm32H70之使用片内的2Mflash
  19. abb机器人过载报错_ABB机器人常见报警代码与解决方案
  20. BCS2022|齐向东:“零事故”将成为网络安全建设新目标

热门文章

  1. HBase数据模型和读写原理
  2. 红橙Darren视频笔记 AOP简介
  3. Android笔记 隐式意图vs显示意图+隐式意图打开短信应用demo
  4. 脉冲神经网络的开发公司AI-CTX
  5. Win10下安装LabelImg以及使用(绝对是全网最简单的教程)
  6. ant java 外部jar包_java – 在使用Ant的新jar文件构建中包括外部jar文件
  7. CI/CD是什么?如何理解持续集成、持续交付和持续部署
  8. rz/sz命令参数解释
  9. 如何在Xubuntu 15.04中安装最新版Eclipse luna
  10. day22 java的枚举