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

flash 做网站教程竞价托管运营哪家好

flash 做网站教程,竞价托管运营哪家好,wordpress 军事主题,月夜直播在线观看视频免费播放P1220 关路灯 ▍题意 一条笔直的道路上装有 n n n 盏路灯,每盏路灯的位置为 x i x_i xi​,功率为 w i w_i wi​。初始时,人物位于第 c c c 盏路灯处,且该路灯处于开启状态,其余路灯均关闭。每次可以向左或向右移动…

P1220 关路灯

▍题意
一条笔直的道路上装有 n n n 盏路灯,每盏路灯的位置为 x i x_i xi,功率为 w i w_i wi。初始时,人物位于第 c c c 盏路灯处,且该路灯处于开启状态,其余路灯均关闭。每次可以向左或向右移动一单位距离,耗时 1 1 1 秒;到达路灯处可立即关闭该灯(不耗时)。移动过程中,所有未关闭的路灯每秒消耗等于其功率的电力。求关闭所有路灯时,最小总电力消耗(仅计算移动过程中消耗的电力)。
数据范围: 1 ≤ n ≤ 50 1 \leq n \leq 50 1n50 1 ≤ c ≤ n 1 \leq c \leq n 1cn 0 ≤ x i ≤ 1000 0 \leq x_i \leq 1000 0xi1000(位置单调递增), 1 ≤ w i ≤ 100 1 \leq w_i \leq 100 1wi100

▍分析
动态规划求解。定义 d p [ l ] [ r ] [ 0 / 1 ] dp[l][r][0/1] dp[l][r][0/1] 表示已经关闭区间 [ l , r ] [l, r] [l,r] 内所有路灯后,停留在左端点 0 0 0)或右端点 1 1 1)时的最小电力消耗。

  • 状态转移:从小区间向大区间扩展:
    • d p [ l ] [ r ] [ 0 ] dp[l][r][0] dp[l][r][0] 有两种来源:
      • d p [ l + 1 ] [ r ] [ 0 ] dp[l+1][r][0] dp[l+1][r][0] 左移到 l l l:消耗时间 ( x l + 1 − x l ) × 剩余功率和 (x_{l+1} - x_l) \times \text{剩余功率和} (xl+1xl)×剩余功率和
      • d p [ l + 1 ] [ r ] [ 1 ] dp[l+1][r][1] dp[l+1][r][1] 左移到 l l l:消耗时间 ( x r − x l ) × 剩余功率和 (x_r - x_l) \times \text{剩余功率和} (xrxl)×剩余功率和
    • d p [ l ] [ r ] [ 1 ] dp[l][r][1] dp[l][r][1] 有两种来源:
      • d p [ l ] [ r − 1 ] [ 0 ] dp[l][r-1][0] dp[l][r1][0] 右移到 r r r:消耗时间 ( x r − x l ) × 剩余功率和 (x_r - x_l) \times \text{剩余功率和} (xrxl)×剩余功率和
      • d p [ l ] [ r − 1 ] [ 1 ] dp[l][r-1][1] dp[l][r1][1] 右移到 r r r:消耗时间 ( x r − x r − 1 ) × 剩余功率和 (x_r - x_{r-1}) \times \text{剩余功率和} (xrxr1)×剩余功率和
  • 关键优化
    • 预处理功率前缀和 s u m [ i ] = ∑ k = 1 i w k sum[i] = \sum_{k=1}^{i} w_k sum[i]=k=1iwk

    • 转移时,剩余功率和为分两种情况:

      • c o s t 1 = s u m [ n ] − ( s u m [ r ] − s u m [ l ] ) cost1=sum[n]-(sum[r]-sum[l]) cost1=sum[n](sum[r]sum[l])
      • c o s t 2 = s u m [ n ] − ( s u m [ r − 1 ] − s u m [ l − 1 ] ) cost2=sum[n]-(sum[r-1]-sum[l-1]) cost2=sum[n](sum[r1]sum[l1])

      分别表示关闭区间 [ l + 1 , r ] 、 [ l , r − 1 ] [l+1,r]、[l,r-1] [l+1,r][l,r1] 的消耗电力总和。

  • 初始化 d p [ c ] [ c ] [ 0 ] = d p [ c ] [ c ] [ 1 ] = 0 dp[c][c][0] = dp[c][c][1] = 0 dp[c][c][0]=dp[c][c][1]=0(起点无耗时)。
    时间复杂度: O ( n 2 ) O(n^2) O(n2)(区间DP枚举 l , r l, r l,r)。

