D - Pair of Balls
模拟
开一个 i d id id 数组, i d [ x ] [ 0 ] id[x][0] id[x][0] 和 i d [ x ] [ 1 ] id[x][1] id[x][1] 表示编号为 x x x 的球所在的桶的编号,每消除一对球,就把球的编号 p u s h push push 进队列,通过球的编号找到需要更新的桶的编号
#include<bits/stdc++.h>
#define ll long long
#define _ 0
using namespace std;
const int maxn = 2e5 + 9;
ll n, m, x, y;
struct node
{
vector <int> v;
int pos;
}a[maxn];
vector <int> id[maxn];
queue <int> q;
int ans, now;
void work()
{
cin >> n >> m;
for(int i = 1; i <= m; ++i)
{
int k;cin >> k;
for(int j = 1; j <= k; ++j)
{
in

本文探讨了两个不同场景的算法实现:D-PairofBalls中通过模拟消除球对更新桶状态,AmusementPark则利用二分法和大根堆解决最优选择问题。理解这两个算法有助于提升游戏策略和资源管理效率。
最低0.47元/天 解锁文章
435

被折叠的 条评论
为什么被折叠?



