数学相关
文章平均质量分 60
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJbegin][NOIP十连测第五场]Simpe(递推+数学相关)
题目描述题解一眼exgcd,然而没有搞出来。。 不过可以用跳楼机那道题的方法做。f[i]表示只用m能够到达的%n=i的最小高度,那么f[(i+m)%n]=f[i]+m; 由于每次更新的数值都是单增的,找到第一个之前已经被更新过的点就可以退出了,时间复杂度O(n)O(n); 最终的答案即为∑i=1n(q−fi)n+1\sum\limits_{i=1}^n {(q-f_i)\over n}+1,注原创 2016-11-16 22:00:33 · 883 阅读 · 0 评论 -
[SD2014集训]查询(分块+数学相关)
题目描述 题解看模数那么奇怪找一下规律看看有没有奇怪的性质 发现每一个数立方48次后回到原数 线段树不如分块好写 维护每个数立方k次后得到的数,每一个块所有的数分别立方k次后的和 修改时,对于整块记录立方的次数,其余的暴力重构 重构即把块内的点维护的立方旋转t次,然后重新计算和 查询时,整块直接查询,其余暴力 时间复杂度O(m(block+n∗szblock))O(m(blo原创 2017-02-04 16:35:03 · 712 阅读 · 0 评论 -
[BZOJ3643]Phi的反函数(数学相关+搜索)
后来我们终于不再纠结一些事情,比如那个人到底有没有爱过自己,为什么相爱却没有在一起。曾经那些日思夜想无数次的暗下决心却无法解决的问题,可能在人生的某一刻却突然就能放手了,并且毫无留恋。这大概就是所谓的机缘已到吧,前情旧爱纵是当下心头好,却终究抵不过世事的冲刷,时间的洗礼。——扶南原创 2016-10-06 16:40:22 · 774 阅读 · 1 评论 -
[Codeforces300C]Beautiful Numbers(数学相关)
题目描述传送门题解刚开始以为很神实际上就是一道sb题枚举n位数中有i个a,自然有n-i个b 判断是否满足条件 如果满足,就是一个有重复元素的排列问题代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 10原创 2017-02-16 21:34:29 · 521 阅读 · 0 评论 -
[UOJ#74][UR #6]破解密码(数学相关)
题目描述传送门题解其实这道题就是给了你一个串的n个hash值然后让你还原原串 首先一个非常显然的式子 h(i+1)≡(h(i)−c(i)∗26n−1)∗26+c(i)(modp)h(i+1)\equiv (h(i)-c(i)*26^{n-1})*26+c(i)\pmod p 然后化简一下 c(i)=h(i+1)−h(i)1−26nc(i)={h(i+1)-h(i)\over 1-26^n}原创 2017-02-09 20:57:18 · 742 阅读 · 0 评论 -
[BZOJ1406][AHOI2007]密码箱(数学相关)
世事繁杂,时间匆匆 ,重者隐之,轻者显之,真言如风,伪言如磐,真正知道的究竟能有多少。原创 2016-04-01 21:26:52 · 567 阅读 · 0 评论 -
[BZOJ2751][HAOI2012]容易题(easy)(数学相关+stl)
题目描述传送门题解随便化化式子就知道答案应该是每一位能选的数的和的积 去重之后用map啥的记录一下就行了代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<map>using namespace std;#define Mod 100000000原创 2017-03-01 11:34:11 · 571 阅读 · 0 评论 -
[BZOJ1965][Ahoi2005]SHUFFLE 洗牌(数学相关)
题目描述传送门题解每一次洗牌: 对于i<=n2i<={n\over 2},i−>2∗ii->2*i 对于i>n2i>{n\over 2},i−>(i−n2−1)∗2+1=2∗i−(n+1)i->(i-{n\over 2}-1)*2+1=2*i-(n+1) 所以对于所有的ii,i−>2∗i%(n+1)i->2*i\%(n+1) 洗mm次牌之后,i−>2m%(n+1)i->2^m\%(n+1)原创 2017-03-01 10:56:32 · 673 阅读 · 0 评论 -
[BZOJ3142][Hnoi2013]数列(数学相关)
题目描述传送门题解题意就是给出n,k,m,p,求有多少长度为k的序列A,满足:首项为正整数;递增数列;相邻两项的差小于等于m;最大值小于等于n 设a(i)=A(i+1)-A(i),我们只考虑a(i),显然a(i)所需要满足的条件就是ai≤ma_i\le m 一个合法的a(i)序列对答案的贡献为 n−∑i=1k−1ain-\sum\limits_{i=1}^{k-1}a_i 合法的a(i)序列原创 2017-02-06 16:45:29 · 568 阅读 · 0 评论 -
[BZOJ4147][AMPPZ2014]Euclidean Nim(博弈+数学相关)
题目描述传送门题解这题好难想啊,这么多情况根本想不全 也许还是脑子太混乱了? 抄了一点Po姐的题解…首先当nn不能整除gcd(p,q)gcd(p,q)时游戏将永远进行 因为无论如何没有公共部分的质因子无法完全消去 如果游戏可以结束那么令n/gcd(p,q),p/gcd(p,q),q/gcd(p,q)n/ gcd(p,q),p/ gcd(p,q),q/ gcd(p,q)显然与之前等价 下面开原创 2017-01-07 19:58:46 · 426 阅读 · 0 评论 -
[BZOJ2160]拉拉队排练(manacher+快速幂)
题目描述传送门题解首先求出来所有的极长回文串的长度。 然后从大到小枚举长度,用快速幂计算同一个长度的答案,然后再这些回文串加到当前长度-2的里面去。 时间复杂度O(n)O(n)代码#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define LL long long#define Mod 1原创 2016-12-19 23:34:57 · 660 阅读 · 0 评论 -
CF#384 (Div.2) 解题报告
A题意有2家公司,相同公司互相传送花费为0,不同公司花费为坐标之差的绝对值。给出公司分布,问从a到b的花费最少是多少。题解如果ab公司相同,那么费用为0 否则的话费用为1 正确性显然B题意起始数字为1,然后经过如下变换: 1 121 1213121 121312141213121 … 问第n-1次变换后第k个位置的数是多少题解可以发现这个数列满足二分的性质,那么从直接从n开始二分并且原创 2016-12-15 17:17:53 · 664 阅读 · 0 评论 -
[BZOJbegin][NOIP十连测第五场]Walk(数学相关+树形dp)
题目描述题解设ans[i]表示长度为i的链gcd最大是多少,由于长度减小时gcd的最大值是不降的,显然ans[i]=max(ans[i],ans[i+1]); 那么考虑怎么求出ans[i]。 从小到大枚举gcd,将所有权值是gcd倍数的边都加到树,然后树形dp求最长链。 这样的话,每一个数的因数都是n√\sqrt n级别的,所以每一条边都只会被加根n次,时间复杂度O(n√)O(\sqrt n)原创 2016-11-17 07:18:33 · 964 阅读 · 0 评论 -
[BZOJbegin][NOIP十连测第五场]Travel(数学相关+乱搞)
题目描述 题解无解的情况很好判断:当l=0,s!=1 或 l=n-1,s!=n是没有合法路径的。 可以把所有的点看成若干条线段,然后求线段的覆盖次数。 当起点为1,终点为n,需要向左跳L次,那么至少有L条线段是需要被覆盖3次的,其余都被覆盖一次。贪心地求前L小的线段使之被覆盖3次就能得到最优解。 推广到起点和终点不为1的情况。假设起点为s,终点为e,并且s<<e,那么[s,e]这一段是和上面原创 2016-11-17 07:24:22 · 854 阅读 · 0 评论 -
[BZOJbegin][NOIP十连测第七场]约瑟夫游戏(递推|数学相关|递归)
题目描述题解先贴上一波题解: 30%:直接模拟,每次暴力删除即可。时间复杂度O(n2)O(n^2)。 50%:递推计算。设F[n]表示n个人时最后剩下的人的编号。每 增 加 m-1 个 人 , 答 案 向 后 移 动 m 位 。 于 是 递 推 式 为 F[n]=F[n-m+1]%(n-m+1)+m,初始F[1]=1。时间复杂度O(nm)O({n\over m})。 100%:容(da)易原创 2016-11-17 07:43:51 · 843 阅读 · 0 评论 -
[BZOJbegin][NOIP十连测第九场]小P的生成树(数学相关+kruskal)
题目描述 题解因为我们最终是要求 sum(a)2+sum(b)2√\sqrt {sum(a)^2+sum(b)^2}尽可能的大,所以我们肯定不能单独考虑其中一个权值的影响。那么如何将两个影响考虑到一起呢?我们把(ai,bi)(a_i,b_i)看成是有方向的向量,那么最终选取的边的和应该也是一个有方向的向量,假设我们找出该向量的极角,然后求出每个边对于该方向的投影,投影原创 2016-11-17 08:13:04 · 670 阅读 · 0 评论 -
数论 学习笔记
一、整除 约数 倍数a|b表示b除以a余0,也就是a能整除b。称a是b的约数,b是a的倍数。 若a|b, a|c, 则a|(b+c) 若a|b, 那么对所有整数c, a|bc 若a|b, b|c, 则a|c二、素数 合数约数只有1和本身的数是素数,除此以外还有其他约数的数是合数。1既不是素数也不是合数。三、算数基本定理每个正整数都可以惟一地表示成素数的乘积。即有唯一的分解质因数方案: x=a原创 2016-02-17 08:07:34 · 854 阅读 · 0 评论 -
[洛谷3403]跳楼机(spfa+数学相关)
题目描述传送门题解设f(i)f(i)表示只用y和z并且%x=i的所能到达的楼层的最小高度。那么答案为∑i=0x−1⌊h−f(i)x⌋+1\sum\limits_{i=0}^{x-1}{\lfloor{h-f(i)\over x}\rfloor}+1. 显然f((i+y)%x)=f(i)+y,f((i+z)%x)=f(i)+zf((i+y)\%x)=f(i)+y,f((i+z)\%x)=f(i)+z原创 2016-11-17 16:38:46 · 946 阅读 · 0 评论 -
【noip2009】HackSon的趣味题
【noip2009】HackSon的趣味题描述Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问原创 2015-11-03 10:06:15 · 2032 阅读 · 2 评论 -
【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告
【WZOI第二次NOIP模拟赛Day1T2】世界末日Problem 2 世界末日 (doomsday.pas/c/cpp) 背景话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西,而是一大群外星入侵者,WZland岌岌可危…..(这里说一下为什么外星人不自己打开那扇神秘大门呢?因为在开辟通道的时候他们不小心将门装反了,这才会有CWQ破密码这一出。)原创 2015-10-04 14:40:26 · 1657 阅读 · 0 评论 -
[BZOJ3505][Cqoi2014]数三角形(组合数学+gcd)
题目描述传送门题解三角形数=随便选出3个点-3点共线的 总数就是C3n∗mC_{n*m}^3 首先减去在横竖直线上的3点共线的 然后n*m枚举一条斜线,这条斜线经过的整点就是(i,j)-1,所以斜线上有(i,j)-1中选择 将这条直线左右平移n-i,上下平移m-j都是合法的,所以总的选择应该是((i,j)-1) * (n-i)*(m-j) 向左倾斜和向右倾斜有两种情况,再*2代码#incl原创 2017-01-16 18:23:43 · 567 阅读 · 0 评论 -
[BZOJ4602][Sdoi2016]齿轮(加权并查集+分解质因数)
题目描述传送门题解加权并查集,每一个点的dis表示这个点的代表元素转一圈这个点转了多少圈。然后正常做。 但是有一个问题,貌似数据范围很小,但是可以发现在极限情况下是1001000100^{1000},这就非常不好了。所以要把dis分解质因数来做。一定要想清楚数据范围!代码#include<iostream>#include<cstring>#include<cstdio>using nam原创 2016-12-15 16:47:54 · 666 阅读 · 0 评论 -
[BZOJ1045][HAOI2008] 糖果传递(数学相关)
题目描述传送门题目大意:有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。求使所有人获得均等糖果的最小代价。题解设第i个人会给第i+1个人xix_i个糖果(带符号),那么ai−xi+xi−1=avea_i-x_i+x_{i-1}=ave,将所有的式子列出来然后每一个做一个前缀和,那么xn−xi=∑ai−avex_n-x_i=\sum a_i-ave,要原创 2017-05-02 10:33:19 · 990 阅读 · 0 评论 -
[BZOJ1430]小猴打架(prufer序列+数学相关)
题目描述传送门题解这道题可以利用树的prufer序列来做 首先,一个长度为n-2的prufer序列对应了唯一的一个n个节点的生成树,这n-2个位置可以是1~n中的任意一个数,所以一共有nn−2n^{n-2}种 而对于一个生成树一共有n−1n-1条树边,不同的连接方式一共有(n−1)!(n-1)!种 所以最终的答案即为nn−2×(n−1)!n^{n-2}\times (n-1)!代码#inclu原创 2017-04-16 09:00:35 · 663 阅读 · 0 评论 -
[BZOJ1211][HNOI2004]树的计数(prufer序列+数学相关)
题目描述传送门题解树的prufer序列裸题 答案应该是(n−2)!∏i(di−1)!(n-2)!\over \prod_i (d_i-1)!,相当于是一个有重复元素的排列问题 但是我被无解的情况坑了挺久的…其实也不难 特判n=1的情况;∑di=n−2\sum d_i=n-2;di≥1d_i\ge 1代码#include<algorithm>#include<iostream>#includ原创 2017-04-16 09:21:32 · 582 阅读 · 0 评论 -
[BZOJ1048][HAOI2007]分割矩阵(数学相关+记搜)
题目描述传送门题目大意:给出一个n*m的棋盘,每一个格子有一个权,切n-1刀,变成n个子矩形,每一个子矩形的权为所有格子的权值和,求一种方案使这些子矩形的均方差最小。题解均方差的化简方法同棋盘分割:http://blog.csdn.net/clove_unique/article/details/52936610 f(i,a,b,c,d)表示还有i刀可切,当前的矩形为(a,b,c,d)的最小值原创 2017-05-03 17:24:33 · 638 阅读 · 0 评论 -
[NOI1999][openjudge]棋盘分割(数学相关+dp)
题目描述传送门题解NOI1999的dp都好厉害呀= = 一定要认真读题! 先看这个均方差的式子,可以进行化简: δ=∑ni=1(xi−x¯)2n−−−−−−−−−√\delta=\sqrt {\sum_{i=1}^n (x_i-\overline x)^2\over n} δ2=1n∑ni=1(xi−x¯)2\delta^2={1\over n}\sum_{i=1}^n (x_i-\over原创 2016-10-26 17:40:39 · 1161 阅读 · 0 评论 -
[BZOJ1192][HNOI2006]鬼谷子的钱袋(数学相关)
题目描述传送门题目大意:问最少用多少个不同的数,能组合出来1~m中所有的数。题解显然是所有<=m的2的幂次代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int n,p;int main(){ scanf("%d原创 2017-05-03 17:48:32 · 1040 阅读 · 0 评论 -
关于数列an=n^t(t为常数)前n项求和公式的讨论
你知道人类最大的武器是什么吗?是豁出去的决心。原创 2016-05-13 20:11:30 · 1535 阅读 · 0 评论 -
CF#410(Div.2) 解题报告
A题意简述给出一个字符串,问是否能改变且仅改变一个字符,使其变成回文串。数据范围|S|≤15|S|\le 15题解模拟。。 不过有一个需要注意的地方:因为不能不改或者改成一样的字符,所以长度为偶数且本身就是回文串的字符串是不合法的,但是长度为奇数的回文串是可以的,比如aaa改成aba代码#include<algorithm>#include<iostream>#include<cstring>原创 2017-04-23 18:47:28 · 784 阅读 · 0 评论 -
[BZOJ2303][Apio2011]方格染色(数学相关+加权并查集)
题目描述传送门题目大意:一个n*m的网格染成红蓝两种颜色,要求每个田字格有1个或3个红色的。现在有一些格子已经染了颜色,问有多少合法的染色方案。题解和这题gang了一天。。。这题的关键在于,将每一个限制点的关系,转化成和第一行第一列的关系 若把颜色标记为0/1,那么每个田字格的异或值为1。首先枚举(1,1)的取值。考虑一个限制点(x,y)(x>1,y>1),如果x,y都为偶数,那么(1,1)..(原创 2017-04-28 20:12:48 · 875 阅读 · 0 评论 -
[BZOJ3544][ONTAK2010]Creative Accounting(数学相关+set)
题目描述传送门题解一段区间的sigma可以转化为前缀和相减 而如果将前缀和都取模m意义下那么所有的都变成了1..m-1中的一个数 那么如果当前的前缀和为x,如何查询x-?的最大值如果之前的前缀和有比x大的数y,那么答案一定为(x-y)%m 否则为x%m x-y<0 -> (x-y)%m=m-(y-x) y<=m -> m-(y-x)>=x 所以实际上就是查询一下是否有比x大的数那我们拿t原创 2017-03-16 23:47:06 · 571 阅读 · 0 评论 -
[BZOJ1089][SCOI2003]严格n元树(dp+数学相关+高精度)
题目描述传送门题解刚开始一直在考虑如何在一棵树上新挂一些节点,实际上我们可以反过来考虑,将一些已经构造好的子树连到一个根上,也就是从下往上堆 f(i)表示深度为i的严格n元树的数量,s(i)表示f(i)的前缀和;那么f(i)=s(i-1)^n-s(i-2)^n,也就是说n个位置每个位置都可以接一个子树,但是要保证所有的子树里至少有一个深度为i-1代码#include<algorithm>#inc原创 2017-03-16 20:43:47 · 630 阅读 · 0 评论 -
[BZOJ1025][SCOI2009]游戏(置换+背包dp+数学相关)
题目描述传送门题解刚开始各种傻逼→_→ 首先这个题是让将1..n经过若干次置换变回去,然后求置换次数的方案 可以发现次数即为所有循环节的最小公倍数 那么问题就转化为了将n拆成若干个数求最小公倍数的方案 首先筛出n范围内的所有的质数,可以发现从这些质数里选出一些质数(包括质数的幂次方),使总和小于等于n,然后不够的位置填1,这样的最小公倍数是一定互不相同的,并且一定有一种等价的有合数的方案。那原创 2017-02-22 10:34:12 · 751 阅读 · 0 评论 -
[BZOJ1584][Usaco2009 Mar]Cleaning Up 打扫卫生(dp+数学相关优化)
题目描述传送门题解这题n2n^2的暴力非常好想,预处理[l,r]有多少种食物sum(l,r),然后f(i)=min{f(j)+sum(j+1,i)2}(1<=j<i)f(i)=min\{f(j)+sum(j+1,i)^2\}(1<=j<i) 然后利用一点数学知识就有一个非常巧妙的优化 这道题的答案是不会超过n的,所以要想最优的话,枚举的sum(l,r)不能超过n√\sqrt n预处理pre(i)原创 2017-02-03 20:11:26 · 792 阅读 · 0 评论 -
[BZOJ4408][Fjoi 2016]神秘数(可持久化线段树)
题目描述传送门题解首先考虑O(mnlogn)O(mnlogn)的做法 将询问的一段区间由小到大排序,假设现在已经用前k个数组合出了[1..x]中的所有整数,那么现在考虑加入第k+1个数 若k<=x+1,那么我们一定可以组合出[1..x+k]的所有整数,不会出现断层 若k>x+1,那么x+1这个整数是无论如何都无法组合的,就可以确定答案了那么如果不排序有没有办法做呢? 同样假设当前已经组合好了原创 2017-03-04 16:39:10 · 1408 阅读 · 0 评论 -
[BZOJbegin][NOIP十连测第九场]小P的单调数列(数学相关+dp+bit)
题目描述题解一个非常有用的性质是这个数列只可能是一个单增的数列或者是一个单增的数列接上一个单减的数列。 怎么证明呢?其实很简单。假设三个增减增的数列和分别为abc,那么它最终的和为(a+b+c)/3。可如果我们只选择较大的两个ab的话,答案为(a+b)/2。显然是比上一个小的。 f(i)表示以i为结尾最大单增子序列和,g(i)表示以i为开头最大单减子序列和。那么ans=max{f(i),(f原创 2016-11-17 07:55:59 · 964 阅读 · 0 评论 -
[BZOJ3992][SDOI2015]序列统计(dp+NTT+快速幂)
题目描述传送门题解首先考虑,如果题目让求的是和的方案数,怎么dp以及优化 令F(i,j)F(i,j)表示一共选了i个数,和在模m意义下为j的方案数 那么F(i,j)=∑k=1sF(i−1,j−Sk)F(i,j)=\sum\limits_{k=1}^sF(i-1,j-S_k) 这个dp可以写成卷积的形式并用NTT优化 令b(i)b(i)表示是否存在i这个数,0/1 令aa表示F(i−1)F(原创 2017-03-10 11:04:10 · 739 阅读 · 0 评论 -
[BZOJ4542][Hnoi2016]大数(莫队+数学相关)
题目描述传送门题解设f(i)表示[i..n]组成的十进制数在模p意义下的值 那么f(i)-f(j)(j>i)就表示了[i..j-1]这一段区间表示的十进制数扩大10的若干幂次方之后在模p意义下的值 如果不考虑质数2和5的话,扩大10的若干幂次方是不应响结果的,因为剩余的质数都不是10的约数 那么如果要统计区间[l..r]有多少个子串满足是p的倍数的话,只需要统计f(l)..f(r+1)这些数中原创 2017-03-07 16:19:45 · 521 阅读 · 0 评论 -
[Codeforces1A]Theatre Square(数学相关)
题目描述传送门题意:n*m的格子,用a*a的方块覆盖它,问完全覆盖至少用多少个题解闲得无聊打开了cf通过人数最多的一道题 果然是一道sb题代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;long long n,m,a,ans原创 2017-03-14 22:45:25 · 592 阅读 · 0 评论