• C. Doremy‘s City Construction(思维)


    Problem - C - Codeforces

    Doremy的新城市正在建设中! 这个城市可以被看作是一个有n个顶点的简单无向图。第i个顶点的高度为ai。现在,多雷米正在决定哪些顶点对应该用边连接。

    由于经济原因,图中不应该有自循环或多条边。

    由于安全原因,不应该有成对的不同顶点u、v和w,使au≤av≤aw和边(u,v)和(v,w)存在。

    在这些约束条件下,Doremy想知道图中最大可能的边数。你能帮助她吗?

    请注意,所构建的图允许是不连接的。

    输入
    输入由多个测试案例组成。第一行包含一个整数t(1≤t≤104)--测试案例的数量。测试用例的描述如下。

    每个测试用例的第一行包含一个整数n(2≤n≤2⋅105)--顶点的数量。

    每个测试案例的第二行包含n个整数a1,a2,...,an(1≤ai≤106)--每个顶点的高度。

    保证所有测试案例的n之和不超过2⋅105。

    输出
    对于每个测试案例,输出图中最大可能的边数。

    例子
    inputCopy
    4
    4
    2 2 3 1
    6
    5 2 3 1 5 2
    12
    7 2 4 9 1 4 6 3 7 4 2 3
    4
    1000000 1000000 1000000 1000000
    输出拷贝
    3
    9
    35
    2

     题解:
    题中说不允许出现三条边相连类似,wi <= wj <= wk的形式

    那我们就构造不是这样的形式即可

    记录每个f[x]的值

    遍历f[x],找到小于x的值有l多少,与大于x的值r有多少

    理论上每个大于x的值,两边是随便放x的值,与小于x的值的,一个大于x的值,可以构建l + f[x]条边,

    那么r个大于的值,就可以构建(l + f[x])*r条边

    还有一种情况,所有点值相等,n/2

    1. #include<iostream>
    2. #include<algorithm>
    3. #include<cstring>
    4. #include<string>
    5. #include<map>
    6. #include<vector>
    7. #include<queue>
    8. using namespace std;
    9. #define int long long
    10. //1 1 3 3 3
    11. void solve()
    12. {
    13. map<int,int> f;
    14. int n;
    15. cin >> n;
    16. for(int i = 1;i <= n;i++)
    17. {
    18. int x;
    19. cin >> x;
    20. f[x] ++;
    21. }
    22. int s = 0;
    23. int ans = 0;
    24. for(auto [k,v]:f)
    25. {
    26. s += v;
    27. ans = max(s*(n-s),ans);
    28. }
    29. if(ans == 0)
    30. {
    31. ans = n/2;
    32. }
    33. cout<<ans<<"\n";
    34. }
    35. signed main()
    36. {
    37. // ios::sync_with_stdio(false);
    38. // cin.tie(0);
    39. // cout.tie(0);
    40. int t = 1;
    41. cin >> t;
    42. while(t--)
    43. {
    44. solve();
    45. }
    46. }
    47. //5 7
    48. //2
    49. //3 1
    50. //4

  • 相关阅读:
    图床项目之FastDFS的地址修改位置
    Java线程
    语法基础(变量、输入输出、表达式与顺序语句)
    DMT信号光纤传输的数字信号处理
    【概率论与数理统计】
    第三篇文章:死锁
    根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用
    详解GPU、CPU差异
    向量数据库入坑指南:聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss
    Spring Boot 配置文件
  • 原文地址:https://blog.csdn.net/m0_64158084/article/details/128073259