1960 范德蒙矩阵

LYK最近在研究范德蒙矩阵与矩阵乘法,一个范德蒙矩阵的形式如下:

它想通过构造一个含有1~nm的n*m的矩阵G,使得G*V得到的n*n的矩阵T中所有位置上的元素之和最大。其中n,m<=100000,ai<=2*10^9。
你只需输出这个值对1e9+7取模后的结果。

思路:
然后推广一下就是每一个G列向量乘以每一个V行向量的和,然后直接贪心就行了。
#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
const ll mod = 1e9 + 7;
const int maxn = 100010;
ll num[maxn];ll inv(ll t, ll p = mod)
{//求t关于p的逆元,注意:t要小于p,最好传参前先把t%p一下 return t == 1 ? 1 : (p - p / t) * inv(p % t, p) % p;
}
ll pow(ll x, ll n)
{ll ans = 1;for (; n;n>>=1, x=x*x%mod)if (n & 1)ans = ans*x%mod;return ans;
}int main()
{ll n, m;scanf("%lld%lld", &n, &m);for (int i = 1; i <= m; ++i)scanf("%lld", &num[i]);sort(num + 1, num + m+1);ll ans = 0;for (int i = 1; i <= m; ++i){ll a0 = ((i - 1)*n + 1)%mod, an = i*n%mod;ll A = (a0 + an) % mod*n%mod*inv(2)%mod, X;num[i] %= mod;if (num[i] == 0)X = 1;else if (num[i] == 1)X = n;else {X = (pow(num[i], n) - 1) % mod*inv(num[i] - 1) % mod;}ans = (ans + X*A%mod) % mod;}printf("%lld\n", ans);
}

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/10009713.html

1960 范德蒙矩阵(数学贪心)相关推荐

  1. matlab-线性代数 创建 N阶数量矩阵 N阶单位矩阵 对角矩阵 范德蒙矩阵 等差数列...

    2019独角兽企业重金招聘Python工程师标准>>>      matlab : R2018a 64bit       OS : Windows 10 x64 typesettin ...

  2. 拉格朗日插值与范德蒙矩阵

    ******************************** 鉴于在博客中写公式略显难看,有碍观瞻,博客中的内容我都事先用latex写了一个pdf的文档,可以在下链接下载 http://downl ...

  3. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结

    Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...

  4. 半正定Toeplitz矩阵的范德蒙德分解

    半正定Toeplitz矩阵的范德蒙德分解 Toeplitz矩阵的定义:Matrices whose entries are constant along each diagonal are calle ...

  5. MATLAB编程实现范德蒙德型矩阵

    编程实现范德蒙德型矩阵: 代码如下: x=[-1 0 1 2 3]'; %定义5维列向量x for i=1:1:5 %行控制变量i从1~5,步长为1 for j=1:1:5 %列控制变量j从1~5,步 ...

  6. acm数学(番外1) 范德蒙德卷积公式

    范德蒙德卷积公式 ∑i=0kCniCmk−i=Cn+mk\sum_{i=0}^kC_n^iC_m^{k-i}=C_{n+m}^k∑i=0k​Cni​Cmk−i​=Cn+mk​ 我们不难看出,等号左边相 ...

  7. 范德蒙德和Teoplitz方程组的解法

    范德蒙德和Teoplitz方程组的解法 简单介绍 工程中的很多实际问题的处理,比如说图像处理的某些情况,最后往往归结为比较容易处理的Vandermonde方程组和Teoplitz方程组的求解问题,因此 ...

  8. C语言二维数组范德蒙,浅谈范德蒙德(Vandermonde)方阵的逆矩阵的求法以及快速傅里叶变换(FFT)中IDFT的原理...

    浅谈范德蒙德(Vandermonde)方阵的逆矩阵与拉格朗日(Lagrange)插值的关系以及快速傅里叶变换(FFT)中IDFT的原理 标签: 行列式 矩阵 线性代数 FFT 拉格朗日插值 只要稍微看 ...

  9. 浅谈范德蒙德(Vandermonde)方阵的逆矩阵的求法以及快速傅里叶变换(FFT)中IDFT的原理...

    浅谈范德蒙德(Vandermonde)方阵的逆矩阵与拉格朗日(Lagrange)插值的关系以及快速傅里叶变换(FFT)中IDFT的原理 标签: 行列式 矩阵 线性代数 FFT 拉格朗日插值 只要稍微看 ...

最新文章

  1. 消灭 Java 代码的“坏味道”
  2. 从PPT到Word,用Python轻松实现办公自动化
  3. hive 小技巧总结
  4. Android SimpleAdapter显示ListView、GridView
  5. 沙老师的作业系列——Crackme3
  6. 链表之删除链表中间节点
  7. 牛客网挑战赛24 青蛙(BFS)
  8. 转载]Cyclone II JTAG ASP 配置下载程序
  9. 5G加持!刘作虎确认一加7 Pro:屏幕成本是普通旗舰2倍
  10. 如何在network monitor中查找试图建立TCP连接的帧?
  11. python代码手机壁纸_python批量下载壁纸的实现代码
  12. Point to Raster 工作原理
  13. POJ1061青蛙的约会(拓展欧几里得)
  14. 华为鸿蒙cpu,华为转投第三大CPU架构RISC-V?首款鸿蒙开发板曝光
  15. 感谢折磨你的人[三]
  16. JDK动态代理模式这篇就够了
  17. mysql 查看所有的函数_mysql查看所有存储过程,函数,视图,触发器,表
  18. 一表在手网页无忧, 万能填表数据文件一份
  19. 【虚拟试衣论文笔记】C-VTON: Context-Driven Image-Based Virtual Try-On Network
  20. java 中加载图片

热门文章

  1. HTML5语义化的理解
  2. 配合jenkins 启动jar包需要的脚本
  3. mysql实时监听canal+kafka
  4. andorid 查看OpenCv Mat的Debug信息
  5. SIFT算法总结:用于图像搜索
  6. html5 canvas 版 hello world! 暨haXe简介
  7. 通过base标签实现全网页新窗口链接。
  8. UIWindow的windowLevel详解
  9. java代码,输入n多个数,求其平均值,虽有重复,但是第二次,我就乱写了
  10. 文本分类中的特征词选择算法系列科普(前言AND 一)