P2338 [USACO14JAN] Bessie Slows Down S

2024-02-17 04:44
文章标签 p2338 usaco14jan bessie slows

本文主要是介绍P2338 [USACO14JAN] Bessie Slows Down S,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接

分析

模拟当前的距离和时间,算出最靠前的减速事件,但是我们发现每次减速事件的顺序可能会发生改变,所以我们可以将两类事件分开处理,按时间排序,每次计算最先发生的减速事件,处理即可。

代码

#include <bits/stdc++.h>
#define debug puts("Y")
#define inf 0x3f3f3f3fusing namespace std;
using PII = pair <int, int>;const int N = 5 * 1e5 + 5;vector <int> Et, Ed;
int n, s = 1;
double t, d;int main() {cin >> n;for (int i = 1; i <= n; i ++) {char c; int x;cin >> c >> x;if (c == 'T'){Et.push_back(x);} else{Ed.push_back(x);}}sort (Et.begin(), Et.end()), sort (Ed.begin(), Ed.end());for (int i = 0, j = 0; i < Et.size() || j < Ed.size(); s ++) {if (j >= Ed.size() || (i < Et.size() && Et[i] - t < (Ed[j] - d) * s)) {d += (Et[i] - t) / s;t = Et[i], i ++;} else {t += (Ed[j] - d) * s;                                                             d = Ed[j], j ++;  }}cout << fixed << setprecision(0) << t + (1000 - d) * s;//小技巧;四舍五入return 0;
}

这篇关于P2338 [USACO14JAN] Bessie Slows Down S的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716708

相关文章

[USACO 2.4.4] Bessie Come Home

题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中。农民约翰按响了电铃,所以她们开始向谷仓走去。你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只速度最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。有时,两个牧场(可能是自我相同的)之间会有超过一条道路相连。至少有一

Bessie‘s Birthday Cake (Hard Version)

题目链接 CodeTON Round 8 (Div. 1 + Div. 2, Rated, Prizes!) C2. Bessie’s Birthday Cake (Hard Version) 思路: 其实可以先做一下easy version。 先不选点,已有的点我们肯定能加多少边就加多少,而且手玩后发现一个规律,就是不管我们怎么加边,总的加边数量和产生的三角形个数是固定的,只和点的