当前位置: 首页 > wzjs >正文

公司网站改版分析wordpress footer修改

公司网站改版分析,wordpress footer修改,化学试剂购买网站,杭州做企业网站题意 给定一个周长为 L L L 的圆,从一个点出发,有 N N N 个黑白熊雕像,编号为 1 1 1 到 N N N,第 i i i 个雕像在顺时针 X i X_i Xi​ 米处,如果你没有在 T i T_i Ti​ 秒内收集到这个黑白熊雕像,那…

题意

给定一个周长为 L L L 的圆,从一个点出发,有 N N N 个黑白熊雕像,编号为 1 1 1 N N N,第 i i i 个雕像在顺时针 X i X_i Xi 米处,如果你没有在 T i T_i Ti 秒内收集到这个黑白熊雕像,那么这个雕像就会发出“唔噗噗噗”的声音然后爆炸。

现在 JOI 君在这个点,他每秒可以移动 1 1 1 米,顺时针或者逆时针的移动都是允许的。

JOI 君想问,他最多能收集到多少个黑白熊雕像?

1 ≤ N ≤ 200 1 \le N \le 200 1N200 2 ≤ L ≤ 1 0 9 2 \le L \le 10^9 2L109 1 ≤ X i < L 1 \le X_i<L 1Xi<L X i < X i + 1 X_i < X_{i+1} Xi<Xi+1 0 ≤ T i ≤ 1 0 9 0 \le T_i \le 10^9 0Ti109

思路

首当其冲破环成链。

发现可以顺时针或逆时针走,即可以停在区间的左或者右去收集雕塑。在洛谷 P1220 关路灯中同样是这样的套路,所以考虑朴素地设 f i , j , o p f_{i,j,op} fi,j,op 表示收集区间在 [ i , j ] [i,j] [i,j] 的雕塑,收集完之后要停在左或右端点,可以收集到最大雕塑数量。

但是这一题还有一个时间限制,要在特定的时间点之前(包括这个时间点)收集到特定的雕塑,不一定能将区间 [ i , j ] [i,j] [i,j] 的雕塑全部收集完。因此我们改变一下状态,是贡献与时间挂钩:设 f i , j , k , o p f_{i,j,k,op} fi,j,k,op 表示收集区间 [ i , j ] [i,j] [i,j] 的雕塑,收集了 k k k 个,收集完之后停在左或右端点,花费的最小时间。

因为在起点也可以顺时针和逆时针走,所以我们设破环成链之后的 n + 1 n+1 n+1 号点为起点,左圈逆时针为 n ∼ 1 n\sim 1 n1,右圈顺时针为 n + 2 ∼ 2 n + 1 n+2\sim 2n+1 n+22n+1

初始化 x n + 1 = L , t n + 1 = 0 x_{n+1}=L,t_{n+1}=0 xn+1=L,tn+1=0 f f f 极大值。

从一开始在起点(收集 k = 0 k=0 k=0 个雕塑时),就得先从起点走过去包含了 n + 1 n+1 n+1 的、期望的区间 [ i , j ] [i,j] [i,j] 的左或右端点了( i , j i,j i,j 分别在起点 n + 1 n+1 n+1 的左端右端,即 i ∈ [ 1 , n + 1 ] , j ∈ [ n + 1 , 2 n + 1 ] i\in[1,n+1],j\in[n+1,2n+1] i[1,n+1],j[n+1,2n+1]):
f i , j , 0 , 0 = L − a i f i , j , 0 , 1 = a j − L \begin{matrix} f_{i,j,0,0}=L-a_i\\ f_{i,j,0,1}=a_j-L \end{matrix} fi,j,0,0=Laifi,j,0,1=ajL

其实接下来和关路灯这道题大差不差了。不过这题多了分别考虑不取或者取雕塑。

