自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 收藏
  • 关注

转载 数据结构--线段树--维护等差数列--uva12436 Rip Van Winkle's Code

N=250000op1. 区间[ql,qr] ql的位置+1,ql+1的位置+2。。。op2. 区间[ql,qr] qr的位置+1,qr-1的位置+2。。。op3.区间[ql,qr] 区间修改为xop4.求区间和大佬博客 https://blog.csdn.net/hei_nero/article/details/9798723将梯形划分为左右区间的时候,相当于左区间维护小...

2018-10-29 15:35:19 535

原创 线段树--区间修改--cf1070-c Cloud Computing

n天每天需要k个东西,有m种价格方案:方案i [Li,Ri] 内每天有ci个,每个pi元(如果某天所能获得的东西不足k个,全部借完)求最小花费。解:按价格排序,线段树记录某天已经借了的数量,成段更新。更新时判断,1.如果最小值 >= k,即该区间已经满足条件,不用再借,return2.如果最大值 + c <= k,即该区间全部都可以借c个,利用lazy标记区...

2018-10-22 15:09:11 404

转载 数据结构--线段树&离散化可能有的问题--poj2528 Mayor's posters

给定n个区间,按顺序覆盖后,问最后几个是可见的。l,r,范围1e7,需要离散化。//但是注意简单的离散化可能会出现错误,给出下面两个简单的例子应该能体现普通离散化的缺陷://例子一:1-10 1-4 5-10//例子二:1-10 1-4 6-10//解决的办法则是对于距离大于1的两相邻点,中间再插入一个点这样离散化后例子一:[1,6] [1,3] [4,6]例子二:...

2018-10-12 21:08:32 331

原创 数据结构--离线树状数组--hdu4605 Magic Ball Game

n个点的树,每个点有一个权值。1为根,每个点要么有2个儿子,要么没有儿子。Q次询问,每次给节点v,和数X,一个球从根往下走:1.X = w[i]或i没有儿子,球停下2.X < w[i],球有1/2可能往左走,1/2可能右走3.X > W[I],球有1/8可能往左走,7/8可能右走统计根到v的路径上,(往左走、往右走)*(大于x、小于x)的个数则到达v点的可能性为...

2018-10-10 19:42:37 247

原创 数据结构--线段树--牛客练习赛28B

https://www.nowcoder.com/acm/contest/200/Bop = 1 sumop = 2 sum2 平方和op = 3 *mulop = 4 +add2个lazy标记#include <cstdio>#include <iostream>using namespace std;#define lc (rt <...

2018-10-05 23:42:19 237

原创 数据结构--LCA--DFS+RMQ--zoj3195 Design the city

用DFS和RMQ实现LCA步骤:1.E[1]..E[2n-1]表示dfs的过程中经历的所有点2.id[i]表示点i在E[]中第一次出现的位置,即在dfs中第一次出现的位置3.任意2点x,y的LCA就是id[x]...id[y]区间中,深度最小的那个点,使用RMQ预处理即可。ps:1.E[..]和ST[..][20]都要开2 * n#include <cstdio&...

2018-09-12 01:06:14 201

转载 unordered map使用

1.基本数据类型,string等使用unordered map可以直接使用,如hash<int>()(x)。结构体使用unordered map需要一个hash函数和一个equal函数。2.hash函数一般用函数对象实现。(注意:返回值size_t)equal函数可以用函数对象,也可以直接重载==运算符。struct point{ int x,y;}p;...

2018-09-10 15:38:36 355

转载 数论--莫比乌斯反演&分块--bzoj2154 Crash的数字表格

大佬博客http://www.cnblogs.com/cjyyb/p/8253033.html//1.mu[1] = 1//2.long long 注意//3.2次分块好神奇,而且min(n/ (n/ i),m/ (m/ i))可以解决2个变量一起分块//4.直接预处理1e7超时,max(n,m) 7s+#include <cstdio>#include <i...

2018-09-05 11:23:51 186

原创 数论--筛法变形--ACM-ICPC 2018 南京赛区网络预赛 J.Sum

https://nanti.jisuanke.com/t/30999f[i]表示将i分解为2个数相乘的方案数,i = a*b,且a,b均不能有平方因子。求f[i]前缀和n = p1^a1 * p2^a2 * p3^a3 * ... * pk^ak= a * b若a1 = 1,则a可能有p1,可能没有,f[n] = f[n / p1] * 2a1 = 2,则a必须选p1(a,...

2018-09-02 17:07:35 188

原创 数论--常见公式

1. 1 * 1! + 2 * 2! + 3 * 3! + ... + n * n! = (n + 1)! - 1证明 (n + 1)! - n! = n * n!2! - 1! = 1 * 1!3! - 2! = 2 * 2!...(n + 1)! - n! = n * n!sum = (n + 1)! - 1 = 1 * 1! + 2 * 2! + 3 * 3! + ...

