
数学 ------ 基础
文章平均质量分 63
orz11111111
这个作者很懒,什么都没留下…
展开
-
51Nod 1536 不一样的猜数游戏
题意:[1..n]内随机一个数x,每次可以问x是不是y的倍数.n也就是说不管x是1到n之间的哪个数字只要问那些问题就能够确定那个数字了.样例n=4,则无论x是什么 只要问y=2,4,3,就能确定x.假如只问2,3 当回答yes,no时则不能确定x是2还是4.p为某素数,p^k现在提问序列有#include using namespace std;ty原创 2017-09-26 09:36:06 · 215 阅读 · 0 评论 -
CF 579C. A Problem about Polyline 初级几何,二分
题意:一个折现的路径为:(0,0)->(x,x)->(2x,0)->(3x,x)...(2kx,0),(2kx+x,x)..1设上面的x=c,p为某个非负整数. 折线的斜率为1,-1,方程有两种 y=x-2pc , y=-x+2pcc=(x-y)/2p , c=(y+x)/2pp越大c越小 并且c要>=y .二分p即可.#include using namespa原创 2018-04-13 15:38:15 · 288 阅读 · 0 评论 -
CF 554C Kyoya and Colored Balls 组合数
题意:n种颜色的小球,第i个颜色的球有c[i]个.规则:颜色i的最后一个球必须在颜色i+1最后一个的前面.[i=1..k-1].(也就是颜色i+1不能比颜色i先放完)n,c[i]假如已经放好前i种颜色,现在插入第i种颜色.显然最后一位置放第i种颜色,然后剩下c[i]-1个元素插入前面m=pre[i-1]+1个位置中即可.有重复选择的组合x1+x2+...xm=c[i]-原创 2018-04-19 23:17:30 · 160 阅读 · 0 评论 -
CF 975D Ghost 数学(基础)
题意:y=ax+b的直线上有n个点,给出这n个点的(x[i],vx[i],vy[i]),(vx[i],vy[i]为第i个点x,y的速度)当两个点碰撞时,总价值+=2.n<=2e5,-1e9<=x[i]<=1e9.问总价值为多少?若(x1,vx1,vy1),(x2,vx2,vy2)能在t秒相遇x1+t*vx[1]= x2+t*vx[2]y1+t*vy[1]= y2+t*vy[2]则...原创 2018-05-02 09:48:52 · 316 阅读 · 0 评论 -
CF 984 C. Finite or not? 数学(有限小数)
题意:Q次询问,每次给出(p,q,b) 问p/q在b进制表示下,是否是一个无限小数?Q<=1e5, 2<=p,q,b<=1e18先把p/q化为最简分数.若p/q为有限小数,那设小数点后有k位.在b进制下 p*b^k/q 为整数 因为gcd(p,q)=1 所以 q|b^k从素因子角度来看 q的所有素因子都在b的所有素因子内.不断将q除以gcd(q,b) 若最后q不为1 说明q中有和...原创 2018-05-17 12:57:26 · 199 阅读 · 0 评论 -
Atcoder 800 Painting Machine 数学(计数)
题意:n个白球.n-1台机器,第i台机器会将第(i,i+1)的球变为黑色.一个操作序列为[1..n-1]的排列,其价值定义为n个球第一次变为黑色的时间.2看了题解..先膜下rng_58.计算价值首先1,n-1这两台机器必选,否则1,n不会变成黑色.假设1=a[1]可以得 a+b=k-1 , a+2b=n-2 解得b=n-k-1 那么从k-1个间隔中选b个为间原创 2018-05-05 21:49:17 · 250 阅读 · 0 评论 -
湘潭18 G又见斐波那契 矩阵快速幂
题意:F(i)= F(i-1)+F(i-2)+i^3+i^2+i+1 (i>=2) F(1)=1,F(0)=0给出n,求F(n) n<=1e18设初始1*6矩阵为 x={f(1),f(0),1,,1,1,1} (后面4个为i^3,i^2,i^1,i^0的初始系数)找到一个递推矩阵A 使得 x *A 可以得到 (f[i+1],f[i],(i+1)^3,(i+1)^2,(i+1)...原创 2018-05-13 15:07:50 · 113 阅读 · 0 评论 -
Atcoder 700 RGB Coloring 组合数
题意:n件物品,初始都为白色,现在将物品涂色,涂红色+A分,涂蓝色+B分,涂绿色加(A+B)分.1<=n,a,b<=3e5. 0<=k<=18e10.可以有物品不涂色,问n件物品的得分正好为K的方案数mod998244353?若a>b 则swap(a,b)一件物品的得分为0,a,b,a+b. 枚举物品得分至少为a的有x件,那么还要在选m=(K-A*x)/B 件物品得分...原创 2018-06-05 19:58:19 · 256 阅读 · 0 评论 -
BZOJ 1041 圆上的整点 数论
题意:给出R,问半径为R的圆上有多少个整数点? R<=2e9.x^2+y^2=r^2. -> (r+x)(r-x)=y^2 . 令d=gcd(r+x,r-x).m=(r+x)/d,n=(r-x)/d.则y^2= d^2*m*n . 因为gcd(m,n)=1 所以m,n都为完全平方数.(m,n素因子分解后的幂都为偶数.)那么让m=u^2,n=v^2. 得:r+x=d*u^2,r-x=...原创 2018-06-12 19:55:28 · 837 阅读 · 0 评论 -
Atcoder 600 11 组合数(恒等式)
题意:长度为n+1的序列a.其中[1..n]每个数都至少出现一次.1<=n<=1e5,对每个k=[1..n] 询问长度为k的不同的子序列有多少个?如果n个数都不同 那么长度为k的不同子序列个数为C(n,k).序列a:[1..n]其中一个数x出现2次.其余出现一次.[...x....x...] 两个x的位置分别为p1,p2.长度为k中有三种情况:不包含x,有两个x,有一个x. 前两个显然...原创 2018-06-08 11:16:23 · 369 阅读 · 0 评论 -
CF Round 232 C. On Number of Decompositions into Multipliers 素因子分解,组合数
题意:给出长度为n的序列a, 其中m=a[1]*a[2]..*a[n]. n<=1e5,a[i]<=1e9 问将m拆分成n个数的乘积的方案数?将每个a[i]素因子分解. 从而得到m的每个素因子幂.初始n个位置都是1. 第i个素因子幂为val,现在将第i个素因子放入n个位置中的方案为C(val+n-1,n-1).总方案累乘即可.#include <bits/stdc++.h>...原创 2018-06-10 14:03:12 · 138 阅读 · 0 评论 -
HDU 6395 Sequence 矩阵幂,下取整,分段
题意:F[1]=A,F[2]=B, F[i]=C*F[i-2]+D*F[i-1]+[p/i]1<=P,n<=1e9. 求出第n项的值.[p/i]随i不同而变化, 如果没有这一项或者这一项是一个常数的话,显然就可以用矩阵幂来推.[p/i]下取整的值最多只有2*sqrt(p)项. (i<sqrt(p)显然结果最多sqrt(p)项, i>=sqrt(p) 结果最大为s...原创 2018-10-26 17:26:59 · 267 阅读 · 0 评论 -
南京网络赛 18 J Sum 线性筛,素因子分解
题意:定义x为square-free数,当x不被任意一个大于1的平方数整除. (x的素因子幂全都<2).令f[n]为 n=a*b 并且a,b都为square-free数的方案数. n<=2e7 求Σf[i] [i=1:n].求f[n], n= p1^a1 * p2^a2 *...pk^ak.此时b选择某些因子,a也就固定了.a[i]>=3,(那么f[n]==0 因为...原创 2018-10-26 17:29:49 · 125 阅读 · 0 评论 -
GCPC 13 E No Trees But Flowers. 定积分(函数绕x轴旋转体积).梯度法
题意:花瓶的轮廓用 f(x)= a*e^(-x^2) + b*sqrt(x) 来描述. a,b为常数.x为花瓶的高度.花瓶的体积为:f绕着x轴旋转一圈. 给出目标体积V 以及n个花瓶的参数a,b,h.0<V<=1e5.0<n<=5.任意两个花瓶的体积至少差1e-4.问哪一个花瓶体积最接近V?.高度h为x轴的右边界.函数f(x)绕着x轴旋转一圈.选两点x,x+dx.旋...原创 2018-11-03 22:42:09 · 607 阅读 · 0 评论 -
BZOJ 2190 仪仗队 欧拉函数,斜率.
题意:n*n矩阵,站在原点上,能看到多少个点? n同一条直线(斜率相同)上的点只能看到一个.若(x,y)被看到 则(2x,2y),..(px,py)显然被挡住.则能被看到的点(x,y)满足gcd(x,y)=1.y>x的数量等于(y假设(y#include using namespace std;const int N=4e4+5;int n,phi[N];voi原创 2018-03-21 10:19:08 · 185 阅读 · 0 评论 -
CF 615D Multipliers 素因子,费马小定理
题意:给出n的素数表示形式(可以相同的p[i],并且指数都为1):n=p1*p2*...p[m].m,p[i]设y[i]为n的第i个因子,p[i]为n的第i个素数,q[i]为第i个素数的指数.则 res= y[1]*y[2]....y[k]= (p[1]^q[1] * p[2]^q[2] *....p[n]^q[n]) *(.......) ..(每个因子,素因子分解)考虑原创 2018-03-20 16:34:44 · 339 阅读 · 0 评论 -
CF 869C. The Intriguing Obsession 组合
题意:有三个部落(A,B,C) 每个部落分别有a,b,c个城市,现在开始修路,要求相同部落的城市,他们之间的距离为0或者>=3.a,b,c若x为A城市,y,z为B城市当x-y连边 显然x不能在和B城市的任何点连边 否则y-z距离为2.所以,若不同部落间有边,则为一一对应.若A-B间有m条边 则方法数为:C(a,m)*A(b,m) (先从a中选m个盒子 在从b中选原创 2018-03-08 11:30:41 · 298 阅读 · 0 评论 -
HDu 4762 Cut the Cake 概率(推公式,积分)
题意:一个蛋糕切成相等的m块,然后n个物品随机放,问随机取出一块能取到n个物品的概率? n,m选任意两个物品作为边界 n*(n-1),其角度范围为[0,1/m] (总的角度可以看作m度)剩下n-2个都要在这之间 x^(n-2)对x[0,1/m]积分.最后答案为n*/(m^(n-1)) 高精度一下即可. #include using namespace std;typedef原创 2017-09-21 09:59:27 · 222 阅读 · 0 评论 -
HDU 5144 NPY and shot 三分(物理)
HDU 5144题意:站在高度为h的平面上,以初速度v[0]以某个角度扔球,问最远能仍到的位置? h,v知道角度就能知道水平位置.显然角度过大或者过小 水平距离都不会太远,三分最优角度即可.#include using namespace std;const int N=2e2+5;const double pi=acos(-1.0),g=9.8,eps=1e-8;doub原创 2017-10-08 15:35:21 · 230 阅读 · 0 评论 -
HDU 5171 规律+矩阵快速幂(水)
HDU 5171题意:给出序列a,操作:每次从序列选两个数相加后,将新数加入序列a.n,a[i]序列和最大,每次选当前最大和次大相加, k如果在1e5左右 优先队列直接模拟, 现在k当前最大和次大分别为a,b..则操作第1,2,3,..k次操作后加入的数为:a+b,2a+b,3a+2b,5a+3b,8a+5b,...发现第k次a和b的系数为fib(k+1),fib(k)原创 2017-10-09 19:37:36 · 247 阅读 · 0 评论 -
CF 665F Four Divisors 1e11内素数个数(模板)
题意:D(n)定义为[1..n]中有多少个数,其因子个数正好是4个.给出n,求出D(n),nx的因子正好4个 则除去1,x之外 n的因式分解形式中 只能为p^3,p*q,(p,q为不同的素数).可以直接枚举n以内p^3个数.对于p*q形式 枚举小的因子p(pn点击打开链接#includetypedef long long ll;#define MAXN 100原创 2017-10-02 09:32:15 · 782 阅读 · 0 评论 -
CS 300 Num Cube Sets 质因数分解
CS 300题意:给出n个元素的集合A,m个元素的集合B.现在从A,B中分别选出其子集a,b 要求:任意一个x属于a,y属于b都有 x*y是完全立方数.问|a|^2+|b|^2尽量大时(|a|:子集a的元素个数),a,b两个子集分别是多少? n+m底相同两个数相乘(素数乘积形式下),底数的幂都为3k,才可能为立方数.方便处理把所有素数的幂余3.假如A中选的某个元原创 2017-10-23 15:22:36 · 320 阅读 · 0 评论 -
CS 400 Expect Merge 期望+暴力
题意:归并排序:前一半和后一半分别排好序后,在合并成有序序列.如果区间长度为奇数 则分法有两种.给出序列长度n,定义s[i]为:第i个数在某个分治方案中所占区间长度的累加和.例子n=3 (1,2,3)->(1,2)(3)->(1)(2) 下标1占区间长度为3+2+1=6(1,2,3)->(1)(2,3)->(2)(3) 下标1占区间长度为3+1=4. 期望值为(6+4)/2=5原创 2017-11-09 09:22:47 · 193 阅读 · 0 评论 -
CS 300 Diesel Train 连续型期望(积分)
CS 300题意:起点为0 终点为D.有一个长度为L的火车,初始火车头在起点0.有n+2个加油站,起点和终点也是加油站.第i个加油站在点x[i].火车的任意一个部位在加油站时 都可以加油,如果火车没有油了,则火车会被推到离它最近的加油站上.现在把火车头 随机仍到了[0,D]的某个位置上,问火车被推的距离期望是多少? n先将加油站坐标从小到大排序.当火车头落在原创 2017-11-01 22:23:05 · 409 阅读 · 0 评论 -
HDU 5226 Tom and matrix 组合数求和+Lucas定理.
HDU 5226题意:1e5*1e5的矩阵.当ij时,a[i][j]=C(i,j).现在给出(x1,y1),(x2,y2) 求子矩阵的和 x1,y1,x2,y2求子矩阵和 尝试用二维前缀和来解决.则要知道(0,0)到(x,y)的和.容易知道(0,x)行的第i列秩和 0+..0+C(i,i)+C(i+1,i)+...C(x,i) = C(x+1,i+1) (x+1件物品中取原创 2017-10-17 10:48:57 · 378 阅读 · 0 评论 -
CF 894 B/C 数学
Problem B题意:n*m矩阵 每格填入1或者-1.问每行每列的乘积都为k的方案数 n,m前i-1行 前i-1列任填 则最后一行和最后一列填入的方案是固定的.总乘积 k^n = k^m 若n,m奇偶性不同&&k==-1 则无解. 否则最后一格(n,m)一定不会有冲突(反证:分别填入x,y.)答案为2^(n-1)*(m-1) 快速幂算一下 (2^(n-1))^m-原创 2017-11-20 13:27:39 · 392 阅读 · 0 评论 -
51NOD 最复杂的数 暴力(反素数)
题意:把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中复杂程度最高的那个数。例如:12的约数为:1 2 3 4 6 12,共6个数,所以12的复杂程度是6。如果有多个数复杂度相等,输出最小的。n反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0性质:性质一:一个反素数的质因子原创 2017-11-16 20:33:33 · 244 阅读 · 0 评论 -
Nowcoder 5.D 子序列 组合数学
题意:给出字符串T,问有多少个长度为m的字符串S满足,T是S的子序列.|T|,m设d[i]:[1...i]时,字符串T第一次作为子序列出现d[i]= (C(i-1,t-1)*pw[i-t]) - (d[i-1]+d[i-2]+..d[1]). 前半部分明显计算重复!!!(然后就卡在这里了..).换种思考方式,m个位置 假如当前匹配了i位 那么匹配到下一位之前 每个位原创 2017-12-09 09:02:19 · 254 阅读 · 0 评论 -
CF 359C Prime Number 暴力
题意:式子:1/x^a[1] +1/x^a[2]....+1/x^a[n]=s/t. 给出x和序列a. 问gcd(s,t)模1e9+7 ?n题目给的x是素数。。。。。分子底数相同 指数不同. sum=a[1]+a[2]+..a[n] . f[i]=sum-a[i]用优先队列直接写了个大暴力O(nlogn): 把x^f[1]+x^f[2]+...x^f[n] 一直合并原创 2017-12-19 18:19:41 · 332 阅读 · 0 评论 -
CF 893E 素因子分解+多重集排列
题意:Q次询问,第i次询问(x[i],y[i]) 问有多少个长度为y[i]的序列a,其乘积正好为x[i].Q先把x进行质因数分解得到{(k1*p1,k2*p2...ki*pi} n=k[[1]+...k[i], p[i]代表x的素因子,k[i]代表x素因子的幂 先放y个1到序列中.多重集组合:第i个素因子放入y个位置的方案为 C(y+cnt-1,cnt) (cnt个1,y-1个原创 2017-11-25 10:08:44 · 6993 阅读 · 0 评论 -
CF 294C. Shaass and Lights 组合数学
题意:长度为n得序列a,初始a[i]为0或者1. 操作:如果一个a[i]为0 并且与a[i]相邻得至少有一个为1.则此时可以将a[i]变为1.n可以把序列分成若干个连续0:例如 ..10001.. 中间如果有x个0 则填成1的方案有2^(x-1)种.(x个位置 每个位置填L或者R 最后一个位置固定).现在连续0的个数分别为b[1],b[2]...b[k] 0的个数总共为m.原创 2017-12-14 22:13:41 · 408 阅读 · 0 评论 -
CF 919E Congruence Equation 费马小+同余(循环节)
题意:给出a,b,p,x. p为素数.问有多少个11因为p为素数 由费马小:a^(p-1)≡1 (mod p) a^p=a *a^(p-1) ≡ a (mod p) 得a^n %p 最小循环节为p-1.n%p的最小循环节显然为p. 那么设n=i*(p-1)+j (0n*a^n≡ (i*(p-1)+j)%p * a^(i*(p-1)+j)%(p-1) ≡(j-i)*a^j ≡原创 2018-02-03 22:25:17 · 375 阅读 · 0 评论 -
Codeforces C. Malek Dance Club 数学,二进制LCP
题意:编号为[0,2^n-1],问存在多少对编号(a,b)满足 a b^x 给出长度为n的二进制数x 答案模1e9+7. 1二进制x中为0的位 进行异或时显然没有什么意义 对n==5的所有x进行打表 观察答案和1的个数是否存在规律?打表得 答案和(n,x)的关系为 ans=x*(2^(n-1))正解:若ab^x 枚举a^x>b^x第一次发生的位置.原创 2018-02-13 17:49:40 · 227 阅读 · 0 评论