Codeforces Round 905 (Div. 2) D1. Dances (Easy version)(贪心+二分)
Codeforces Round 905 (Div. 2) D1. Dances (Easy version)
思路:
对于
对于排完序的
最优为从
二分保留位数,删去
若满足则右移
则最小删去数为
#define int long long #define ld long double using namespace std; const int N = 1e5 + 10; int t, n, m; int a[N],b[N]; bool check(int x) { int k = n - x; for (int i = 0; i < x; i++) { if (a[i] >= b[i + k]) { return false; } } return true; } void solve() { cin >> n >> m; for (int i = 1; i < n; i++) { cin >> a[i]; } a[0] = 1; for (int i = 0; i < n; i++)cin >> b[i]; sort(a, a + n); sort(b, b + n); int l = 0, r = n, mid=0; while (l<r) { mid = (l + r+1) >> 1;//mid为a保留mid位,即删去n-mid位 if (check(mid)) { l = mid; } else r = mid - 1; } cout << n - l << endl; } signed main() { //t = 1; cin >> t; while (t--) { solve(); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】