Codeforces 879A/B
A. Borya's Diagnosis
传送门:http://codeforces.com/contest/879/problem/A
本题是一个模拟问题。
依次访问n个元素,第i个元素首次出现于si时刻,之后相邻两次出现的时间间隔为di。求访问结束的时刻。
贪心地模拟之。
注意事项:当运算符“/”用于负操作数时,在C89中,其结果由实现定义;在C99中,除法的结果总是向零截取的!!
注意特判si>cur的情形,以避免“由实现定义”的负操作数除法“/”。
参考程序如下:
#include <stdio.h>
#include <stdint.h>
#define MAX_N 1000 int s[MAX_N], d[MAX_N]; int main(void)
{
int n;
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d%d", &s[i], &d[i]);
int cur = ;
for (int i = ; i < n; i++) {
if (s[i] > cur) cur = s[i];
else {
int j = (cur - s[i]) / d[i];
cur = s[i] + d[i] * (j + );
}
}
printf("%d\n", cur);
return ;
}
B. Table Tennis
传送门:http://codeforces.com/contest/879/problem/B
本题是一个模拟问题。
n个人排成队列进行比赛,比赛规则如下:
①队首的两个人比赛,胜出者留在队首,另一个人去队尾;
②当一个人总共胜出k次时,比赛结束,这个人成为最终的赢家;
③两个人比赛时,能量值较大的人胜出。
对于最初的队列,第i个人的能量值为ai。已知a[1..n]是1..n的一个排列。
求最终赢家的能量值。
贪心地模拟之。
若k≥n,则所求结果是全局最优解,即最大的能量值max{ai|1≤i≤n}。
若k<n,则直接用队列模拟即可,注意设置计数器cnt,表示队首胜利的次数。
参考程序如下:
#include <bits/stdc++.h>
using namespace std; queue<int> q; int main(void)
{
int n;
int64_t k;
scanf("%d%I64d", &n, &k);
for (int i = ; i < n; i++) {
int a;
scanf("%d", &a);
q.push(a);
}
if (k >= n) {
int ans = ;
while (!q.empty()) {
if (q.front() > ans)
ans = q.front();
q.pop();
}
printf("%d\n", ans);
return ;
}
int cur = q.front();
q.pop();
int cnt = ;
while (cnt < k) {
int fnt = q.front();
if (cur > fnt) {
cnt++;
q.pop();
q.push(fnt);
} else {
cnt = ;
q.pop();
q.push(cur);
cur = fnt;
}
}
printf("%d\n", cur);
return ;
}
Codeforces 879A/B的更多相关文章
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
- CodeForces - 696B Puzzles
http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...
- CodeForces - 148D Bag of mice
http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...
随机推荐
- HDU 5387 Clock (MUT#8 模拟)
[题目链接]:pid=5387">click here~~ [题目大意]给定一个时间点.求时针和分针夹角,时针和秒针夹角,分针和秒针夹角 模拟题,注意细节 代码: #include&l ...
- 怎样使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率
在寻常的开发中常常会有非常多列表页面.每做一个列表页就须要创建这个布局文件那个Adapter适配器文件等等一大堆与之相关的附属的不必要的冗余文件. 假设版本号更新迭代比較频繁,如此以往,就会使项目pr ...
- 支撑百亿级应用的 NewSQL
支撑百亿级应用的 NewSQL https://zhuanlan.zhihu.com/newsql/ 项目背景 初次接触 TiDB,是通过同程网首席架构师王晓波先生的分享,当时同程网正在使开发和数据库 ...
- 【BZOJ 1370】 团伙
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1370 [算法] 并查集 + 拆点 [代码] #include<bits/std ...
- 洛谷 P1032 [ NOIP 2002 ] 字串变换 —— 字符串+bfs
题目:https://www.luogu.org/problemnew/show/P1032 字符串好复杂...先写了个 dfs ,RE一个点TLE一个点,不知该怎么改了... #include< ...
- Spark之Structured Streaming
目录 Part V. Streaming Stream Processing Fundamentals Structured Streaming Basics Event-Time and State ...
- element快速开发建站的动态UI------优
网站快速成型工具 只为这样的你: Element,一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型 http://element.elem ...
- Error creating bean with name " "问题
Spring MVC框架中使用@Autowired自动装配时出现 Error creating bean with name " "问题的解决方式在spring的xml配置文件be ...
- go的语言结构
一.文件名.关键字与标识符 1.1 文件名 1.go 的源文件已 .go 为后缀名 2.文件名已小写组成 如:simple.go 3.如多个部分组成可用"_" 分割 4.不要包含有 ...
- Scala学习2 ———— 三种方式完成HelloWorld程序
三种方式完成HelloWorld程序 分别采用在REPL,命令行(scala脚本)和Eclipse下运行hello world. 一.Scala REPL. 按照第一篇在windows下安装好scal ...