随笔分类 - 数学--------------------------
摘要:【题目】C. LRU 【题意】给定空间为k的背包和n个物品,每次每个物品有pi的概率加入(Σpi=1),加入时若发现背包中已有该物品则不改变,若背包满k个物品后再加入新物品则弹出最早加入的物品,求加入10^100次后每个物品在背包中的概率。n,k<=20 【算法】概率DP 【题解】进行10^100次
阅读全文
摘要:【题意】给定n个点的无向完全图,有n-1个公司各自分管一部分路,要求所有公司都有修路的生成树数。n<=17。 【算法】容斥原理+生成树计数(矩阵树定理) 【题解】每个生成树方案是一个公司有无修路的01排列,定义集合x为公司x有修路的方案集合,则题目要求集合交。 对于若干集合的集合并补集,即x个公司不
阅读全文
摘要:【题目】给定两边节点数为n和m的完全二分图,求生成树数取模给定的p。n,m,p<=10^18。 【算法】生成树计数(矩阵树定理) 【题解】参考自 [bzoj4766]文艺计算姬 by WerKeyTom_FTD 构造完全二分图的基尔霍夫矩阵的余子式如下(去除第一行第一列):n=3,m=3,空白格皆为
阅读全文
摘要:【排列】 对于1~n的一个排列,定义对换:交换两个相邻元素的位置形成新的排列。 每次对换:要么消除一个逆序对,要么创造一个逆序对,可以证明当序列中不存在相邻逆序对时,序列升序排列。 所以对于给定排列,通过对换得到升序数列的次数奇偶性就是逆序对个数的奇偶性。 【行列式】 仅方阵有行列式。 $det(A
阅读全文
摘要:【题目】给定n行m列的矩阵,每个位置有一个指示方向(上下左右)或没有指示方向(任意选择),要求给未定格(没有指示方向的位置)确定方向,使得从任意一个开始走都可以都出矩阵,求方案数。n,m<=200,k<=300(未定格数量)。 【算法】生成树计数(矩阵树定理) 【题解】先对定向格DFS找环判断是否无
阅读全文
摘要:【题目】B. GCD of Polynomials 【题意】给定n,要求两个最高次项不超过n的多项式(第一个>第二个),使得到它们GCD的辗转次数为n。n<=150。 【算法】构造 【题解】辗转n次是最坏情况——每次辗转至少会使被模数的最高次项变到模数的最高次项-1,也就是必须构造两个多项式满足这种
阅读全文
摘要:【题意】定义一个n阶正方形矩阵为“巧妙的”当且仅当:任意选择其中n个不同行列的数字之和相同。 给定n*m的矩阵,T次询问以(x,y)为左上角的k阶矩阵是否巧妙。n,m<=500,T<=10^5。 【算法】数学 【题解】 可以证明每个矩阵是巧妙的当且仅当其每个2阶子矩阵均是巧妙的: 必要性:若该矩阵有
阅读全文
摘要:【题意】数列满足an=an-1+an-2,n>=3。现在a1=i,a2=[l,r],要求满足ak%p=m的整数a2有多少个。10^18。 【算法】数论(扩欧)+矩阵快速幂 【题解】定义fib(i)表示第 i 个斐波那契数,将数列an列项观察容易发现ak=a1*fib(k-2)+a2*fib(k-1)
阅读全文
摘要:【题目】E - Papple Sort 【题意】给定长度为n的小写字母串,只能交换相邻字母,求形成回文串的最小步数。n<=2*10^5。 【算法】数学 【题解】官方题解 本题题解中有以下重要的思想: ①分析多复杂因素相互干扰的问题时,先排除无关因素,然后转化关联因素为独立因素后逐个分析。 ②位置移动
阅读全文
摘要:【题目】D - Wide Flip 【题意】给定n个数字的01序列,要求每次翻转>=k个数字使得全0,求最大的k。n<=10^5 【算法】数学 【题解】有两个角度可以得到等价的结论: 1.对于不同的数字a[x]和a[x+1],必须要k>=max(x,n-x)才能使它们相同,所以k=min(max(x
阅读全文
摘要:【题目】C. Ultimate Weirdness of an Array 【题意】给定长度为n的正整数序列,定义一个序列的价值为max(gcd(ai,aj)),1<=i<j<=n,定义f(i,j)为移除序列i~j后剩余序列的价值,求Σf(i,j)。1<=n,ai<=2*10^5。 【算法】数论+线
阅读全文
摘要:【题目】A. Bear and Prime 100 【题意】有一数字x,每次可询问一个数字y是否x的因子,最后输出数字x是否素数,要求询问次数<=20。 【题解】容易发现[2,100]范围内的非素数一定能分解为[2,47]范围内的素数的乘积,所以只需要询问[2,47]范围内的15个素数。 平方数需要
阅读全文
摘要:【题目】B. Bear and Tower of Cubes 【题意】有若干积木体积为1^3,2^3,...k^3,对于一个总体积X要求每次贪心地取<=X的最大积木拼上去(每个只能取一次)最后总体积恰好为X,求给定的1~m内使积木数量最大的X,相同取X较大者。m<=10^15。 【题解】对于一个给定
阅读全文
摘要:【题目】D. Flights for Regular Customers 【题意】给定n个点m条边的有向图,每条边有di表示在经过该边前必须先经过di条边,边可重复经过,求1到n的最小经过边数。n,m<=150,di<=10^9,time=4s。 【算法】floyd+矩阵快速幂 【题解】需要计算步数
阅读全文
摘要:【题目】B. Invariance of Tree 【题意】给定n个数的置换,要求使n个点连成1棵树,满足u,v有边当且仅当a[u],a[v]有边,求一种方案或无解。n<=10^5。 【算法】数学 置换 【题解】置换可以分解成若干循环,那么两个点的连边本质上是两个循环之间的连边。 因为要求无环(树)
阅读全文
摘要:【题目】C. Points on Plane 【题意】给定坐标系中n个点的坐标(范围[0,10^6]),求一种 [ 连边形成链后总长度<=2.5*10^9 ] 的方案。n<=10^6。 【算法】思维题(分块思想) 【题解】将这个10^6*10^6的矩阵划分为1000个10^3*10^6的矩阵,第奇数
阅读全文
摘要:【题意】记正整数x的因数个数为g(x),当正整数x满足:g(x)>g(i)(0<i<x)时,称x为反素数,求不超过给定N的最大反素数,N<2e9。 【算法】数论,搜索 【题解】 这个问题等价于求1~N中因数最多的最小数字。 反素数有以下性质: 1.反素数的素因子一定是从2开始的连续素数。 必要性证明
阅读全文
摘要:【题目】E. Present for Vitalik the Philatelist 【题意】给定n个数字,定义一种合法方案为选择一个数字Aa,选择另外一些数字Abi,令g=gcd(Ab1...Abx),要求满足g≠1且gcd(Aa,g)=1,求方案数取模1e9+7。2<=n<=5*10^5,2<=
阅读全文
摘要:【容斥原理】 对于统计指定排列方案数的问题,一个方案是空间中的一个元素。 定义集合x是满足排列中第x个数的限定条件的方案集合,设排列长度为S,则一共S个集合。 容斥原理的本质是考虑[集合交 或 集合交的补集]和[集合并 或 集合并的补集]之间相互转化的问题。 定义目标函数为f(m),已知函数g(T)
阅读全文
摘要:推荐:数论知识总结——史诗大作(这是一个flag) 【欧几里得算法】辗转相除法 1.被整除数的性质:若c|a,c|b,则c|(ma+nb) 整除数的性质:若a|c,b|c,gcd(a,b)=1,则ab|c。(否则lcm(a,b)|c) 2.gcd的定义 若c|a,c|b,则c为a和b的公因数。当c能
阅读全文