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