博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
暴力贪心+预处理自动机——cf990E
阅读量:4647 次
发布时间:2019-06-09

本文共 1328 字,大约阅读时间需要 4 分钟。

枚举每种灯管,然后找到代价最小的那种灯管

贪心策略:灯管从0开始向右放置,如果末尾是不能放置灯管的结点,那么要往回找到最近一个可以放置灯管的结点,在那里放置灯管

所以先预处理每个不能放置灯管的结点对应的最近的可以放置灯管的结点,即要能够自动往前找下标

using namespace std; int a[maxn];int b[maxn];int n,m,k;  LL work(int ins){    LL ans=0;    int id=0;    while(id<=n)    {        if(id+ins>=n)        {            ans++;            break;        }        id=a[id+ins];        ans++;     }    return ans*b[ins];} int main(){    while(~scanf("%d%d%d",&n,&m,&k))    {        lan(a,0);        lan(b,0);        For(i,1,m)        {            int tem;            scanf("%d",&tem);            a[tem]=1;        }        For(i,1,k)        {            int tem;            scanf("%d",&b[i]);        }        if(a[0]==1)        {            printf("-1\n");            continue;        }        int id=0;        int curlen=0;        int maxlen=0;        For(i,1,n)        {            if(a[i]==0)            {                a[i]=i;                id=i;            }            else            {                 a[i]=id;            }            maxlen=max(maxlen,i-a[i]);        }        if(maxlen>=k)        {            printf("-1\n");            continue;        }        LL ans=1LL<<60;       For(i,maxlen+1,k)       {           ans=min(ans,work(i));       }       printf("%lld\n",ans);    }    return 0;}

 

转载于:https://www.cnblogs.com/zsben991126/p/11110918.html

你可能感兴趣的文章
有向图算法之拓扑排序
查看>>
windows 下安装elasticsearch
查看>>
C语言学习12:带参数的main函数,无指定的函数形参,调用库函数处理无指定的函数形参,...
查看>>
禁止某程序联网
查看>>
[LOJ6191][CodeM]配对游戏(概率期望DP)
查看>>
mysql中utf8和utf8mb4区别
查看>>
谈谈源码管理那点事儿(一)——源码管理十诫(转)
查看>>
拒绝switch,程序加速之函数指针数组
查看>>
[你必须知道的.NET]第二十五回:认识元数据和IL(中)
查看>>
.NET中的三种Timer的区别和用法
查看>>
python第三方包安装方法(两种方法)
查看>>
MySQL 索引知识整理(创建高性能的索引)
查看>>
C++ 头文件
查看>>
ZOJ 1008 Gnome Tetravex(DFS)
查看>>
Mysql基础知识:操作数据库
查看>>
mysql 数据库远程访问设置方法
查看>>
Far manager界面混乱问题解决
查看>>
java读取xml文件
查看>>
Go数组和切片定义和初始化
查看>>
用javascript将数据导入Excel
查看>>