首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小红开宝箱
8条解析
开通博客写题解
小男娘
发表于 2026-03-26 01:00:49
注意到 ,于是我们可以将每一个条件当作一条边建立无向图( 可以转为 并建立自环)。目标为将每一个点匹配一条边。第一步,不断寻找度数为 的点并将其唯一邻边和此点匹配;第二步,对于剩余的点,如果度数为 ,则无解,否则此时图必然为若干个环,对于每一个环,按同一方向匹配环上的边和点即可。维护点的度数,在
展开全文
此在Dasein
发表于 2026-03-26 05:24:09
1. 问题分析 本问题的核心在于从给定的约束中寻找一个排列。每个“步骤”(Step)对应 1 或 2 个可选的“柱子”(Pillar)。我们需要在满足每个步骤选且仅选一个柱子的前提下,确保所有柱子都被恰好使用一次。 核心约束: 规模: ,要求算法必须在线性 或 复杂度内完成。 结构: 这是一个
展开全文
olone
发表于 2026-03-26 11:59:56
#include<bits/stdc++.h> #define pii pair<int,int> using namespace std; const int N = 1e5+5; int n; int cnt[N], ans[N]; vector<int&g
展开全文
25大数据唐文韬
发表于 2024-11-09 22:16:07
本题大致题意是,给出打击柱子数量即打击次数,然后给出每次打击中可能的目标对象,然后确定一个合理的打击序列,这让我们想到了基于二分图匹配的匈牙利算法:确定一个元素的匹配值,如果匹配值已经有其他元素占领,那么让占领此匹配值的元素换一个匹配值,最终达到一个合理的匹配。代码如下: #include<b
展开全文
牛客524077229号
发表于 2026-03-26 22:18:46
#include <iostream> #include <vector> #include <cstring> using namespace std; const int N = 1e5 + 10; int n; vector<int>a[N];
展开全文
腌萝卜干
发表于 2026-03-26 12:02:48
匈牙利算法 + 时间戳优化 #include <bits/stdc++.h> #define x first #define y second #define all(x) x.begin(), x.end() using namespace std; using i128 = __
展开全文
quchen666
发表于 2026-03-26 13:00:24
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5+10; vector<ll>e[N]; int match[N]; bool vis[N]; bool
展开全文
yycx219
发表于 2026-03-29 15:27:57
题解:匈牙利算法求解击打顺序题意理解有 (n) 次击打操作,每次操作必须选择一根柱子,每根柱子只能被击打一次。题目给出每次操作可能的柱子集合((k_i \leq 2)),要求找到一个合法的击打顺序(一个 (1) 到 (n) 的排列)。如果不存在合法解,输出 "kou is angry&qu
展开全文
查看本题
查看本题讨论
相关比赛
94879-牛客小白月赛104
进入比赛
95490-牛客小白月赛104内测
进入比赛
95707-zykq-test
进入比赛
95921-南京工业职业技术大学测试赛
进入比赛
96166-602
进入比赛
等你来战
查看全部
蓝桥杯多校模拟赛(第二场)
报名截止时间:2026-04-06 17:00
牛客小白月赛131
报名截止时间:2026-04-10 21:00
2026年浙江工业大学之江学院程序设计竞赛
报名截止时间:2026-04-11 16:00
北华大学第十三届大学生程序设计竞赛(同步赛)
报名截止时间:2026-04-12 18:00
牛客周赛 Round 139
报名截止时间:2026-04-12 21:00
牛客练习赛151
报名截止时间:2026-04-17 21:30
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题