UVA10271,佳佳的筷子
来源:互联网 发布:网络运营经理岗位职责 编辑:程序博客网 时间:2024/05/17 03:59
传送门
首先把筷子长度排个序,可以证明配对的三根筷子中,一定最短的两根一定长度相邻(这就是红皮书上所谓的猜想吗?),然后乱搞一下就好了。
一开始数组小了,RE了一发。
#include<bits/stdc++.h>const int N=5010;typedef long long ll;const ll inf=1ll<<60;int T,n,k,i,j,s;ll f[N][N],a[N];inline void up(ll&a,ll b){ if(a>b)a=b;}int main(){ scanf("%d",&T); while(T--){ scanf("%d%d",&k,&n); k+=8; s=2*k; memset(f,0,sizeof f); for(i=0;i<=n;++i){ for(j=0;j<=n-s;++j)f[i][j]=inf; if(i)scanf("%lld",a+i); } std::sort(a+1,a+n+1); f[n][0]=0; for(i=n;i;--i) for(j=0;j<=n-s;++j) if(f[i][j]<inf){ if(j<n-s)up(f[i-1][j+1],f[i][j]); if(i>1 && j)up(f[i-2][j-1],f[i][j]+(a[i]-a[i-1])*(a[i]-a[i-1])); } printf("%lld\n",f[0][n-s-k]); } return 0;}
阅读全文
0 0
- UVA10271,佳佳的筷子
- uva10271
- uva10271
- !!!小明的筷子
- 筷子
- 筷子
- 筷子
- 筷子
- 筷子
- 筷子
- 小明的筷子java
- [vijos 1684]丢失的筷子
- uva10271 - Chopsticks
- UVA10271- Chopsticks
- uva10271(DP)
- UVA10271【Chopsticks】
- 用筷子的十二种忌讳
- 中国人使用筷子的十二大忌讳
- 亚马逊返利广告试验
- SpringBoot非官方教程 | 第二十篇: 处理表单提交
- SDIO驱动(16)使用DMA传输数据2
- shell脚本错误日记1
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- UVA10271,佳佳的筷子
- HDU-1874-畅通工程续(最短路,FLOYD)
- SpringBoot非官方教程 | 第二十三篇: 异步方法
- LightOJ
- 合并文件
- 最长连续递增子序列
- SpringBoot非官方教程 | 第二十四篇: springboot整合docker
- huffman树的应用——文件压缩
- 最快发表速度