码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • D. Meta-set #824 div2


    Problem - D - Codeforces

    题意有点让人看不懂,我琢磨了好久...

    题意:

    给你一个n行,每一行是一个牌,可以看作是一个整体。这个一行里面有k个元素,元素的范围在0,1,2中任选其一。问你n行中有多少Meta-set

    Meta-set:五行中有两组满足条件,一组有三行,保证对应的v[i]都相等或者都不等

    分析:

    因为只有0,1,2组成。所以只有四种搭配

    [0,0,0]   [1,1,1]   [2,2,2]   [0,1,2]

    因为各不相同,所以必有一组被重新选择

    要想凑成两组,必须要有一个被重复,两个不一样。

    所以我们就这个必须要选的进行操作

    开始枚举两个随意的,另一个必选的就可以被确定下来了,然后进行计数就可以了

    这个代码实现的非常漂亮

    有很多地方值得去学习

    下面放代码(学习的是cup大佬QAQ)

    1. #pragma GCC optimize(1)
    2. #pragma GCC optimize(2)
    3. #pragma GCC optimize(3,"Ofast","inline")
    4. #define IOS ios::sync_with_stdio(false), cin.tie(0);
    5. #include
    6. #include
    7. #include
    8. #include
    9. #include
    10. #include
    11. #include
    12. #include
    13. #include
    14. #include
    15. #include
    16. using namespace std;
    17. #define int long long
    18. typedef long long ll;
    19. typedef pair<int,int> PAII;
    20. const int N=2e6+10,M=5050,INF=1e18,mod=998244353;
    21. int get(int x)
    22. {
    23. return x*(x-1)/2;
    24. }
    25. signed main(){
    26. //IOS;
    27. int T;
    28. T=1;
    29. //cin>>T;
    30. while(T--)
    31. {
    32. int n,k;
    33. cin>>n>>k;
    34. vectorint> > a(n, vector<int>(k));
    35. mapint>,int> mp;
    36. for(int i=0;i
    37. {
    38. for(int j=0;j
    39. cin>>a[i][j];
    40. }
    41. for(int i=0;i
    42. {
    43. for(int j=i+1;j
    44. {
    45. vector<int> v(k);
    46. for(int z=0;z6-a[i][z]-a[j][z])%3;//可以确定必选的每一位数
    47. mp[v]++;
    48. }
    49. }
    50. int sum=0;
    51. for(int i=0;i
    52. {
    53. sum+=get(mp[a[i]]);
    54. }
    55. cout<"\n";
    56. }
    57. return 0;
    58. }
    59. /*
    60. vector< vector > v(m, vector(n) );定义了一个vector容器
    61. 元素类型为vector,初始化为包含m个vector对象,每个对象都是一个新创立的vector对象的拷贝,而这个新创立的vector对象被初始化为包含n个0。
    62. */

  • 相关阅读:
    让百度快速收录新网站的方法是什么 让百度快速收录新网站的方法有哪些
    服用5年份筑基丹 - React篇
    定制.NET 6.0的依赖注入
    关于IP-Adapter的十几个模型,到底是干啥用的?
    【java、微服务】MQ
    图文并茂:JVM内存布局详解
    IO进线程:共享内存
    【python】OpenCV—Color Detection
    【2022最新核心面试资料 】最强Java面试八股文秋招offer召唤术!入职薪资53k
    Item 37: Make std::threads unjoinable on all paths.
  • 原文地址:https://blog.csdn.net/m0_63305704/article/details/127778755
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号