题意:

      打印东西,给你区间和每个区间的价格,然后输入任务张数,输出最少花费..

  

题解:

      昨晚的小测试就有这个题目,当时蒙B了,怎么也读不懂题目,一直纠结怎么把150拆成100 + 50,有的同学还说是什么dp什么的,吓的我尿了,难题? 后来回去想了下,dp毛线,就是个水题,题目中有一个条件很关键,就是范围越来越大,单价越来越低,所以直接开一个数组,min[a]记录打印a张的最少钱,a是范围的每一个边界点,min[a] = minn(fw[i] * dj[i] ,min[a+1]);
fw 范围 dj 单价;因为越往后范围越大,现在的肯定可以用后面的买,当每一次询问的时候直接用二分找到他在那个范围,如果是最后一个范围直接输出 fw[n] * dj[n],否则输出minn(fw[i] * dj[i] ,min[i+1]) ,哎 ! 水题水不过啊,感觉水题都tm不会做了,这方面必须好好练习.;


#include<stdio.h>

#define N 100000 + 10000

__int64
fw[N];
__int64
dj[N];
__int64
min[N]; __int64 minn(__int64 a ,__int64 b)
{
return
a < b ? a : b;
} int main ()
{
int
n ,m ,i ,j ,t;
scanf("%d" ,&t);
while(
t--)
{

scanf("%d %d" , &n ,&m);
for(
i = 1 ;i <= n ;i ++)
{

scanf("%I64d %I64d" ,&fw[i] ,&dj[i]);
}
min[n] = fw[n] * dj[n];
for(
i = n - 1 ;i >= 1 ;i --)
{

min[i] = minn(min[i+1] ,dj[i] * fw[i]);
}
for(
i = 1 ;i <= m ;i ++)
{
__int64
q;
scanf("%I64d" ,&q);
__int64
low ,up ,mid;
low = 1 ,up = n;
int
mk;
while(
low <= up)
{

mid = (low + up) / 2;
if(
q >= fw[mid])
{

low = mid + 1;
mk = mid;
}
else

up = mid - 1;
}

//printf("%d\n" ,mk);
__int64 ans;
if(
mk != n)
printf("%I64d\n" ,minn(q * dj[mk] ,min[mk + 1]));
else

printf("%I64d\n" ,q * dj[mk]);
}
}
return
0;
}

最新文章

  1. zookeeper启动。
  2. mysql变量使用总结
  3. 顺序表的基本操作(C)
  4. Codeforces 467C. George and Job (dp)
  5. 关于struts2 验证框架在联网的时候可以用,不联网不起作用的问题
  6. 基于内嵌Tomcat的应用开发
  7. source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
  8. 认识&lt;hr&gt;标签,添加水平横线
  9. spring4.1+springmvc4.1+mybatis3.2.8+spring-security3.2.5集成环境建设
  10. JavaScript加减计算方法和显示千分位
  11. JavaScript(10)——Ajax以及跨域处理
  12. iOS 用RunTime来提升按钮的体验
  13. Spring-----AOP-----事务
  14. day21 二十一、垃圾回收机制、re正则
  15. 服务 Service 简单案例 MD
  16. 新课程网上选课系统V1.0—适用于中小学校本课程选课、选修课选课
  17. 11、Dockerfile实战-Tomcat
  18. Alpha版本冲刺(十)
  19. 安卓高手之路之ClassLoader(三)
  20. mongo 授权访问

热门文章

  1. kubernets资源预留
  2. 小程序setData中key用变量
  3. 大括号之谜:C++的列表初始化语法解析
  4. 理解函数式编程中的函数组合--Monoids(二)
  5. OpenCV 之 角点检测
  6. AmazonS3 使用AWS SDK for Java实现跨源资源共享 (CORS)
  7. 如何学习python爬虫
  8. 利用flex解决input定位的问题
  9. Hznu_oj 2340 你敢一个人过桥吗?
  10. .NET团队送给.NET开发人员的云原生学习资源