链接

成功带wxy掉分、、全程0输出

D

E

D 题意

把序列分成连续k段,f(i)表示i这个在第几段

\(\sum\limits_{i=1}^{n}a_i*f(i)\)最大

思路

想象成从k层积木依次递减

先把积木搭满,也就是\(sum_n*k\)

然后考虑删除积木,删除k-1个最小的前缀和就行。

sum[n]不能加进去

代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3e5+7;
int n,k;
ll sum[N];
int main() {
scanf("%d%d",&n,&k);
for(int i=1,val;i<=n;++i) {
scanf("%d",&val);
sum[i]=sum[i-1]+val;
}
ll ans=k*sum[n];
sort(sum+1,sum+n);
for(int i=1;i<k;++i) ans-=sum[i];
cout<<ans<<"\n";
return 0;
}

E 题意

多次询问求一条线段最少被多少线段覆盖

思路

倍增

f[i][j]表示从第i个点出发,用\(2^j\)条线段最多到哪里,

注意从0开始

代码

#include <bits/stdc++.h>
using namespace std;
const int N=5e5+7;
int n,m,f[N][21],bj;
int main() {
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i) {
int x,y;
scanf("%d%d",&x,&y);
f[x][0]=max(f[x][0],y);
bj=max(bj,y);
}
for(int i=1;i<=bj;++i) f[i][0]=max(f[i-1][0],f[i][0]);
for(int j=1;j<=20;++j)
for(int i=0;i<=bj;++i)
f[i][j]=f[f[i][j-1]][j-1];
for(int j=1;j<=m;++j) {
int ans=0,x,y;
scanf("%d%d",&x,&y);
for(int i=20;i>=0;--i)
if(f[x][i]<y)
ans+=1<<i,x=f[x][i];
printf("%d\n",f[x][0]>=y?ans+1:-1);
}
return 0;
}

cf1175 D\E的更多相关文章

  1. CF-1175 B.Catch Overflow!

    题目大意:有一个初始变量,值为0,三种操作 for x 一个循环的开始,循环x次 end 一个循环的结束 add 将变量值加一 问最后变量的值是否超过2^32-1,若超过,输出一串字符,不超过则输出变 ...

随机推荐

  1. 【数据库】Mysql配置参数

    vim /ect/my.cnf 使用命令打开mysql的配置文件. 加入以下参数 [mysql] default-character-set=utf8 [mysqld] lower_case_tabl ...

  2. laravel 5.5 仓库模式 文件之间接口与实现操作

    仓库模式 最直接的意思就是: Eloquent数据(数据库)查询  方便快捷,简单明了.自己怎么写的,就怎么去调用,完全ok~ 本质意思: 仓库就像是业务内部的数据对象集合,负责协调业务和数据映射层之 ...

  3. Oracle的约束

    学习笔记: ##约束     *概念:限定用户输入的内容.     *案例:         *练习             * 1. 在score表的grade列添加CHECK约束,限制grade列 ...

  4. opencv简单卷积运用

    import cv2 as cv import numpy as np img=cv.imread('learn.jpg',cv.IMREAD_GRAYSCALE) cv.imshow('first ...

  5. 2019 中手游java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.中手游等公司offer,岗位是Java后端开发,因为发展原因最终选择去了中手游,入职一年时间了,也成为了面试官 ...

  6. 2019 滴滴java面试笔试总结 (含面试题解析)

       本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是Java后端开发,因为发展原因最终选择去了滴滴,入职一年时间了,也成为了面试官, ...

  7. 下一代微服务-ServiceMesh

    1.简介 系统服务化之后,服务间通信需要关注什么? 服务发现.负载均衡.路由.流控.通信可靠性.弹性.安全.监控.日志 API网关可以集中式的管理这些功能,但是会出现单点故障,并且实现起来网关会变得越 ...

  8. swift - 开心一刻

    let array = ["one", "two", "three", "four", "five" ...

  9. k8s运维处理

    k8s运维处理 驱逐节点容器,进行docker,等重要组件的重启时,打驱逐标记 kubectl drain [option --node ip] 进行重启docker或kubelet等其他操作,操作完 ...

  10. Django如何与JQuery进行数据通信?

    index.html: 下面form的action属性表示当提交表单时,向何处发送表单数据 <script src="https://code.jquery.com/jquery-3. ...