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;
}
相关推荐
l木本I几秒前
OpenArm开源项目总结(移植lerobot框架)
c++·人工智能·python·机器人
一只乔哇噻1 分钟前
java后端工程师+AI大模型开发进修ing(研一版‖day62)
java·开发语言·算法·语言模型
乌萨奇也要立志学C++3 分钟前
【Linux】线程控制 POSIX 线程库详解与 C++ 线程库封装实践
linux·c++
子一!!3 分钟前
并查集(Union-Find)数据结构
java·数据结构·算法
阿正的梦工坊3 分钟前
R-Zero:从零数据自进化推理大语言模型
人工智能·算法·语言模型·大模型·llm
Evand J3 分钟前
【信号处理课题推荐】小波变化:原理、演进与时频分析应用,MATLAB代码示例
算法·matlab·信号处理·傅里叶分析·傅立叶分析·小波变化
2401_841495645 分钟前
【LeetCode刷题】轮转数组
数据结构·python·算法·leetcode·数组·双指针·轮转数组
木心爱编程1 小时前
Qt C++ + OpenCV 实战:从零搭建实时视频滤镜与图像识别系统
c++·qt·opencv
Aspect of twilight1 小时前
LeetCode华为2025年秋招AI大模型岗刷题(四)
算法·leetcode·职场和发展
im_AMBER8 小时前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode