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只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...
随机推荐
- Golang Template source code analysis(Parse)
This blog was written at go 1.3.1 version. We know that we use template thought by followed way: fun ...
- Recovery 中的UI知识积累【转】
本文转载自:http://blog.csdn.net/wed110/article/details/26554197 int gr_init(void); /* 初始化图形显示 ...
- C#遍历DataSet与DataSet元素实现代码
C#中的Dataset就像一个数据库,有多个表(Table),一般只有一个表,然后每个表中有行(DataRow)和列(DataColumn),DataRow[DataColumn]可以得到某行某列数据 ...
- DCloud-MUI:AJAX
ylbtech-DCloud-MUI:AJAX 1.返回顶部 1. 2. 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. http://dev.dcloud.net.cn ...
- 第2课 Git配置文件的妙用
2-1 "git config" 指令的用法 文件夹中".git"子文件夹内的config文件的优先权>登录账号的home directory中的.gi ...
- C# List常识之经常被忽略的常识
最近在接收前辈的代码,越来越会发现有很多.net已经封装好的方法可以使用,我们却不知道,然后自己去For/Foreach循环解决自己的需求问题 总的来说:当下很忧伤啊.总结了几个经常需要用却不知道的方 ...
- PCB Genesis加邮票孔(线与弧)实现算法
一.Genesis加邮票孔(线与弧)实现算法 1.鼠标点击位置P点(可以确认搜索区域位置,确认点击位置周边元素分区,此所讲算法未应用到P点坐标) 2.求出:P1C与P2C (线与弧最近点距离的2个点) ...
- 3个不常用的HTML标签
html标签众多,在HTML手册里你可以都查到.但有的HTML标签你可能从未使用过.不是因为你欠缺学习精神,而是它们确实用处不大.如果你有探索精神,那就接着往下看吧. 第一个:<abbr> ...
- python请求服务器时如何隐藏User-Agent
本文结合上一篇文章“python利用有道翻译实现“语言翻译器”的功能”的实现代码,对其进行加工,实现请求服务器时隐藏User-Agent. python实现隐藏User-Agent的一般做法有两种: ...
- webApi上传服务,可重命名,可创建文件夹
webApi上传服务,根据FileName重命名,根据Path创建文件夹 /// <summary> /// 上传文件 /// </summary> /// <retur ...