首页 > 其他分享 >做点数学题。

做点数学题。

时间:2023-10-28 15:45:55浏览次数:28  
标签:begin right end matrix sum 做点 数学题 left

\(\mathit1\)

题意:给定长度为 \(n\) 的序列 \(a\),\(m\) 次询问,每次给定 \(l,r\) 和 \(k\),求 \(\sum\limits_{i=l}^r a_i\left(\begin{matrix}i-l\\k\end{matrix}\right)\) 的值。

\(1\le n,m,\sum k\le10^5\)。模数为素数。

我们先思考 \(\sum k\le10^5\) 这个限制。容易让人联想到根号分治。\(k>\sqrt n\) 时直接暴力,最多 \(O(\sqrt n)\) 次。但 \(k\le\sqrt n\) 时怎么做?有一个很厉害的东西就是:

\[\left(\begin{matrix}i-l\\k\end{matrix}\right)=\sum\limits_{j=0}^k\left(\begin{matrix}i\\j\end{matrix}\right)\left(\begin{matrix}-l\\k-j\end{matrix}\right)=\sum\limits_{j=0}^k\left(\begin{matrix}i\\j\end{matrix}\right)\dfrac{(-l)^{\underline{k-j}}}{(k-j)!} \]

那么这个就可以直接预处理 \(f(i,j)=\sum\limits_{x=0}^j a_x\left(\begin{matrix}i\\x\end{matrix}\right)\),然后查询的时候按照上式算即可。

\(\mathit2\)

题意:计数 \(n\times m\) 的矩阵,其元素属于 \(1\) 到 \(c\) 中的整数,且没有两行一模一样,也没有两列一模一样。

\(1\le n,m,c\le4\times10^3\)。任意模数。

这个题直接推通项好像是不太可做,但是有一个特别巧妙的思路。令 \(f_i\) 表示 \(n\) 行 \(i\) 列的答案数量。那么考虑容斥,有以下式子:

\[f_i=\left(\begin{matrix}c^i\\n\end{matrix}\right)n!-\sum\limits_{j=0}^{i-1}\begin{Bmatrix}i\\j\end{Bmatrix}f_j \]

这个枚举的 \(j\) 就是在枚举本质不同列数,看成 \(j\) 个无标号盒子。而斯特林数表示枚举每一列所在的盒子情况。然后缩成了 \(j\) 列。不难发现这个矩阵每两列互不相同就等价于原来矩阵原来矩阵每两个盒子所代表的列互不相同。这样就不重不漏地减去了不合法方案。

标签:begin,right,end,matrix,sum,做点,数学题,left
From: https://www.cnblogs.com/tulipenoire/p/17793125.html

相关文章

  • 数学题
    数学题笔记整理P2568GCD\[\sum\limits_{p\inprime}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\gcd(i,j)=p\\\]\[\sum\limits_{p\inprime}\sum\limits_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{n}{p}\rfloor}\gcd(i......
  • P3708 koishi的数学题(取模转化减法)
    \(\displaystylef(x)=\sum_{i=1}^nx\bmodi\)对于一个i,枚举k对于[xk,x(k+1)),中的数,贡献的形式都为a[i]-i*k直接差分维护即可#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<vector>#defineA......
  • koishi的数学题
    koishi的数学题题目描述Koishi在Flandre的指导下成为了一名数学大师,她想了一道简单的数学题。输入一个整数$n$,设$\displaystylef(x)=\sum_{i=1}^nx\bmodi$,你需要输出$f(1),f(2),\ldots,f(n)$。按照套路,Koishi假装自己并不会做这道题,就来求你帮忙辣。输入格......
  • 用程序解决数学题:小马虎在计算123乘一个一位数时,把123错看成128,所得的结果比正确的结
    小马虎在计算123乘一个一位数时,把123错看成128,所得的结果比正确的结果大20,正确的结果是什么?internalclassProgram{staticvoidMain(string[]args){//小马虎在计算123乘一个一位数时,把123错看成128,//所得的结果比正确的结果大20,正确的结果是什......
  • 一些有趣的组合数学题
    Problem1题意:从\(S=\{1,2,\dots,200\}\)中选出一个集合\(T\),其中\(|T|=100\)且\(\displaystyle\min_{i=1}^{100}T_i<16\),证明对于任意的\(T\)都存在\(i,j\)满足\(1\leqi,j\leq100\),\(i\neqj\)且\(T_i\bmodT_j=0\)。......
  • 数学题-位运算-2791. 树中可以形成回文的路径数
    2791.树中可以形成回文的路径数DescriptionDifficulty:困难RelatedTopics:位运算,树,深度优先搜索,动态规划,状态压缩给你一棵树(即,一个连通、无向且无环的图),根节点为0,由编号从0到n-1的n个节点组成。这棵树用一个长度为n、下标从0开始的数组parent表......
  • POJ 2109 Power of Cryptography 数学题 double和float精度和范围
    PowerofCryptographyTimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:21354Accepted:10799DescriptionCurrentworkincryptographyinvolves(amongotherthings)largeprimenumbersandcomputingpowersofnumbersamongtheseprimes.Workint......
  • 简单的数学题
    简单的数学题\[\Sigma_{i=1}^{n}\Sigma_{j=1}^{n}ijgcd(i,j)\,\,\,\,n\leqslant1e10\]正常莫反\[\Sigma_{d=1}^{n}\Sigma_{i=1}^{\lfloor{\frac{n}{d}}\rfloor}\Sigma_{j=1}^{\lfloor{\frac{n}{d}}\rfloor}ij[gcd(i,j)==1]\]\[\Sigma_{d=......
  • Python解数学题
    【Python解决数学问题]用Python解方程】父亲和儿子今年共有60岁,又知4年前,父亲的年龄正好是儿子的3倍,儿子今年是多少岁?1.在Mu下载第三方库2.方程在数学中是什么方程(equation)是指含有未知数的等式。是表示两个数学式(如两个数、函数、量、运算)之间相等关系的一种等式,使等式成立......
  • 马克思手稿中的数学题
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>main(){ intx,y,z,number=0; printf("MenWomenChildren\n"); /*将变量x的可能取值依次代入方程组*/ for(x=0;x<=10;x++) { y=20-2*x; /*当x一定时,可确定y*/ z=30-x-y; /*当x......