2018牛客暑期ACM多校训练营第二场(有坑未填)
第二场终于等来学弟 开始(被队友带飞)的开心(被虐)多校之旅
A run
A题是一个递推(dp?)+前缀和 因为看数据量比较大 就直接上前缀和了
一个比较简单的递推 没有太多难点 签到题 需要注意的一个点是在最后求前缀和相减取模的过程中先加上一个MOD 防止相减变成负数
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+;
const int MOD=1e9+;
int dp[N][];
int l[N],r[N],sum[N];
int main(){
int q,k;
scanf("%d%d",&q,&k);
memset(dp,,sizeof(dp));
memset(sum,,sizeof(sum));
int maxn=;
for(int i=;i<=q;i++){
scanf("%d%d",&l[i],&r[i]);
maxn=max(maxn,r[i]);
}
for(int i=;i<=k-;i++){
dp[i][]=;
dp[i][]=;
}
for(int i=k;i<=maxn;i++){
dp[i][]=(dp[i-][]+dp[i-][])%MOD;
dp[i][]=dp[i-k][];
}
for(int i=;i<=maxn;i++){
sum[i]+=(sum[i-]+dp[i][]+dp[i][])%MOD;
}
for(int i=;i<=q;i++){
printf("%d\n",(sum[r[i]]-sum[l[i]-]+MOD)%MOD);
}
return ;
}
D money
比赛中是队友写的 没有研究很多 赛后自己补题的时候用了模拟的思想 还有说可以用dp的 这里也没有想了
模拟的话 用tmp表示买进的价格 从a[0]开始与后一个比较 如果a[i]小于tmp 则表明可以用更低的价格去购买 同时用flag=0标记表明这一个是可以买的商品
如果a[i]大于tmp 则表明这是可以卖出的价格 假设在这一个点卖出 用flag=1标记在这里可以卖出 tmp更新为a[i] 用于检查之后是否有连续价格更高的可以卖的商品 如果之前已经有标记flag为1 表示前面的cnt已经有过更新 这里就不用再更新了
具体代码如下
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
int a[maxn];
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
ll sum=,cnt=,tmp=a[];
int flag=;
for(int i=;i<n;i++){
if(tmp>a[i]){
tmp=a[i];
flag=;
}
if(tmp<a[i]){
sum+=(a[i]-tmp);
cnt+=;
tmp=a[i];
if(flag==) cnt-=;
flag=;
}
}
printf("%lld %lld\n",sum,cnt);
}
return ;
}
剩余题目先留坑 补完题再来
2018牛客暑期ACM多校训练营第二场(有坑未填)的更多相关文章
- 2018牛客暑期ACM多校训练营第一场(有坑未填)
(重新组队后的第一场组队赛 也是和自己队友的一次磨合吧 这场比赛真的算是一个下马威吧……队友上手一看 啊这不是莫队嘛 然后开敲 敲完提交发现t了 在改完了若干个坑点后还是依然t(真是一个悲伤的故事)然 ...
- 牛客暑期ACM多校 第七场
链接:https://www.nowcoder.com/acm/contest/145/C来源:牛客网 C .题目描述 A binary string s of length N = 2n is gi ...
- 牛客网暑期ACM多校训练营 第九场
HPrefix Sum study from : https://blog.csdn.net/mitsuha_/article/details/81774727 k较小.分离x和k. 另外的可能:求a ...
- 2018牛客网暑期ACM多校训练营(第二场)I- car ( 思维)
2018牛客网暑期ACM多校训练营(第二场)I- car 链接:https://ac.nowcoder.com/acm/contest/140/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 ...
- 牛客网暑期ACM多校训练营(第四场):A Ternary String(欧拉降幂)
链接:牛客网暑期ACM多校训练营(第四场):A Ternary String 题意:给出一段数列 s,只包含 0.1.2 三种数.每秒在每个 2 后面会插入一个 1 ,每个 1 后面会插入一个 0,之 ...
- 牛客网暑期ACM多校训练营(第五场):F - take
链接:牛客网暑期ACM多校训练营(第五场):F - take 题意: Kanade有n个盒子,第i个盒子有p [i]概率有一个d [i]大小的钻石. 起初,Kanade有一颗0号钻石.她将从第1到第n ...
- 牛客网 暑期ACM多校训练营(第二场)A.run-动态规划 or 递推?
牛客网暑期ACM多校训练营(第二场) 水博客. A.run 题意就是一个人一秒可以走1步或者跑K步,不能连续跑2秒,他从0开始移动,移动到[L,R]的某一点就可以结束.问一共有多少种移动的方式. 个人 ...
- 牛客网 暑期ACM多校训练营(第一场)A.Monotonic Matrix-矩阵转化为格子路径的非降路径计数,Lindström-Gessel-Viennot引理-组合数学
牛客网暑期ACM多校训练营(第一场) A.Monotonic Matrix 这个题就是给你一个n*m的矩阵,往里面填{0,1,2}这三种数,要求是Ai,j⩽Ai+1,j,Ai,j⩽Ai,j+1 ,问你 ...
- 牛客网暑期ACM多校训练营(第三场)H Diff-prime Pairs (贡献)
牛客网暑期ACM多校训练营(第三场)H Diff-prime Pairs (贡献) 链接:https://ac.nowcoder.com/acm/contest/141/H来源:牛客网 Eddy ha ...
随机推荐
- 【强大的视频编辑工具】Adobe Premiere Pro CC 2019 for Mac
[简介] PR CC是视频编辑爱好者和专业人士必不可少的视频编辑工具.它可以提升您的创作能力和创作自由度,它是易学.高效.精确的视频剪辑软件.PR CC提供了采集.剪辑.调色.美化音频.字幕添加.输出 ...
- 10款 Mac 系统优化清理工具软件推荐和下载
本文内容及图片来源[风云社区 SCOEE] 在Windows上有各种安全卫士.系统助手等系统优化和清理工具,比如360安全卫士.腾讯安全管家等,同样MacOS系统也有很多好用的系统优化清理工具,体验比 ...
- oracle 12C版本的下载安装
首先 去官网下载自己需要的oracle对应的操作系统的版本 接受协议后可下载 1 下载解压好后 进入主目录 进行安装 在配置安全更新中把我希望通过My Oracle Support接收安全更新前面的 ...
- scp从远程指定目录拷贝文件到本地指定目录
scp从远程指定目录拷贝文件到本地指定目录 [root@picts ~]# cat /root/scp_pictures.sh #!/bin/bash # Function: copy files f ...
- python字典练习题
python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...
- go goroutine
进程和线程 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的 一个独立单位. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更 小的能独立运行的基本单位. 一个进程可 ...
- Linux Cluster 基础之LVS调度算法与集群类型
Linux Cluster 基础之LVS调度算法与集群类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LB Cluster 1>.什么是LB LB 集群是 load ...
- hibernate HQL查询参数设置
Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: Prepa ...
- JAVA-获取 JDK 动态代理生成的 Class 文件
可指定路径 import sun.misc.ProxyGenerator; import java.io.FileOutputStream; import java.io.IOException; i ...
- JAVA核心技术I---JAVA基础知识(时间类)
一:时间类库了解 java.util.Date(基本废弃,Deprecated) –getTime(),返回自1970..1以来的毫秒数 java.sql.Date(和数据库对应的时间类) //与数据 ...