Codeforces Round #515 (Div. 3)
Codeforces Round #515 (Div. 3)
#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #include<map> #define lson i<<1 #define rson i<<1|1 #define LS l,mid,lson #define RS mid+1,r,rson #define mem(a,x) memset(a,x,sizeof(a)) #define gcd(a,b) __gcd(a,b) #define ll long long #define ull unsigned long long #define lowbit(x) (x&-x) #define pb(x) push_back(x) #define enld endl #define mian main #define itn int #define prinft printf #pragma GCC optimize(2) //#pragma comment(linker, "/STACK:102400000,102400000") const double PI = acos (-1.0); const int INF = 0x3f3f3f3f; ; ; ; ; using namespace std; /* 4 10 2 3 7 100 51 51 51 1234 1 100 199 1000000000 1 1 1000000000 */ int n,L,v,l,r; int main() { std::ios::sync_with_stdio(false); cin.tie(NULL); while(cin>>n) { while(n--) { cin>>L>>v>>l>>r; cout<<L/v-(r/v-(l-)/v)<<endl; } } }
A - Vova and Train
分区间讨论,不断更新右极值,注意边界相切的情况(1,2)(3,4)
#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #include<map> #define lson i<<1 #define rson i<<1|1 #define LS l,mid,lson #define RS mid+1,r,rson #define mem(a,x) memset(a,x,sizeof(a)) #define gcd(a,b) __gcd(a,b) #define ll long long #define ull unsigned long long #define lowbit(x) (x&-x) #define pb(x) push_back(x) #define enld endl #define mian main #define itn int #define prinft printf #pragma GCC optimize(2) //#pragma comment(linker, "/STACK:102400000,102400000") const double PI = acos (-1.0); const int INF = 0x3f3f3f3f; ; ; ; ; using namespace std; /* 6 2 0 1 1 0 0 1 */ int n,r,a[MAXN]; int main() { std::ios::sync_with_stdio(false); cin.tie(NULL); while(cin>>n>>r) { mem(a,); ; ; ; i<=n; ++i) { cin>>temp; if(temp) { a[++cnt]=i; } } temp=; ; ; -)<n||a[]-r+>||a[cnt]+r-<n) cout<<-<<endl; else { ; i<=cnt; ++i) { >temp+) { //cout<<temp<<' '<<a[i]-r+1<<endl; cout<<-<<endl; flag=; break; } if(temp>=n) { //k++; break; } <=temp+&&a[i+]-r+>temp+)||a[i]+r->=n) { //cout<<i<<endl; k++; temp=a[i]+r-; } //cout<<temp<<' '; } if(!flag) cout<<k<<endl; } } }
B - Heaters
#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #include<map> #define lson i<<1 #define rson i<<1|1 #define LS l,mid,lson #define RS mid+1,r,rson #define mem(a,x) memset(a,x,sizeof(a)) #define gcd(a,b) __gcd(a,b) #define ll long long #define ull unsigned long long #define lowbit(x) (x&-x) #define pb(x) push_back(x) #define enld endl #define mian main #define itn int #define prinft printf #pragma GCC optimize(2) //#pragma comment(linker, "/STACK:102400000,102400000") const double PI = acos (-1.0); const int INF = 0x3f3f3f3f; ; ; ; ; using namespace std; /* 8 L 1 R 2 R 3 ? 2 L 4 ? 1 L 5 ? 1 */ int n; char c; int ind; int a[MAXN]; int main() { //std::ios::sync_with_stdio(false); //cin.tie(NULL); while(cin>>n) { ,r=; mem(a,); while(n--) { cin>>c>>ind; if(c=='L') { a[ind]=l--; } else if(c=='R') { a[ind]=r++; } else { //cout<<a[ind]<<' '<<a[l+1]<<' '<<l+1<<endl; cout<<min(a[ind]-(l+),r--a[ind])<<endl; } } } }
C - Books Queries
逆推+二分
#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #include<map> #define lson i<<1 #define rson i<<1|1 #define LS l,mid,lson #define RS mid+1,r,rson #define mem(a,x) memset(a,x,sizeof(a)) #define gcd(a,b) __gcd(a,b) #define ll long long #define ull unsigned long long #define lowbit(x) (x&-x) #define pb(x) push_back(x) #define enld endl #define mian main #define itn int #define prinft printf #pragma GCC optimize(2) //#pragma comment(linker, "/STACK:102400000,102400000") const double PI = acos (-1.0); const int INF = 0x3f3f3f3f; ; ; ; ; using namespace std; int n,m,k; int a[MAXN]; int b[MAXN]; bool check(int x) { mem(b,); ; ; i<=x; ++i) { ; for(int j=temp; j<=m; ++j) { if(b[j]+a[i]<=k) { flag=; b[j]+=a[i]; temp=j; break; } } if(!flag) return false; } return true; } int main() { //std::ios::sync_with_stdio(false); //cin.tie(NULL); while(cin>>n>>m>>k) { mem(a,),mem(b,); ; i--) cin>>a[i]; ,r=n+,mid,cnt=; while(cnt--) { mid=(l+r)/; if (check(mid)) l=mid; else r=mid; } cout<<mid<<endl; } /* while(cin>>n>>m>>k) { for(int i=n; i>=1; i--) cin>>a[i]; int x; cin>>x; cout<<check(x)<<endl; } */ }
D - Boxes Packing
Codeforces Round #515 (Div. 3)的更多相关文章
- Codeforces Round #515 (Div. 3) 解题报告(A~E)
题目链接:http://codeforces.com/contest/1066 1066 A. Vova and Train 题意:Vova想坐火车从1点到L点,在路上v的整数倍的点上分布着灯笼,而在 ...
- Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】
任意门:http://codeforces.com/contest/1066/problem/B B. Heaters time limit per test 1 second memory limi ...
- Codeforces Round #515 (Div. 3) E. Binary Numbers AND Sum
E. Binary Numbers AND Sum 题目链接:https://codeforces.com/contest/1066/problem/E 题意: 给出两个用二进制表示的数,然后将第二个 ...
- CodeForces Round #515 Div.3 D. Boxes Packing
http://codeforces.com/contest/1066/problem/D Maksim has nn objects and mm boxes, each box has size e ...
- CodeForces Round #515 Div.3 C. Books Queries
http://codeforces.com/contest/1066/problem/C You have got a shelf and want to put some books on it. ...
- CodeForces Round #515 Div.3 A. Vova and Train
http://codeforces.com/contest/1066/problem/A Vova plans to go to the conference by train. Initially, ...
- CodeForces Round #515 Div.3 B. Heaters
http://codeforces.com/contest/1066/problem/B Vova's house is an array consisting of nn elements (yea ...
- CodeForces Round #515 DIv.3 F. Yet another 2D Walking
http://codeforces.com/contest/1066/problem/F Maksim walks on a Cartesian plane. Initially, he stands ...
- B. Heaters ( Codeforces Round #515 (Div. 3) )
题解:对于每个点 i 来说,从 j = i + r - 1 开始往前找,如果找到一个 a [ j ] 是 1 ,那么就把它选上,但是我们需要判断交界处,也就是如果前面选的那个可以让这个点变温暖,就不用 ...
随机推荐
- Docker CE的安装 与镜像加速
Docker CE 的安装与镜像加速 Docker CE是docker的开源版本 CENTOS 安装Docker CE 系统要求: 操作系统需要使用centos7() centos-extras库 必 ...
- Java SSM框架之MyBatis3(八)MyBatis之动态SQL
前言: mybatis框架中最具特色的便是sql语句中的自定义,而动态sql的使用又使整个框架更加灵活. 创建User表 /*Table structure for table `user` */ D ...
- javascript 简单工厂模式
var Bicycle = new Interface("Bicycle",["assemble","wash","ride&qu ...
- # 20155337 2016-2017-2 《Java程序设计》第六周学习总结
20155337 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 •串流(Stream): 数据有来源及目的地,衔接两者的是串流对象.如果要将数据从来源取出, ...
- HDU 4509 湫湫系列故事——减肥记II (简单模拟)
题意:一天一共有1440分钟,主人公每天有n件事要做,给出这n件事开始跟结束的时间,然后让你求出,空闲的时间的总分钟数是多少. 解题报告:简单模拟,只要开个一维数组标记那个每个分钟是否是有事的就可以了 ...
- HDU 1241 Oil Deposits DFS搜索题
题目大意:给你一个m*n的矩阵,里面有两种符号,一种是 @ 表示这个位置有油田,另一种是 * 表示这个位置没有油田,现在规定相邻的任意块油田只算一块油田,这里的相邻包括上下左右以及斜的的四个方向相邻的 ...
- mybatis查询缓存——(十三)
1. mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存.
- 云计算--hdfs dfs 命令
在hadoop安装目录下:/hadoop2/hadoop-2.7.3 1.创建目录 bin/hdfs dfs -mkdir /user bin/hdfs dfs -mkdir /user/<us ...
- RabbitMQ集群使用Haproxy负载均衡
(1).下载 http://www.haproxy.org/#down (2).解压 tar -zxvf haproxy-1.5.18.tar.gz (3).安装 1).编译 make TARGET= ...
- mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg
mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg ...