4 条题解

  • 5
    @ 2024-1-24 11:38:41
    #include <bits/stdc++.h>
    using namespace std;
    const int MODNUM = 1000000007;
    int n,ans,col[1000005],cnt[1000005];
    int main()
    {
    	cin >> n;
    	for(int i = 1;i <= n;i++)
    	{
    		cin >> col[i];
    	}
    	ans = 0;
    	for(int i = 1;i <= n;i++)
    	{
    		ans = (ans+cnt[col[i]]) % MODNUM;
    		cnt[col[i]]++;
    	}
    	cout << ans << "\n";
    	return 0;
    }
    //给你个东西:https://www.bilibili.com/video/BV1hq4y1s7VH/?spm\_id\_from=333.1350.jump\_directly&vd\_source=e20c317f7a321fc7e44f276ede29cf50
    
  • 3
    @ 2023-10-5 22:19:01

    image

    • 1
      @ 2022-4-5 0:07:40

      组合数学,和那个洛谷P3799很像。 当前这个颜色的旗帜数量超过2个,那么就是在这n个里面选取2个, 数学公式就是C(n,2)=n*(n-1)/2。

      
      ll c(ll x)//求C(n,2)的函数
      {
      	return (x%mod1)*((x-1)%mod1)/2;
      }
      int main()
      {
      	cin>>n;
      	for(int i=1;i<=n;i++)
      	{
      		cin>>a[i];
      		col[a[i]]++;//统计每一种颜色出现的个数
      		maxn=max(a[i],maxn);//求出最大值
      	}
      	for(int i=1;i<=maxn;i++)
      	{
      		if(col[i]>=2)//超过2就用公式算,然后不同颜色是累加。
      		{
      			sum+=c(col[i])%mod1; 
      		}
      	}
      	cout<<sum%mod1;
      	return 0;
      }
      • @ 2022-8-4 21:55:28

        服了一开始我搁那打表,到后面输出那杨辉三角1000行以外一看才发现这long long都直接越界

      • @ 2022-8-4 21:56:49

        现在才发现是C(n,2),直接算比打表还简单QwQ

      • @ 2022-10-15 20:20:47

        老师,为什么我把代码补齐后,成功AC?😕

      • @ 2023-2-9 14:16:44

        @ me too!

      • @ 2023-7-21 19:08:08

        6

      • @ 2023-8-31 14:08:20

        老师为什么我用了您的方法,还是过不了?

    • -13
      @ 2022-4-24 16:54:22

      写题解请注意

      鼓励大家写题解,但注意题解格式。

      题解一定要有思路解析或代码注释,能否让别人理解你的思路

      也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

      给代码两端加上这个会舒服一些

      ```cpp

      你的代码

      ```

      </span>

      这个点在键盘的左上角tab上面那个键,注意切换输入法

      #include<iostream>
      using namespace std;
      int main()
      {
          int n;
          cin>>n;//这是一个注释
          return 0;
      } 
      

      请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

      抄袭题解一经发现直接取消成绩。

      题解被删除的可能

      1. 代码不符合格式规范
      2. 没有思路讲解或者没有注释,
      3. 无意义的题解

      大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

      • 1

      信息

      ID
      1204
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      971
      已通过
      163
      上传者