tyvj1097 mm不哭
背景
描述
tcboy也在这个数轴上,并恰好看到了这一幕,由于每个MM哭都会让tcboy损失一定的rp,于是tcboy有必要去安慰她们.(真命苦啊 T.T)
开始时,tcboy站在k号MM的旁边.
现在知道第i个MM哭泣每秒钟会使tcboy降低 w[i]的rp (单位rp/s).
而tcboy的行走速度很慢只有1m/s .
tcboy安慰MM的方式很特别(怎么安慰随便大家YY了..#@$%^%$#@),不需要花费时间.
请计算tcboy安慰完所有MM,会消耗掉的rp的最小值.
输入格式
第二行包含一个整数V,1<=V<=N,表示开始时tcboy站在几号MM的旁边.
接下来的N行中,每行包含两个用空格隔开的整数D和W,用来描述每个MM,其中0<=D<=1000,0<=W<=1000。D表示MM在数轴上的位置(单位: m),W表示每秒钟会使tcboy降低W的rp。
输出格式
测试样例1
输入
4
3
2 2
5 8
6 1
8 7
输出
56
备注
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
struct MM{
int d;
int w;
};
int n,v;
long long lf[][],rf[][],sumw[];
MM mm[];
bool cmp(MM a,MM b){
return a.d < b.d;
}
int main(){
cin>>n>>v;
for(int i = ;i <= n;i++){
scanf("%d%d",&mm[i].d,&mm[i].w);
}
sort(mm+,mm++n,cmp);
for(int i = ;i <= n;i++){
for(int j = ;j <= n;j++){
lf[i][j] = rf[i][j] = ;
}
}
for(int i = ;i <= n;i++) sumw[i] = sumw[i-] + mm[i].w;
lf[v][v] = rf[v][v] = ;
for(int l = ;l <= n - ;l++){
for(int i = max(v - l,);i <= v;i++){
int j = i + l;
if(j > n) continue;
lf[i][j] = min(lf[i+][j] + (mm[i+].d - mm[i].d) * (sumw[i] + sumw[n] - sumw[j]),rf[i+][j] + (mm[j].d - mm[i].d) * (sumw[i] + sumw[n] - sumw[j]));
rf[i][j] = min(rf[i][j-] + (mm[j].d - mm[j-].d) * (sumw[i-] + sumw[n] - sumw[j-]),lf[i][j-] + (mm[j].d - mm[i].d) *(sumw[i-] + sumw[n] - sumw[j-]));
}
}
cout<<(lf[][n] < rf[][n] ? lf[][n] : rf[][n]);
return ;
}
tyvj1097 mm不哭的更多相关文章
- MM 不哭 (tyvj 1097)
题目大意: 一条数轴上有 n 个 MM 在哭,需要tcboy去安慰,tcboy 一开始站在第k个MM身边,每个MM 哭都会减掉tcboy的RP. 确定安慰MM的顺序使得RP扣得最少.求 min(Rp_ ...
- 集训DP复习整理
DP复习 集训%你赛2:测绘(审题DP) 经过2000+个小时的努力终于把这道题做出来的蒟蒻通 分析: 这道题我一直没做出来的原因就是因为我太蒟了题面看不懂,题面读懂了,其实不是特别难. 题目翻译: ...
- [设计模式]解释器(Interpreter)之大胆向MM示爱吧
为方便读者,本文已添加至索引: 设计模式 学习笔记索引 写在前面 “我刚写了个小程序,需要你来参与下.”我把MM叫到我的电脑旁,“来把下面这条命令打进去,这是个练习打(Pian)符(ni)号(de)的 ...
- 用pyspider爬淘宝MM照片
#!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2016-12-09 15:24:54 # Project: taobaomm ...
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...
- Allegro之测量时显示两种单位(mil & mm)
首先确认你工程默认的单位是mil还是mm 例子为mils 在下面的选项中选择另外一项mm即可(如本身是mm,这里选择mils) 点击Apply,然后OK,操作测量功能,如下图所以效果:
- 帮公司人事MM做了个工资条拆分工具
引言 偶尔一次午饭时人事说加班加到8点多,纯手工复制粘贴Excel的内容,公司大概150多人吧,每次发工资时都需要这样手动处理,将一个Excel拆分成150多个Excel,再把里面的内容粘过去,如此循 ...
- 追MM的各种算法
原文:http://blog.sae.sina.com.cn/archives/3542#more-3542 看到一篇文章把算法描述的相当的好,先收藏了! 动态规划 基本上就是说:你追一个MM的时候, ...
- C# 把日期字符串转换为日期类型 (MM大写为月、小写为分钟)
string dtStr; DateTime dtTime; 尝试把时间字符串转为DateTime格式 if (DateTime.TryParse(dtStr, out dtTime)) { //st ...
随机推荐
- Sublime Text 技巧
让sublime text2支持中文 安装Sublime Package Control 在Sublime Text 2上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会 ...
- 【Windows编程】系列第四篇:使用Unicode编程
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习 ...
- [django]l利用xlrd实现xls文件导入数据
代码: #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.sett ...
- MVVM中数据验证之 ViewModel vs. Model
MMVM模式示意图. View绑定到ViewModel,然后执行一些命令在向它请求一个动作.而反过来 ...
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...
- 不同材质怎么通过ZBrush赋予同一个模型上
ZBrush 作为最专业的数字雕刻与绘画软件,能够制作出高质量的3D模型,包括模型的颜色贴图和材质属性.不同材质可以改变照明在表面上的反应,以便模型表现出光泽.凹凸.反射.金属性或透明效果.ZBrus ...
- 操作系统IO模型
操作系统IO模型 声明:如下内容是根据APUE和mycat两本著作中关于I/O模式的一些内容加上自己的一些理解整理而成,仅供学习使用. 本节内容 UNIX下可用的五种I/O模型 三种I/O模型 Rea ...
- iOS Photos.framework框架
链接: iOS8.0 使用Photos.framework对相册的常用操作 iOS AssetsLibrary和Photos的使用总结: 权限及相册的获取 iOS 开发之照片框架详解 iOS Asse ...
- asp.net页面关闭的时候如何触发事件?
<script type="text/javascript"> var pb_strConfirmCloseMessage; var pb_blnCloseWind ...
- 83 parrted-分区和分区大小的调整
parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小.作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型, ...