题意:

  在一个从0开始的连续区间上  放置几个小区间,使得这些小区间覆盖整个大区间,不同长度的小区间有不同的花费,其中有m个点,小区间的左端点不能放在这些点上

解析:

  显然如果0是这m点中的一个 则无解

  然后就是标记上连续不能放的点  然后遍历每一个小区间  从0开始放 求花费最小值即可

·  注意最大值的设置

  代码都加了1,从1开始

  

#include <bits/stdc++.h>
using namespace std;
const int maxn = , INF = 0x7fffffffffffffff;;
typedef long long LL;
int vis[maxn], hip[maxn];
LL cost[maxn];
int main()
{
int n, m, k, tmp;
scanf("%d%d%d", &n, &m, &k);
n++;
for(int i=; i<m; i++)
{
scanf("%d", &tmp);
vis[tmp+] = ;
}
if(vis[])
{
printf("-1\n");
return ;
}
for(int i=; i<=k; i++)
scanf("%lld", &cost[i]);
for(int i=; i<=n; i++)
{
if(vis[i])
hip[i] = hip[i-];
else
hip[i] = i;
}
LL res = LLONG_MAX;
for(int i=; i<=k; i++)
{
int p = ;
LL sum = ;
while()
{
if(p + i >= n)
{
LL ans = sum * cost[i];
res = min(res, ans);
break;
}
if(p == hip[p+i])
break;
p = hip[p+i];
sum++;
}
}
if(res == LLONG_MAX)
printf("-1\n");
else
printf("%lld\n", res); return ;
}

最新文章

  1. android universal-image-loader的使用
  2. 前端学习 第三弹: JavaScript语言的特性与发展
  3. 廖雪峰js教程笔记11 操作DOM(包含作业)
  4. 参考XML操作类
  5. ”靠谱的C#“单例模式
  6. android-exploitme(六):基础加密
  7. PowerDesigner 业务处理模型( BPM ) 说明 及Enterprise Architect使用教程
  8. 【E2LSH源代码分析】p稳定分布LSH算法初探
  9. touch修改文件的修改时间和访问时间,ls --full-time显示文件详细,stat命令
  10. [ Talk is Cheap Show me the CODE ] : jQuery Mobile工具栏
  11. angular.js学习笔记:实现商品价格计算实例
  12. java桥连接sql server之登录验证及对数据库增删改查
  13. 批量镜像locator(比如表情模板)
  14. Create and Embed an Application Manifest (UAC)
  15. 解决百度云推送通知,不显示默认Notification
  16. RSA加密和解密工具类
  17. vue的全局方法和局部方法
  18. e生保plus
  19. Python3 常见数据类型的转换
  20. android 控制POS机图文打印(二)

热门文章

  1. selenium的基本定位方式总结
  2. Docker--删除容器实例和镜像
  3. shell编程基础(转载)
  4. Flink 部署文档
  5. 基础的 sparkSQL操作
  6. 高可用OpenStack(Queen版)集群-8.Horizon集群
  7. 主成分分析——PCA
  8. js传输txt文档内容
  9. MyBatis学习(一)————纯jdbc编程
  10. Python-opencv摄像头图像捕获