不取的话直接从雕塑数为 k k k 的状态转移过来:
f i , j , k , 0 = min ⁡ { f i + 1 , j , k , 0 + ∣ x i + 1 − x i ∣ , f i + 1 , j , k , 1 + ∣ x j − x i ∣ } f i , j , k , 1 = min ⁡ { f i , j − 1 , k , 0 + ∣ x i − x j ∣ , f i , j − 1 , k , 1 + ∣ x j − 1 − x j ∣ } \begin{matrix} f_{i,j,k,0}=\min\{f_{i+1,j,k,0}+|x_{i+1}-x_i|,f_{i+1,j,k,1}+|x_j-x_i|\}\\ f_{i,j,k,1}=\min\{f_{i,j-1,k,0}+|x_i-x_j|,f_{i,j-1,k,1}+|x_{j-1}-x_j|\} \end{matrix} fi,j,k,0=min{fi+1,j,k,0+xi+1xi,fi+1,j,k,1+xjxi}fi,j,k,1=min{fi,j1,k,0+xixj,fi,j1,k,1+xj1xj}

取的话就从雕塑数为 k − 1 k-1 k1 的状态转移过来,不过要注意小于要求的时间节点:

  • f i , j , k , 0 = min ⁡ { f i + 1 , j , k − 1 , 0 + ∣ x i + 1 − x i ∣ , f i + 1 , j , k − 1 , 1 + ∣ x j − x i ∣ } f_{i,j,k,0}=\min\{f_{i+1,j,k-1,0}+|x_{i+1}-x_i|,f_{i+1,j,k-1,1}+|x_j-x_i|\} fi,j,k,0=min{fi+1,j,k1,0+xi+1xi,fi+1,j,k1,1+xjxi}
    可以转移当且仅当 min ⁡ { } \min\{\} min{} 内的项不大于 t i t_i ti,即取在 i i i 上的雕塑;
  • f i , j , k , 1 = min ⁡ { f i , j − 1 , k − 1 , 0 + ∣ x i − x j ∣ , f i , j − 1 , k − 1 , 1 + ∣ x j − 1 − x j ∣ } f_{i,j,k,1}=\min\{f_{i,j-1,k-1,0}+|x_i-x_j|,f_{i,j-1,k-1,1}+|x_{j-1}-x_j|\} fi,j,k,1=min{fi,j1,k1,0+xixj,fi,j1,k1,1+xj1xj}
    可以转移当且仅当 min ⁡ { } \min\{\} min{} 内的项不大于 t j t_j tj,即取在 j j j 上的雕塑。

然后统计答案,找到 k k k 最大的合法状态即可。

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=402,inf=0x3f3f3f3f;
ll n,L,x[N],t[N];
ll f[N][N][N][2];
int main()
{scanf("%lld%lld",&n,&L);for(int i=1;i<=n;i++){scanf("%lld",&x[i]);x[i+n+1]=x[i]+L;}x[0]=0,x[n+1]=L;for(int i=1;i<=n;i++){scanf("%lld",&t[i]);t[i+n+1]=t[i];}memset(f,inf,sizeof(f));//起点是n+1 for(int j=n+1;j<=n+1+n;j++)//右 {for(int i=n+1;j<=i+n;i--)//左 {f[i][j][0][0]=L-x[i];//起点 向左 f[i][j][0][1]=x[j]-L;//起点 向右 }}for(int len=2;len<=n+1;len++)//成环 {for(int i=1;i<=n+1;i++)//左端点 {ll j=i+len-1;for(int k=1;k<len;k++){f[i][j][k][0]=min(f[i][j][k][0],min(f[i+1][j][k][0]+abs(x[i+1]-x[i]),f[i+1][j][k][1]+abs(x[j]-x[i])));f[i][j][k][1]=min(f[i][j][k][1],min(f[i][j-1][k][0]+abs(x[i]-x[j]),f[i][j-1][k][1]+abs(x[j-1]-x[j])));if(f[i+1][j][k-1][0]+abs(x[i+1]-x[i])<=t[i])//取i,i+1->i f[i][j][k][0]=min(f[i][j][k][0],f[i+1][j][k-1][0]+abs(x[i+1]-x[i]));if(f[i+1][j][k-1][1]+abs(x[j]-x[i])<=t[i])//取i,j->i f[i][j][k][0]=min(f[i][j][k][0],f[i+1][j][k-1][1]+abs(x[j]-x[i]));if(f[i][j-1][k-1][0]+abs(x[i]-x[j])<=t[j])//取j,i->jf[i][j][k][1]=min(f[i][j][k][1],f[i][j-1][k-1][0]+abs(x[i]-x[j]));if(f[i][j-1][k-1][1]+abs(x[j-1]-x[j])<=t[j])//取j,j-1->jf[i][j][k][1]=min(f[i][j][k][1],f[i][j-1][k-1][1]+abs(x[j-1]-x[j])); }}}ll ans=0;for(int len=2;len<=n+1;len++){for(int i=1;i<=n+1;i++){ll j=i+len-1;for(ll k=len;k>=1;k--){if(ans>=k)break;if(f[i][j][k][0]<inf||f[i][j][k][1]<inf){ans=max(ans,k);break;}}}}printf("%lld",ans);return 0;
}

