uestc信息门户,uestc是什么意思

  uestc信息门户,uestc是什么意思

  【题目链接】 点击打开链接

  【题意】中文题目。

  【解题方法】 容易想到一个非常朴素的DP。dp[i][j]代表第我个儿子,身高为j的最低花费DP[I][j]=min(DP[I-1][k]ABS(j-k)* C(x[I]-j)*(x[I]-j));

  然后分为两种情况:

  1:第我个儿子的身高,比i-1高时DP[I][j]=min(DP[I-1][k]j * c-k * c X),(k=j) X等于(x[I]-j)*(x[I]-j);

  2:第我个儿子的身高,比i-1矮时,DP[I][j]=min(DP[I-1][k]-j * c k * c X),(k=j) X等于(x[I]-j)*(x[I]-j);

  对于第一种情况,我们让f[I-1][k]=DP[I-1][k]-k * c;g[I][j]=j * c x;

  【交流代码】

  //

  //由BLUEBUFF 2016年1月8日创建

  //版权所有(c) 2016年BLUEBUFF .版权所有

  //

  #杂注注释(链接器,/STACK:102400000,102400000 )

  #包含ext/Pb _ ds/assoc _容器. hpp

  #包含ext/pb_ds/tree_policy.hpp

  #包含ext/pb_ds/hash_policy.hpp

  #包含集

  #包含地图

  #包括队列

  #包括堆栈

  #包含数学函数

  #包括cstdio

  #包含时间。h

  #包含标准库函数

  #包括字符串

  # include sstream//是字符串流

  #包括输入输出流

  #包含算法

  使用命名空间标准

  //使用命名空间_ _ gnu _ pbds

  typedef long long LL

  数据类型说明对int,LL pp

  #定义REP1(i,a,b)for(int I=a;我我)

  #定义REP2(i,a,b)for(int I=a;我我)

  #定义REP3(i,a,b)for(int I=a;我我-)

  #定义CLR(a,b) memset(a,b,sizeof(a))

  #定义MP(x,y) make_pair(x,y)

  const int maxn=220

  const int maxm=2e5

  const int maxs=10

  const int maxp=1e3 10

  const int INF=1e9

  const int UNF=-1e 9;

  const int mod=1e 9 7;

  int gcd(int x,int y) {return y==0?x : gcd(y,x % y);}

  //typedef tree int,null_type,less int,rb_tree_tag,tree _ order _ statistics _ node _ update order _ set;

  //头

  int dp[2][110],n,x,c,q[110],head,tail,cur

  int main()

  {

  while(scanf(%d%d ,n,c)!=EOF)

  {

  head=tail=cur=0;

  CLR(q,0);

  scanf(%d ,x);

  REP2(i,0,100){

  if(I x)DP[cur][I]=INF;

  else DP[cur][I]=(x-I)*(x-I);

  }

  REP1(i,1,n){

  scanf(%d ,x);

  cur ^=1;

  头=尾=0;

  REP2(j,0,100){

  int nowf=DP[cur ^ 1][j]-j * c;

  while(head tail q[tail-1]nowf)tail-;

  q[tail]=nowf;

  if(j x)DP[cur][j]=INF;

  else DP[cur][j]=q[head]j * c(j-x)*(j-x);

  }

  头=尾=0;

  REP3(j,100,0){

  int nowf=dp[cur^1][j]j * c;

  while(head tail q[tail-1]nowf)tail-;

  q[tail]=nowf;

  if(j=x)DP[cur][j]=min(DP[cur][j],q[head]-j * c(j-x)*(j-x));

  else DP[cur][j]=INF;

  }

  }

  int ans=INF

  REP2(i,0,100){

  ans=min(ans,DP[cur][I]);

  }

  法院和法院

  }

  返回0;

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: