---------数学---------
Icefox_zhx
这个作者很懒,什么都没留下…
展开
-
bzoj4542 [HNOI2016]大数(莫队+离散化+数学)
首先有一个性质:如果A*10^k+B=B(mod p),且p和10^k互质,则A%p=0。那么,要判断一个s[l...r]是否是p的倍数,只要判断s[l...n]和s[r+1...n]在模n的意义下是否相等。于是,我们可以预处理出每一个后缀s[i...n]对p取模的结果a[i]。然后对于一个询问[l,r],就转化成了询问[l,r+1]中有多少对相同的a[i]。用莫队算法就可以解决了。当原创 2017-07-19 15:38:29 · 390 阅读 · 0 评论 -
luogu1045 麦森数【2013普及】(高精+快速幂+数学)
2n和2n−12^n和2^n-1显然一定是位数相同的。。。因此直接log2n∗log102=log10nlog_2 n*log_{10}2=log_{10}n。 快速幂复杂度:log2nlog_2 n,就是把n变成二进制嘛,自然最多乘log2nlog_2n次。原创 2017-08-08 22:56:22 · 299 阅读 · 0 评论 -
bzoj1008 [HNOI2008]越狱(组合数学+快速幂)
求越狱的可能状态数,不太好求。我们转化一下:用所有的状态数(mnm^n)-不会越狱的状态数(m∗(m−1)n−1m*(m-1)^{n-1})即可。原创 2017-08-09 22:58:27 · 379 阅读 · 0 评论 -
luogu1965 【2013提高】转圈游戏(快速幂)
一轮之后x的位置为(x+m)%n,10k10^k轮之后x的位置为(x+m∗10k)(x+m*10^k)%n,用快速幂算一下10k10^k%n即可。原创 2017-08-09 23:00:37 · 580 阅读 · 1 评论 -
bzoj2751 [HAOI2012]容易题(数学+快速幂)
答案是求合法序列的积的和,其实就是每个位置的合法值的和的积,即 (可以把前m-1个位置相同的式子提出来,发现乘的就是第m个位置的合法值的和,以此类推。)这样的话,虽然位置有10e9个,但是有限制的位置最多10e5个,剩下的位置的合法值的和都是sum(n*(n+1)/2),可以用快速幂进行计算,对于有限制的位置单个计算(排序后即可)。时间就可以过了。原创 2017-08-09 23:02:27 · 394 阅读 · 0 评论 -
bzoj4870 [Shoi2017]组合数问题(dp+矩阵倍增)
翻译一下题目:实际上就是要我们从nk件物品里面选出若干件,使得其数量模k等于r的方案数。f[i][j]表示前i件物品拿了若干件使得其数量模k等于j的方案数。显然有dp方程:f[i][j]=f[i-1][j]+f[i-1][j-1]。初始值:f[0][0]=1.用矩阵快速幂加速一下就好啦。时间复杂度为O(lognk∗k3)O(lognk*k^3)原创 2017-08-10 23:30:24 · 507 阅读 · 0 评论 -
bzoj2875 [noi2012]随机数生成器(矩阵倍增)
挺裸的矩阵倍增。。。就是再处理一下ll*ll.思想类似快速幂,例如对x*y,把x变成二进制,y去倍增,每次都mod m,变乘法为许多次加法,保证不会溢出。原创 2017-08-10 23:31:37 · 439 阅读 · 0 评论 -
luogu1890 gcd区间(线段树/预处理)
可以直接裸线段树O(mlogn)O(mlogn),也可以直接预处理O(n2)O(n^2)。。鉴于m是n2n^2级别的,还是暴力预处理快一些hh线段树版原创 2017-08-12 11:01:23 · 469 阅读 · 0 评论 -
Codeforces Round #429
CF841A Generous Kefa(模拟)CF841B Godsend(博弈+数学)CF840A Leha and Function(贪心+组合数学)原创 2017-08-19 22:02:34 · 303 阅读 · 0 评论 -
hdu6108 2017"百度之星"初赛(A)1001小C的倍数问题(数学)
Problem Description 根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数。现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。Input 第一行一个正整数T表示数据组数(1<=T<=20)。接下来T行,每行一个正整数P(2原创 2017-08-12 18:01:31 · 350 阅读 · 0 评论 -
Codeforces Round #432
CF851A Arpa and a research in Mexican wave(水题)CF851B Arpa and an exam about geometry(几何)CF850A Five Dimensional Points(数学)原创 2017-09-05 10:50:50 · 367 阅读 · 0 评论 -
poj2262 Goldbach's Conjecture(线性素数筛+暴力枚举)
线性素数筛板子。原理就是保证每个合数一定是被自己最小的质因子筛掉的。核心就是:if(i%prime[j]==0) break;如果i有prime[j]这个质因子,则i=prime[j]*k, i*prime[j+1]=prime[j]*k *prime[j+1],完全可以在k *prime[j+1]时被筛掉。所以是O(n)O(n)的原创 2017-08-26 17:59:22 · 332 阅读 · 0 评论 -
luogu1313【2011提高】计算系数(求组合数取模)
拖了很久的组合数取模求法。。。先更一个,逆元+快速幂。 何为逆元?又有人称之为数论倒数。那a的数论倒数当然就是a^-1啦,然而数论中都是整数,所以严格地定义为 a关于p的逆元为满足ax≡1(mod p)ax\equiv1(mod\ p)的最小正整数x。那逆元有什么用呢?四则运算的取余运算基本是相同的,但是除法是不满足的,即a/b%p!=(a%p)/(b%p)%p,那怎么办呢。。。a/b=a*b^-原创 2017-09-14 21:12:22 · 313 阅读 · 0 评论 -
Codeforces Round #434
CF858A k-rounding(数论)CF858B Which floor?(暴力)CF858C Did you mean...(贪心)原创 2017-09-18 14:24:49 · 609 阅读 · 0 评论 -
Codeforces Round #433
CF854A Fraction(gcd/数学)CF854B Maxim Buys an Apartment(思路)CF853A Planning(贪心+优先队列)原创 2017-09-06 22:37:41 · 353 阅读 · 0 评论 -
bzoj4952 [Wf2017]Need for Speed(二分答案)
题意就是解一个方程:∑ni=1disi+c=T\sum_{i=1}^n\frac{di}{si+c}=T。我们发现随着c的增大,左面的值单调递减。因此我们可以对答案二分。复杂度log21e15log_2 1e15左右吧。注意一下最小是要处理出来的。因为速度非负。原创 2017-09-03 11:26:06 · 675 阅读 · 0 评论 -
luogu1017【2000提高】进制转换(数学)
2000提高原创 2017-08-26 17:40:13 · 328 阅读 · 0 评论 -
Codeforces Round #439
CF869A The Artful Expedient(暴力/异或性质)CF869B The Eternal Immortality(数学+模拟)CF869C The Intriguing Obsession(组合数学/dp)原创 2017-10-07 15:21:01 · 339 阅读 · 0 评论 -
Codeforces Round #441
CF876A Trip For Meal(贪心水题)原创 2017-10-17 21:09:24 · 333 阅读 · 0 评论 -
bzoj1610 [Usaco2008 Feb]Line连线游戏(数学)
求不同斜率个数.原创 2017-10-02 11:43:40 · 285 阅读 · 0 评论 -
bzoj1101 [POI2007]ZAP-Queries(莫比乌斯反演)
简单化的bzoj2301原创 2017-10-10 14:46:37 · 386 阅读 · 0 评论 -
bzoj2154 Crash的数字表格(莫比乌斯反演)
求lcm(i,j)的和. 这个题解写的挺详细的呢:传送门。 算答案时分块套路复杂度O(sqrt(n)),算f[x][y]时利用了莫比乌斯反演,分块计算,复杂度也是O(sqrt(n)),所以总的复杂度是O(n) tips:注意因为取模带来的负数问题。。。原创 2017-10-10 22:49:52 · 326 阅读 · 0 评论 -
bzoj2820 [bzoj2820]YY的GCD(线性素数筛+莫比乌斯反演)
求gcd(i,j)为质数的个数。即 ∑p∑i=1n∑j=1mgcd(i,j)==p\sum\limits_p\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)==p 首先我们可以像bzoj2301一样把后一部分化简,得到(假定n< m) ∑p∑d=1⌊n/p⌋μ(d)⌊n/pd⌋⌊m/pd⌋\sum\limits_p\sum\limits_{d=1}^原创 2017-10-10 21:58:56 · 568 阅读 · 0 评论 -
NOIP模拟10.27
Poetize10 A.transport(Floyd+状压dp) 先Floyd预处理出两点间最短路径,然后状压dp,dp[s][i]表示状态为s的点都遍历了,停在i的最小时间。枚举一个j去转移就好了。然后处理出f[s],表示遍历了s状态的点的最小花费。然后枚举A遍历了哪些点,B必须遍历了其余点与1.取最大值就是最慢的,更新答案即可。复杂度O(2^n *n*n) B.elevator(数学+模原创 2017-10-27 16:18:17 · 375 阅读 · 0 评论 -
vijos1889 天真的因数分解(莫比乌斯反演+二分答案)
求第k个mu为0的数,k<=1e10,所以O(n)肯定也挂。考虑不合格的数,就是含有一个平方因子的数。设F(x)表示1~x中不合格的数,则根据容斥原理,利用莫比乌斯函数,我们可以得到F[x]=−∑i=2x√⌊x/i2]∗μ(i)F[x]=-\sum\limits_{i=2}^{\sqrt x}\lfloor x/{i^2}]*\mu(i),然后就是喜闻乐见的分块啦~(直接暴力算也是可以的。。。)复杂原创 2017-10-11 16:02:34 · 441 阅读 · 0 评论 -
AtCoder Grand Contest 010
%%%leoly %%%Visjiao %%%Elijahqi 题解可以去看VisJiao大佬的:传送门 AtCoder Grand Contest 010 A.Addition(数学,奇偶性) B.Boxes (数学) C.Cleaning(树+结论) D.Decrementing(数论+gcd+奇偶性) 都是思维题,这我哪会啊。。。Visjiao大佬的题解写的很详细orz原创 2017-10-26 21:53:06 · 475 阅读 · 0 评论 -
bzoj5027 数学题(扩欧)
这题我写了一天???求ax+by+c=0的整数解x,y在范围内的对数。首先通过扩展欧几里得算出一组解:ax+by=-c,令c=-c,则ax+by=c,显然当g=gcd(a,b)不能整除c时,方程没有整数解,直接输出0。否则,令x0,y0为ax+by=g的一组整数解,则ax+by=c的一组整数解为x0=x0/g*c,y0=y0*g/c。不难发现,其他的解为x+-k*dx,y+-k*dy。因此我们以这组原创 2017-10-20 22:09:32 · 656 阅读 · 0 评论 -
bzoj2301 [HAOI2011]Problem b(求gcd==k的个数)(莫比乌斯反演+容斥原理)
首先我们搞掉下界,怎么搞呢,用容斥原理即可。(看做矩形区间),然后我们需要求∑x=1n∑y=1ngcd(x,y)==k\sum\limits_{x=1}^n\sum\limits_{y=1}^ngcd(x,y)==k。 ∑x=1⌊n/k⌋∑y=1⌊m/k⌋gcd(x,y)==1\sum\limits_{x=1}^{\lfloor{n/k}\rfloor}\sum\limits_{y=1}^{\lf原创 2017-10-10 14:39:41 · 1371 阅读 · 1 评论 -
CIA8 【TJOI2015】概率论(加强版)(生成函数+期望+卡特兰数+逆元)
这题居然被leoly加强了啊orz,形态数就是卡特兰数h,叶子节点总数f可以用生成函数+卷积推出,叶子节点平方的总数s可以由上两个函数推出。这题强啊,过程懒得写啊。把结论写下: hn=∑i=0n−1hi∗hn−1−i=Cn2nn+1h_n=\sum\limits_{i=0}^{n-1}h_i*h_{n-1-i}=\frac{C_{2n}^n}{n+1} fn=∑i=0n−12∗hi∗fn−1−i原创 2017-11-08 08:42:39 · 882 阅读 · 1 评论 -
bzoj2440 [中山市选2011]完全平方数(二分答案+莫比乌斯反演)
类似vijos1889。原创 2017-10-13 11:43:26 · 404 阅读 · 0 评论 -
bzoj3529 [Sdoi2014]数表(莫比乌斯反演+树状数组)
%%%popoqqq大爷的题解:传送门 又掌握了线性素数筛处理sigma函数的技能。。。复杂度O(T*logT+T*sqrt(n)*logn)原创 2017-10-13 22:14:36 · 367 阅读 · 0 评论 -
CF402D Upgrading Array(贪心+数学+线性素数筛)
先预处理出g[i]表示a[1]…a[i]的gcd,我们贪心的发现,肯定是从后往前做,这样不会影响前面。每次我们分解这个gcd,看他是负贡献还是正贡献,决定是不是要除掉它。这样的操作之后,我们分解每一个剩下的数,统计答案即可。用线性素数筛提前把素数筛出来,复杂度应该是小于O(n sqrt(1e9))的。原创 2017-10-15 15:23:21 · 389 阅读 · 0 评论 -
Codeforces Round #440
CF872A Search for Pretty Integers(贪心)CF872B Maximum of Maximums of Minimums(贪心)CF871A Maximum splitting(贪心+数学)原创 2017-10-15 22:04:14 · 226 阅读 · 0 评论 -
NOIP模拟10.22
2014提高D2 A.无线网络发射器选址 暴力枚举选在哪即可。AC B.寻找道路 图论+bfs+spfa AC C.解方程 数论+筛法+枚举。 脑残没想到取模,去写高精度,结果当然是挂了。只拿了30.具体题解见这里原创 2017-10-22 23:05:57 · 248 阅读 · 0 评论 -
CF689C Mike and Chocolate Thieves(二分答案+数学)
二分答案,发现最大数一定是xk3xk^3,所以枚举立方数,看有多少个,累加即可。原创 2017-11-19 20:55:16 · 419 阅读 · 0 评论 -
Codeforces Round #447
CF894A QAQ(暴力枚举/前缀后缀)CF849B Ralph And His Magic Field(数论,组合数学,快速幂)CF849C Marco and GCD Sequence(数论+构造)原创 2017-11-20 22:07:07 · 282 阅读 · 0 评论 -
loj6003「网络流 24 题」魔术球(最小路径覆盖/打表贪心)
二分答案+最小路径覆盖。把每一根柱子看作一条路径,和为完全平方数的建边,从小数向大数建。看最少几条路径覆盖,二分答案。或者也可以直接打表发现规律,每次优先往有数的柱子上放最好。直到放不下为止。原创 2017-12-08 21:42:53 · 312 阅读 · 0 评论 -
NOIP2009提高组
2009提高 A.潜伏者(模拟) B.Hankson 的趣味题(素数筛+数论+分解质因数) a1,a2的最大公因数为a0,则对于每一个质因子,他在a0中的指数为a1,a2中的最小值,即反过来,如果a1中的指数为x1,a0中的指数为x0,x1>x0,则a2中的指数x2必为x0.如果x1==x0,则x2>=x0.最小公倍数同理。这样我们就能得出每一个质因子的指数的取值范围,根据乘法原理算出答案。考原创 2017-11-16 17:21:30 · 563 阅读 · 0 评论 -
AtCoder Grand Contest 008
AtCoder Grand Contest 008 题目链接: https://agc008.contest.atcoder.jp/ A.Simple Calculator(模拟) B.Contiguous Repainting(贪心+枚举) C.Tetromino Tiling(奇偶性)D.K-th K (贪心+构造)E.Next or Nextnext (组合数学+dp+图论+置换)原创 2017-11-22 16:59:13 · 1420 阅读 · 1 评论 -
NOIP2017提高组D1
D1 T1.math数论 T2.complexity模拟(栈) T3.park spfa+tarjan缩点找0环+拓扑序dp原创 2017-11-22 21:35:06 · 450 阅读 · 0 评论