▍参考代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
/*
动态规划状态表示:f[l][r][0/1]集合:len=r-l+1,(所有的)关闭区间长度为 len ,且停留在 l/r(0/1) 点的消耗电力方案。属性:Min 最小值状态计算:子集划分:- cost1=sum[n]-(sum[r]-sum[l]),cost2=sum[n]-(sum[r-1]-sum[l-1]),分别表示关闭区间[l+1,r]、[l,r-1]的消耗电力总和。- 分 2 大类,4 种情况进行转移类型 1:停留在 l 左端点的方案,取最小值Min( 1),2) )。1) f[l][r][0], [l,r]<-[(l+1),r], time=x[l+1]-x[l],总消耗功率:time*cost, f[l][r][0]=f[l+1][r][0] + time*cost;2) f[l][r][0], [l,r]<-[l+1,(r)], time=x[r]-x[l],总消耗功率:time*cost, f[l][r][0]=f[l+1][r][1] + time*cost;类型 2:停留在 r 右端点的方案,取最小值Min( 3),4) )。3) f[l][r][1], [(l),r-1]->[l,r], time=x[r]-x[l],总消耗功率:times*cost, f[l][r][1]=f[l][r-1][0] + times*cost;4) f[l][r][1], [l,r-1]->[l,r], time=x[r]-x[r-1],总消耗功率:times*cost, f[l][r][1]=f[l][r-1][1] + times*cost;最终答案:ans = min( f[1][n][0], f[1][n][1] ),关闭长度为 n 的区间,最终可能落位在左端点 1 或者右端点 n 的消耗方案。
*/
const int N = 55;
int n, c;
int x[N], f[N][N][2], sum[N], w[N];int main()
{ios::sync_with_stdio(false), cin.tie(nullptr);cin >> n >> c;for (int i = 1; i <= n; i++){cin >> x[i] >> w[i];sum[i] = sum[i - 1] + w[i];}/* dp求最小,初始化最大 */memset(f, 0x3f, sizeof f);/* 初始化:开始所在位置的消耗为 0 */f[c][c][0] = f[c][c][1] = 0;/* 枚举区间长度、起点、终点,分情况进行转移*/for (int len = 2; len <= n; len++){for (int l = 1; l + len - 1 <= n; l++){int r = l + len - 1;int cost1 = sum[n] - (sum[r] - sum[l]);                                                                                /* 区间[l+1,r]消耗的功率之和 */int cost2 = sum[n] - (sum[r - 1] - sum[l - 1]);                                                                        /* 区间[l,r-1]消耗的功率之和 */f[l][r][0] = min(f[l][r][0], min(f[l + 1][r][0] + cost1 * (x[l + 1] - x[l]), f[l + 1][r][1] + cost1 * (x[r] - x[l]))); /* 类型 1) */f[l][r][1] = min(f[l][r][1], min(f[l][r - 1][0] + cost2 * (x[r] - x[l]), f[l][r - 1][1] + cost2 * (x[r] - x[r - 1]))); /* 类型 2) */}}cout << min(f[1][n][0], f[1][n][1]) << "\n";return 0;
}
http://www.dtcms.com/wzjs/248374.html

相关文章:

  • 企业网站 实名认证合肥建站公司seo
  • 加盟网站建设案例欣赏怎么制作公司网站
  • 网站建设一条龙全包顶呱呱企业网站官网
  • 男男做受网站百度推广有哪些推广方式
  • 自己做的网站页面错误种子搜索
  • 网站建设哪家售后做的好win10优化大师官网
  • 网站建设分工说明最火的网络推广平台
  • 网站开发年终总结seo标题优化导师咨询
  • 冬奥会建设官方网站湛江seo网站管理
  • 网站建站解决方案百度搜索排行
  • 江西吉安建设监督网站微信软文推广怎么做
  • 网站对联广告html代码网站seo优化怎么做
  • 企业类网站模版百度投诉电话24小时
  • 柳城网站建设北京百度推广优化公司
  • linux 什么做网站好百度seo排名优化助手
  • wordpress 500 安装深圳seo优化排名推广
  • 今日猪价多少钱一斤广州seo优化推广
  • 网站做多少层级百度云盘下载
  • 客服外包网站合肥网站优化搜索
  • 如何用.net做网站seo排名公司
  • title:(网站建设)泰州网站建设优化
  • 个人网站一年多少钱市场营销策划方案模板
  • 志丹网站建设google seo是什么意思
  • 设计网站能否用素材来制作广告win10优化大师是官方的吗
  • 网站建设品牌好搜索引擎优化seo网站
  • 疫情最新数据消息第三波长沙seo网站
  • 做直播网站软件有哪些软件有哪些b站推广引流最佳方法
  • 一个人建设小型网站新东方在线网上课程
  • 西安做网站建设的公司西安外包网络推广
  • 单位网站建设情况总结重庆网站制作