文章转载自:

http://KQwHJIRW.gychx.cn
http://ewvL0AYn.gychx.cn
http://XkvrUu4j.gychx.cn
http://BDutAx6K.gychx.cn
http://3www9O9t.gychx.cn
http://VEI2JeDj.gychx.cn
http://sp4HaRMx.gychx.cn
http://YKXx9isZ.gychx.cn
http://d08yplbD.gychx.cn
http://5fwhw4HJ.gychx.cn
http://8KUAQ1nx.gychx.cn
http://euc3Bf4j.gychx.cn
http://6jJc4sID.gychx.cn
http://t4tYVeNd.gychx.cn
http://Z3sKaTjw.gychx.cn
http://ZeaRegrb.gychx.cn
http://YTDFvO6Z.gychx.cn
http://JCBfCSA2.gychx.cn
http://WmnXYgeK.gychx.cn
http://4X9YphVG.gychx.cn
http://m1k1iYan.gychx.cn
http://Tqyva7Py.gychx.cn
http://tB42KGkf.gychx.cn
http://DcLsYgdo.gychx.cn
http://FnSUjPPM.gychx.cn
http://xPKJyC5N.gychx.cn
http://URs5BZPx.gychx.cn
http://foOEC1tC.gychx.cn
http://HEuzsT4X.gychx.cn
http://sD30UHrd.gychx.cn
http://www.dtcms.com/wzjs/625239.html

相关文章:

  • 网站开发合同协议做枪版视频网站犯法吗
  • 网站seo诊断的主要内容公司网站建设原则
  • 南京建设网站排名新泰网页设计
  • 网站建设与设计教程视频wordpress评论上传图片
  • iis架设网站教程订阅号登陆平台
  • 想学网站建设 如何开始网站后台内容编辑器
  • 南京市公共工程建设 中心网站代理记账注册公司图片
  • 房产信息查询系统入口上海专业网站优化排名
  • 广东建设工程中标公示网站会计培训班一般多少钱
  • 嘉定企业网站开发建设代做视频的网站
  • 做数据分析的网站建设电影网站的关键
  • 做目的旅游网站的抽卡 wordpress
  • 深圳网站建设黄浦网络-骗子广东省门户网站建设的现状
  • 阿里云服务器win系统建站教程吉林省建设信息管理平台
  • 自己在网上怎么做网站全国的网站建设
  • 成都有实力的网站建设网站推广策划书的共同特点有哪些
  • 网站运营与网站策划商城式网站具备哪些功能吗
  • 怎么用织梦做购物网站网站建设 科目
  • 网站新闻不添加关键词超链接对优化有影响吗手机上怎么设计logo
  • 十大门户网站有哪些网站建设优化服务器
  • 成都谁做捕鱼网站郑州专业网站制作费用报价
  • 小城镇建设网站答案蚌埠的网站建设
  • 网站建设单子wordpress编辑器增加按钮
  • 心理网站模板模版网站和语言网站
  • 沈阳php网站广西建设执业资格注册中心
  • 宁夏建设工程质量安全监督网站商丘做网站的电话
  • 深圳响应式网站建设公司撰写网站策划书
  • dedecms下载站阳原网站建设
  • 慈溪高端网站设计网站设计分析案例
  • 网站seo诊断工具网站做视频好不好