C. Doremy‘s City Construction(二分图问题)

思路:把集合划分成两部分,一部分中每个数都比另一部分小,这两部分连成一个完全二分图,这种情况是最优的,还需要特判所有数都相等的情况.

代码:

cpp 复制代码
void solve(){
    int n;
    cin >> n;
    vector<int>a(n + 1);
    for(int i = 1;i <= n;i ++)
        cin >> a[i];
    sort(a.begin(),a.end());
    if(a[1] == a[n]){
        cout << n/2 << endl;
        return;
    }
    int ans =0;
    for(int i = 1;i <= n;i ++){
        int j = i;
        while(j + 1 <= n && a[j + 1] == a[i])j ++;
        ans = max(ans ,j * (n - j));
        i = j;
    }
    cout << ans << endl;
}
相关推荐
天空'之城7 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
小程故事多_809 小时前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法
2601_9561219711 小时前
二分算法(知识点+题目)
c++·算法
蒙奇·D·路飞-13 小时前
OpenClaw:开源的《合金弹头》精神续作与终极本地部署指南
c++·开源·mfc
AndrewHZ14 小时前
【LLM技术全景】阶段总结:技术原理篇核心知识回顾
人工智能·深度学习·算法·语言模型·大模型·llm·芯片开发
小星星闪亮登场15 小时前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先
梓䈑15 小时前
【用 Vibe Coding 实现的 C++17 在线判题系统】前端开发 + Web 自动化测试
前端·c++·ai编程
冻柠檬飞冰走茶15 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
玖玥拾15 小时前
LeetCode 88 合并两个有序数组
算法·leetcode
TunerT_TQ16 小时前
Valhalla 静态工程审阅 #018|MMCV 源码证据驱动评测【大厂开源基础设施特辑】
c++·开源·mfc·#计算机视觉·#商汤科技·#openmmlab·#静态源码审计