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的更多相关文章

  1. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  2. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  3. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  4. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  5. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  6. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  7. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  8. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  9. CodeForces - 148D Bag of mice

    http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...

随机推荐

  1. linux各种IPC机制(进程通信)

    linux各种IPC机制 (2011-07-08 16:58:35)      原文地址:linux各种IPC机制(转)作者:jianpengliu 原帖发表在IBM的developerworks网站 ...

  2. 关于isset的一点说明

    作者:zhanhailiang 日期:2014-10-08 今天遇到一个非常奇怪的bug,測试例如以下: <? php $a = 'abc'; var_dump(isset($a['code'] ...

  3. Android+Jquery Mobile学习系列(2)-HTML5/Jquery Mobile基础

    本章介绍两个关键字[HTML5]和[Jquery Mobile],简单说这两者的关系是:HTML5作为主体,Jquery Mobile在HTML5的基础上对其进行了优化.装饰. HTML5 HTML5 ...

  4. mysql数据库操作(3)

    1.在查询结果中不显示重复记录 查询时不显示重复记录主要应用了 DISTINCT 关键字,该关键字用于删除重复记录. 在实现查询操作时,如果查询的选择列表中包含一个表的主键,那么每个查询中的记录都将是 ...

  5. 【SDOI 2010】 魔法猪学院

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1975 [算法] A*求k短路 [代码] #include<bits/stdc+ ...

  6. 利用存储过程插入50W+数据

    转自:https://www.aliyun.com/jiaocheng/1396184.html 首先,建立部门表和员工表: 部门表:   create table dept(   id int un ...

  7. 用xftp从win7系统传输一些必要的文件到Linux

    新建会话,主机名为Linux系统的ip地址,选用SFTP协议,选用UTF-8编码格式 1.安装JDK 切换到java路径下 卸载openJDK: 用rpm -qa |grep java指令查看 用rp ...

  8. Python启动浏览器Firefox\Chrome\IE

    # -*- coding:utf-8 -*- import os import selenium from selenium import webdriver from selenium.webdri ...

  9. checked、disabled在原生、jquery、vue下不同写法

          以下是原生和jquery <!DOCTYPE html> <html> <head> <meta http-equiv="Content ...

  10. Assembly之instruction之JUMP

    JMP  Jump unconditionally Syntax   JMP  label Operation PC + 2 × offset −> PC Description The 10- ...