“玲珑杯”ACM比赛 Round #18 C -- 图论你先敲完模板【Dp】
Time Limit:5s Memory Limit:256MByte
Submissions:660Solved:160
今天HHHH在操场上跑步,HHHH作为一个爱运动的人,肯定会想方设法把跑步所消耗的能量减到最少.
现在这个操场上有nn个可以休息的点,他们的坐标分别为x1,x2...xn(xi≤xi+1)x1,x2...xn(xi≤xi+1),HHHH刚开始在 x1x1 ,并且他只能在这些点休息,在中途不能停下来,否则会因为旁边的音浪太强而被晃到.
如果HHHH连续跑一段长度为ll的距离,那么他将会消耗2l+a2l+a的能量(aa为HHHH的可爱值)
现在给你这些点的坐标,请帮HHHH计算他跑到xnxn点所需要消耗的能量最少是多少.
思路:
很简单的dp,设定dp【i】表示走到点i的最小花费,那么对应转移:
dp【i】=min(dp【i】,dp【j】+花费)【1<=j<=i】,直接跑肯定是要超时而且数据要爆long long int的,
观察到数据范围xi-xi-1<=30. 而且a<=1e6.
所以我们只要保证x【i】-x【j】<=40以内的都可以转移一下,既不会爆long long ,又稳妥。
否则就不用转移了,因为肯定不能通过更远的点来得到更优。
Ac代码:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long int
ll dp[150000];
ll x[150000];
ll poww[150];
void init()
{memset(poww,0,sizeof(poww));poww[1]=1;for(int i=2;i<=40;i++){poww[i]=poww[i-1]*2;}
}
int main()
{init();int t;scanf("%d",&t);while(t--){int n;ll a;scanf("%d%lld",&n,&a);for(int i=1;i<=n;i++)scanf("%lld",&x[i]);dp[1]=0;for(int i=2;i<=n;i++){dp[i]=1000000000000000000;ll Len=0;for(int j=i-1;j>=1;j--){Len+=x[j+1]-x[j];if(Len<=40){ll tmp=2;dp[i]=min(dp[i],dp[j]+poww[Len]*tmp+a);}else break;}}printf("%lld\n",dp[n]);}
}
“玲珑杯”ACM比赛 Round #18 C -- 图论你先敲完模板【Dp】相关推荐
- “玲珑杯”ACM比赛 Round #18 ABC题解
A -- 计算几何你瞎暴力 Time Limit:5s Memory Limit:256MByte Submissions:1597Solved:301 DESCRIPTION 今天HHHH考完了期末 ...
- 玲珑杯”ACM比赛 Round #8-D XJT Loves Boggle(dfs)
记录一个菜逼的成长.. DESCRIPTION Boggle is a word game designed by Allan Turoff and distributed by Hasbro. It ...
- “玲珑杯”ACM比赛 Round #21-C-战舰萝莉(线段树区间更新)
"玲珑杯"ACM比赛 Round #21 Start Time:2017-09-23 17:00:00 End Time:2017-09-23 19:30:00 Refresh T ...
- 玲珑杯”ACM比赛 Round #15 D 咸鱼商店【二分+01背包】
题目链接:http://www.ifrog.cc/acm/problem/1125 题目大意:中文题目,题意请仔细看题面. 解题思路:二分+01背包 01背包的最终结果与其中的顺序无关,我们要 ...
- lonlifeOJ1152 “玲珑杯”ACM比赛 Round #19 概率DP
E -- Expected value of the expression DESCRIPTION You are given an expression: A0O1A1O2A2⋯OnAnA0O1A1 ...
- “玲珑杯”ACM比赛 Round #22 E【贪心】
题目: http://www.ifrog.cc/acm/problem/1171?contest=1024&no=4 题意: 输入一个字符串,将他重新排列,使得重排之后的字符串的最小表示法,最 ...
- “玲珑杯”ACM比赛 Round #24: C. この戦いが終わったら(BFS+bitset优化暴力)
C -- この戦いが終わったら 给你一个无向图,每次查询的时候给一堆二元组(xi,yi) 求图中有多少个点u与至少一个这次询问给出的二元组(xi,yi)满足dist(u,xi)<=yi,dist ...
- “玲珑杯”ACM比赛 Round #19
A -- A simple math problem Time Limit:2s Memory Limit:128MByte Submissions:1599Solved:270 DESCRIPTIO ...
- “玲珑杯”ACM比赛 Round #4
运气不错有个抱枕. 1046 - chess play 题意: 一个n*m的数组,初始全部是'.',然后3种操作,把一个位置变成'w',或者把一个位置变成'r',或者交换两行. 思路: vector的 ...
最新文章
- 癌症治疗新曙光:AI助力科学家更好地观察人类活体细胞
- solr与mysql数据同步的方案
- 修复efi引导的win7
- mysql远程连接数据库的二种方法_mysql 远程连接数据库的二种方法
- JEPLUS学习心得之请假单功能的完成——JEPLUS软件快速开发平台
- Nginx:几种负载均衡调度策略配置
- linux下c语言按q退出_Linux C编程之一:Linux下C语言的开发环境
- 1.1-1.5-vim编辑器
- ios多线程 -- NSOperation 简介
- json qbytearray 串 转_JSON数据采集网关,json转Modbus RTU串IO口RS485转4~20mA边缘计算智能终端...
- diskfileitemfactory 需要的包_浅析电动汽车电池包低压线束设计及制造
- 《Go语言程序设计》 读书笔记 (八) 包
- 总结---JavaScript数组
- php框架 tp laravel,TP框架和Laravel框架的区别是什么
- 【HAVENT原创】Salesforce (JSforce) 调用示例
- 一文搞定java面试相近词的辨析
- 【数学】多元函数微分学(宇哥笔记)
- 新edge保持百度账号登录
- 2019辽宁公务员考试:申论突破80+学习计划第二步
- 【Unity3D开发小游戏】《青蛙过河》Unity开发教程
热门文章
- EduCoder-Web程序设计基础-html5— 创建文本区域-第1关:textarea控件相关概念
- TextureView/SurfaceView/GLSurfaceView/VideoView渲染视频(点播播放器)
- 基于28335实现的旋变软解码 1、在0-360°的范围内,与TI方案的偏差非常小,平均偏差最大为0.0009弧度左右
- 可调电阻封装图_嵌入式硬件电路杂谈(二)贴片电阻选用
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十三章 PS端DP的使用
- Ubuntu安装搜狗输入法以及入坑和填坑教程(多图!全!)
- 矩形脉冲信号合成_矩形脉冲信号的和成实验报告.doc
- TTL电平与RS232电平的区别
- 【工业互联网】工业互联网平台建设的四个基本问题
- 微信小程序开发常见问题FAQ之四