首页 > 其他分享 >D :Big Matrix

D :Big Matrix

时间:2023-08-07 22:13:44浏览次数:35  
标签:Matrix Big sum long b1 b2 ll lld

湖南省第十八届大学生计算机程序设计竞赛(HNCPC2022)D题

原题链接:https://cpc.csgrandeur.cn/csgoj/problemset/problem?pid=1192

关于这题其实是一道数学题,如果直接暴力三重循环肯定爆T,所以细心一点的就会发现,其实有规律

首先题目意思如下

规律如下,自己可以尝试一下列举后面的A(i,j),并且画个图就会明白其规律。
例如n等于2时,A(0,0)*(B(0,0)+B(0,1)+B(0,2)),其他的我就不列举了,以上是不是发现有规律了。
以下的图是n等于1时,A(0,0)*(B(0,0)+B(0,1)),有等差数列的性质,我就不啰嗦了

代码如下

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const int mod = 1e9 + 7;

int  main()
{
    ll  n, a1, a2, b1, b2; //为了防溢出,变量全定义long long类型

    while (scanf("%lld %lld %lld %lld %lld", &n, &a1, &a2, &b1, &b2) != EOF)
    {
        ll sum = 0;

        ll cnt = (n - 1) * n / 2;

        for (ll i = 0; i < n; i++) 
        {
            for (ll j = 0; j < n; j++) 
            {
               ll q = i * a1 + j * a2; //这里是求A(i,j),枚举每一个A(i,j)
               sum = (sum + q * (j * b1 * n + cnt * b2)) % mod;
             //由规律可求出每一个数A(i,j)对应乘以第二个方阵的和
            }
        }
        printf("%lld\n",sum);
    }
    return 0;
}

本人蒟蒻,如有错误或者不恰当的地方还望指正,感谢观看我的博客

标签:Matrix,Big,sum,long,b1,b2,ll,lld
From: https://www.cnblogs.com/expect-999/p/17612865.html

相关文章

  • javascript 浮点运算库big.js
    big.js浮点运算库安装npminstallbig.js使用constBig=require('big.js');orimportBigfrom"big.js";x=newBig(0.3)x.minus(0.1)//"0.2"Api常量定义big.js的常量定义一共有5个,分别的含义是:DP,小数点后位数,默认值是20RM,四舍五入方式,默认为1,代表向最近......
  • C++中BigEden、SmallEden编码
    基本概念大端小端表示,一个数字在内存中或硬盘上记录时,是高位在前或在后,高位在前就是大端(BigEden),在后就是小端(samllEden)。我们日常记录和代码里定义一千二百三四如:inta=1234;就是大端记录。如果是小端的一千二百三十四:就是"4321"了。 通常应用一般而言,平台使用的大......
  • BigDecimal判断整除/除尽
    整除:在除法中只有被除数、除数和商都是整数的情况下,才可以说是“整除”。除尽:在除法中只要除到某一位时没有余数,不管被除数、除数和商是整数还是小数,都可以说是“除尽”。BigDecimal判断是否能被整除/***判断被除数是否能被除数整除**@paramdividend被除数*@paramdivisor......
  • 如何用Confusion matrix,classification report,ROC curve (AUC)分析一个二分类问题
    ROChttps://zhuanlan.zhihu.com/p/246444894   Sure,let'screatearandomconfusionmatrixasanexample,andthenI'llexplainwhateachelementinthematrixmeans:Supposewehaveabinaryclassificationproblem,wherethetruelabelsareas......
  • doubly block toeplitz matrix 在加速矩阵差卷积上的应用
    文档链接CNN的卷积是执行了\(w'_{i,j}=\sum\limits_{x,y}w_{i+x,j+y}\timesC_{x,y}\),有人认为每次平移卷积核,运算量很大,又是乘法又是加法。现在我们吧\(w_{x,y}\)展开形成一个\([n\timesm,1]\)的向量\(V\),然后构造一个大小为\([(n+1)\times(m+1),n\timesm]\)矩阵......
  • SQLFlow——除了 Google 的 BigQueryML,微软基于 SQL Server 的 AI 扩展,以及 Teradata
    蚂蚁金服开源机器学习工具SQLFlow,技术架构独家解读2019-05-15· SQLFlow · #SQLFlow5月6日,在 QCon全球软件开发大会(北京站)2019 上,蚂蚁金服副CTO胡喜正式宣布开源机器学习工具SQLFlow,他在演讲中表示:“未来三年,AI能力会成为每一位技术人员的基本能力。我们希望通过开......
  • Cilium系列-10-启用 IPv6 BIG TCP和启用巨帧
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyIP......
  • Cilium系列-10-启用 IPv6 BIG TCP和启用巨帧
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyI......
  • Android studio DerInputStream.getLength(): lengthTag=109, too big.Failed to
    AndroidStudio:解决DerInputStream.getLength():lengthTag=109,toobig.Failedto的问题简介在使用AndroidStudio开发Android应用程序时,你可能会遇到DerInputStream.getLength():lengthTag=109,toobig.Failedto的错误。该错误通常发生在尝试使用包含较大数据的......
  • A Brief History of Big Data Technology Development
    ForewordBeforewritingthisarticle,Iwroteaboutthehistoryofsomebigdatacomponentsandsomeofitsevaluationsintermittently,butIfeltunsatisfactory.Historyshouldbecontinuousandhaveitsinherentlaws,soIwantedtowriteanarticleto......