1705: [Usaco2007 Nov]Telephone Wire 架设电话线
来源:互联网 发布:python 文字水印 编辑:程序博客网 时间:2024/06/05 10:25
题目链接
我的收获:拆式子!
#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define INF 0x3f3f3f3fconst int M=100005,H=100;int n,c,P,Q;int a[M],f[M][105],C[105],D[105];void solve(){ memset(f,0x3f,sizeof(f)); for(int j=a[1];j<=H;j++) f[1][j]=(j-a[1])*(j-a[1]); for(int i=2;i<=n;i++){ C[0]=D[H+1]=INF; for(int j=1;j<=H;j++) C[j]=min(C[j-1],f[i-1][j]-j*c); for(int j=H;j>=1;j--) D[j]=min(D[j+1],f[i-1][j]+j*c); for(int j=a[i];j<=H;j++){ P=min(C[j]+j*c,D[j]-j*c); Q=(j-a[i])*(j-a[i]); f[i][j]=P+Q; } }}void work(){ solve(); int ans=INF; for(int i=a[n];i<=H;i++) ans=min(ans,f[n][i]); printf("%d\n",ans);}void init(){ cin>>n>>c; for(int i=1;i<=n;i++) scanf("%d",&a[i]);} int main(){ init(); work(); return 0;}
阅读全文
0 0
- 1705: [Usaco2007 Nov]Telephone Wire 架设电话线
- [BZOJ1705] [Usaco2007 Nov]Telephone Wire 架设电话线
- BZOJ1705 Telephone Wire 架设电话线
- [Usaco2007 Jan]Telephone Lines架设电话线
- 1614: [Usaco2007 Jan]Telephone Lines架设电话线
- [BZOJ1614][Usaco2007 Jan]Telephone Lines架设电话线
- BZOJ1614: [Usaco2007 Jan]Telephone Lines架设电话线
- [BZOJ1614][Usaco2007 Jan]Telephone Lines架设电话线
- bzoj1614【Usaco2007 Jan】Telephone Lines 架设电话线
- [Usaco2007 Jan]Telephone Lines架设电话线
- 1614: [Usaco2007 Jan]Telephone Lines架设电话线
- bzoj1614 [Usaco2007 Jan]Telephone Lines架设电话线
- BZOJ [Usaco2007 Jan]Telephone Lines架设电话线(POJ 3662)
- BZOJ 1614: [Usaco2007 Jan]Telephone Lines架设电话线
- SPFA+二分-BZOJ-1614-[Usaco2007 Jan]Telephone Lines架设电话线
- 【BZOJ 1614】: [Usaco2007 Jan]Telephone Lines架设电话线 spfa+二分
- [bzoj 1614][Usaco2007 Jan]Telephone Lines架设电话线
- (1614 [Usaco2007 Jan]Telephone Lines架设电话线)
- Docker Oracle Linux
- html之输入框嵌套小图标
- maven热部署
- 【Leetcode】【python】Combination Sum II
- sed在两行匹配之间插入一行
- 1705: [Usaco2007 Nov]Telephone Wire 架设电话线
- 省身
- e3mall Day08
- 深度学习要另起炉灶,彻底抛弃反向传播
- 加密工作原理
- 被忽略的Spring3小改进—支持多数据源的@Transactional事务注解
- 【BZOJ4247】挂饰
- CNN卷积方式汇总
- ios-Swift中设置全局外观