2018-09-01 20:04:09 1163

转载 数论--因子&容斥&bitmask--codeforces1007b Pave the Parallelepiped

给A,B,C,求他们的因子(a,b,c)的三元组的个数(a|A ,b|B,c|C,不考虑顺序)A,B,C有重复因子很麻烦,所以考虑容斥//1.因子总是和bitmask在一起//要么是对因子用位压缩//要么用二进制表示是a,b,c谁的因子,并且容斥//2.m个不同的球有放回的取n个 = C(m + n - 1,n)//3.__builtin_popcount(i) 返回i二进制中1的...

2018-08-29 21:07:56 234

转载 曼哈顿距离&切比雪夫距离--hdu4311&hdu4312

1.曼哈顿距离=|x1 - y1| + |x2 - y2| + ... + |xn - yn|切比雪夫距离=max(|x1 - y1| , |x2 - y2| , ... , |xn - yn|)2.给n个点,求其中一个点到其他点曼哈顿距离和,的最小值 复杂度为O(nlgn)3.通过观察将坐标轴顺时针旋转45度并将所有点的坐标值放大sqrt(2)倍,切比雪夫距离便是所得到的...

2018-08-24 01:40:35 521

转载 最远曼哈顿距离 n维--poj2926 Requirements

给定一些n维向量[x1,...xn],求这些向量中,最远曼哈顿距离。曼哈顿距离[pi,pj] = sum(|xi_1 - xj_1| + |xi_2 - xj_2| + ... + |xi_n - xj_n|)以2维为例:pi -> (x1,x2)pj -> (y1,y2)|x1 - y1| + |x2 - y2|= max(x1 - y1 + x2 - y2 ...

2018-08-23 17:13:25 684

原创 数据结构--树状数组--dfs&前向星&模拟栈--hdu3887 Counting Offspring

1.普通的树状数组+dfs2.但是1e5直接dfs确实可能RE,所以需要手写模拟栈3.前向星比vector快一倍左右#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int maxn = 2e5 + 5;struct nod...

2018-08-14 14:29:09 195

转载 数据结构--树状数组总结

1.单点更新&前缀和查询(->区间查询)int tr[maxn];//树状数组 void add(int tr[],int x,int k){ while(x < maxn){ tr[x] += k; x += (x & -x); }}int query(int tr[],int x){ int an...

2018-08-14 13:54:02 354

转载 数论--n条不相交路径&行列式计算--hdu 5852 Intersection is not allowed!

题意:n*n矩阵,k个棋子在第一行,将他们移到最后一行,这k条路径不相交的方案数有多少1.n条不相交路径(严格)Lindstrom-Gessel-Viennot Lemma对于一张无边权的DAG图,给定n个起点和对应的n个终点,这n条不相交路径的方案数为det() (该矩阵的行列式)其中e(a,b)为图上a到b的方案数2.行列式计算https://blog.csdn.n...

2018-07-28 19:56:06 598

转载 数论--线性求逆元&线性求阶乘逆元

线性求逆元https://blog.csdn.net/qq_34564984/article/details/52292502线性求阶乘逆元const int mod = 1e9 + 7;ll fac[maxn];//fac[i]表示i!ll inv[maxn];//inv[i]表示i!的逆元ll qk_mod(ll a,ll b,ll mod){ ll ans =...

2018-07-28 16:58:41 682

转载 数论--求小于n的与n互质的数的和

给出一个N,求1..N中与N互质的数的和if gcd(n,i)=1 then gcd(n,n-i)=1 (1<=i<=n)反证法:        如果存在K!=1使gcd(n,n-i)=k,那么(n-i)%k==0        而n%k=0        那么必须保证i%k=0        k是n的因子,如果i%k=0那么 gcd(n,i)=k,矛盾出现;...

2018-07-22 18:17:23 1760

原创 数论--阶乘幂&扩展欧拉定理--牛客练习赛22E 简单数据结构1

https://www.nowcoder.com/acm/contest/132/E给定数组A,有2种操作1.区间更新,a[l]...a[r]都加x2.求阶乘幂 a[l] ^ (a[l+1] ^ (...a[r-1] ^ a[r]))解:区间更新用树状数组A[i]记录原数组delta[i]记录a[i]到a[n]共同的增量xdelta[i] = i * delta[i...

2018-07-22 17:39:59 700 2

原创 数论--阶乘幂&扩展欧拉定理--codeforces 906d Power Tower

给定数组w,q次查询,求w[ql]^ ( w[ql + 1] ^ ( ... w[qr - 1] ^ (w[qr]) ) ) % m扩展欧拉定理 (a,m) != 1时,if(b >= phi(m)) a^b % m = a ^ (b % phi(m) + phi(m) ) % mif(b < phi(m)) a^b % m = a ^ b % m(快速幂)1.快速幂和...

2018-07-21 10:16:55 532

原创 数论--p次方前n项和&伯努利数--Sum of Maximum

牛客网暑期ACM多校训练营(第一场)F Sum of Maximumhttps://www.nowcoder.com/acm/contest/139/F给定数组a,a[i]表示第i个位置可以在[1,a[i]]中任意取,求在每种情况下,数组最大值 的和。即数组最大值max * max为最大值的次数,求和。解:排序。a1,a2,a3, ... ,ai = x,aj = y, .....

2018-07-20 17:01:40 1128

原创 数论--威尔逊定理--hdu2973 YAPTCHA

https://vjudge.net/problem/HDU-2973威尔逊定理:若p为质数,p | (p-1)! + 1,即 (p-1)! = p - 1 = -1 (mod p)根据题意,Sn = f(1) + f(2) + ... + f(k)若(3 * k + 7)为质数,f(k) = 1。若(3 * k + 7)不为质数,f(k) = 0。求f(x)前缀和即可得S...

2018-07-18 16:58:51 259

原创 数论--积性函数--因子和函数&因子个数函数

因子和函数f(n) = n的所有正因子之和因子个数函数g(n) = n的所有正因子个数1.定理:如果f是积性函数,f的和函数(F(n) = sum(f(d) ,d为n的因子) )也是积性函数2.因子和函数、因子个数函数都是积性函数3.n = p1^a1 * p2^a2 * ... * ps^as因子和函数f(n) = p1^(a1+1) -1 /(p1 - 1) * p2^(a...

2018-07-18 16:50:39 2540

转载 数论-莫比乌斯-hdu1695 GCD

给定b,d,k,[1,b],[1,d]中取x,y,求gcd(x,y) = k的(x,y)对数ps:(1,2)和(2,1)相同简化为gcd(x / k,y / k) = 1gcd(x,y) = 1,x,y范围为[1,b / k],[1,d / k]1.欧拉函数+容斥2.莫比乌斯大佬题解https://www.cnblogs.com/iiyiyi/p/5635303.html1.欧拉函数+容斥#inc...

2018-07-13 21:05:33 209

原创 数论-gcd与积性函数-poj2480

求sum(gcd(i,N)),1 <= i <= N//1.gcd(i,m * n) 当m与n互质时,= gcd(i,n) * gcd(i,m) 因此他为积性函数//2.sum(gcd(i,N)) 积性函数的和也为积性函数//3.f(N) = sum(gcd(i,N)) = sum(p * phi(N / p)) p为N的因子//4.f(p^r) = r * (p^r - p^r-1)...

2018-07-12 21:22:31 505

转载 2016 China Final E Bet

uva 7901https://vjudge.net/problem/UVALive-7901转自https://blog.csdn.net/summonlight/article/details/56673544记对第i个赌局下注ci,则题意就是对于答案集合S中的每个i都有ci+ci∗biai>∑ii∈Sci=>ci∑i∈Sici>aiai+bi该式对i求和可得∑i∈Siaia...

2018-05-14 21:59:16 393 1

原创 2017 ACM-ICPC ECL-FINAL c traffic light-贪心

gym101775-c http://codeforces.com/gym/101775/problem/C出门时间不确定,求最坏情况的最小时间设置off使得最短等待时间为0,可以得知,此时,最坏情况,最多等一个红绿灯(因为只要等过一个红绿灯,之后每次过红绿灯都不需要再等待),所以等待时间最大为max(bi)#include <cstdio>#include <iostream&...

2018-05-14 19:17:26 1156

原创 计算几何--凸包

叉积 Cross(vec a,vec b) a = p0p1 b = p0p2 如果p2在p0p1的左边,叉积为正//1.每次新加入的点一定在前进方向的左边,不在的话,就将原来的点删去,直至在左边为止hdu1348 求凸包周长 + 2 * pi * l#include #include #include #include usin

2018-04-21 10:58:52 175

原创 容斥原理 求[1..m]中与m不互质的数的个数

//容斥原理的实现//1.队列数组//2.dfs//3.二进制表示//队列数组是枚举所有情况,可能有时候空间上存不下?dfs的优点是用时间换空间ps:1.int fac[15]//13! > 1e8,所以质因子的个数小于15 //long long 的话21! > ull,25肯定够2.二进制注意空集不要算

2018-04-20 21:45:35 581

原创 计算几何--分治--最近对 hdu1007

分治关键在于,最后合并的时候,取x = ps[mid].x,往左右划x - mindis,x + mindis的线,最近对还可能出现在这个带状区域中虽然可以对x左边的点在右边的区域找,但是十分不好找到他对应的点,还不如全部放在一起,按y排序,从下向上找更好。#include #include #include #include #includ

2018-04-19 16:50:10 158

转载 new, delete,malloc,free

new 和 delete1.new ,delete单个元素int *a = newint(3);//初始化值delete a;2.new,delete 一维数组 int len = 10; int *a = newint[len]; delete []a;3.new ,delete 二维数组int le

2018-04-14 10:48:11 147

原创 数论--中国剩余定理

x % m[i] = a[i]当m[i]两两互质时,是一元线性同余方程组的特殊情况,可以用中国剩余定理来解。M = m1 * m2 * ... * mrMi = M / m[i]由于Mi和m[i]互质,Mi * Pi = 1 (mod m[ i ]) 即Mi关于模m[i]有逆元x = a1 * M1 * P1 + a2 * M2 * P2 + ...x = sum (a[i

2018-04-06 14:46:13 255

原创 动态规划--dp--2018年东北农业大学春季校赛J

链接:https://www.nowcoder.com/acm/contest/93/J来源:牛客网我国现在能源消耗非常严重,现在政府有这样一个工作,每天早上都需要把一些路灯关掉,但是他们想让在关闭的过程中所消耗的能源是最少的,负责路灯关闭的工作人员以1m/s的速度进行行走,假设关闭路灯的时候不需要花费任何的时间,请你编写一个程序,计算在给定路灯位置和每个路灯的消耗能源的多少,求出当所

2018-04-06 02:49:01 345 1

原创 数论--母函数--hdu1246 自共轭Ferrers图

1.利用Ferrers图像可得关于整数拆分的几个结果。(a)整数n拆分成最大数为k的拆分数,和数n拆分成k个数的和的拆分数相等。解释:因整数n拆分成k个数的和的拆分可用一k行的图像表示。所得的Ferrers图像的共轭图像最上面一行有k个格子。(b)整数n拆分成最多不超过m个数的和的拆分数,和n拆分成最大不超过m的拆分数相等。(c)整数n拆分成互不相同的若干奇

2018-03-24 22:17:17 752

转载 hdu1265 Floating Point Presentation

给定实数,希望用IEEE32位浮点数表示,并将32位二进制用16进制表示。看到一个非常非常巧妙的办法,用float将实数f存下,p为unsigned char *,将p指向f,直接读出即可。#include using namespace std;int main(){    float f;    unsigne

2018-03-24 20:17:18 972

原创 数论--高次同余方程 A^x = B (mod p) --Baby Step Giant Step 及扩展BSGS算法

http://www.cnblogs.com/wondove/p/8590582.html这篇博客讲得挺好哒当a与n互质时,a对于mod n才有逆元1.欧拉公式 a ^ phi(p) = 1 (mod p) 要求a与p互质2.扩展gcd均可以解决逆元的问题高次同余方程 A^x = B (mod p) 求x1.A与p互质m = [sqrt(p)] (分块)令x = i * m + jA ^ x = ...

2018-03-17 21:02:08 1780

转载 求最大公约数--Stein算法

Stein算法伪代码:Stein算法(假设0r←0while b>0   do if a偶,b偶 then a←a>>1   b←b>>1   r←r+1        else if a偶,b奇 then a←a>>1        else if a奇,b偶 then b←b>>1        else if a奇,b奇 then a←(a-b)>>1

2018-03-17 10:16:35 788

原创 数论--一元线性同余方程组 poj2891 Strange Way to Express Integers

求解 一元线性同余方程 ax = b (mod m)1.ax - my = b2.a * x' + m * y' = d = gcd(a,m) 中的x',y'可由扩展gcd求得3.a * (x' * b / d) + m * (y' * b / d) = b原方程的解x = x' * b / d4.且原方程有d个对于m不同余的解,分别为x,x + m / d,x + 2m /

2018-03-16 19:16:36 220

原创 数论--素数测试

//nefu120#include #include #include using namespace std;const int maxp = 63;typedef long long ll;//将相乘改为相加计算ll mul_mod(ll a,ll b,ll mod)//a * b % mod

2018-03-11 14:52:46 152

原创 数论--n!的素因子分解中的素数p的幂为 [n / p] + [n / p^2] + [n / p ^ 3] +...

n!的素因子分解中的素数p的幂为 [n / p] + [n / p^2] + [n / p ^ 3] +...n! = 1 * 2 * 3 * ... * p * (p + 1) * ... * (2p) * ... * (p ^ 2) * ....* n类似筛法,将右边每隔p个数,除去一个p第一次,一共除去[n / p] 个pn! / (p ^ (n / p)) = 1 * 2

2018-03-11 10:46:51 1439

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除