关闭

BZOJ3091: 城市旅行(LCT)

传送门题意 给一颗动态树,支持路径查询和修改。题解 LCT,打标记时注意先更新再下传。 Code #include using namespace std; typedef long long ll; const int Maxn=5e4+50;inline ll read() { char ch=getchar();ll i=0,f=1; whil...
阅读(26) 评论(0)

BZOJ3669: [Noi2014]魔法森林(LCT)

传送门题意 给一个无向图,每个边上有边权ai,bi,求一条路径,使得max(ai)+max(bi)最小。题解 将a值排序后LCT暴力加边维护关于b值的最小生成树。注意有一点是LCT不能维护边上的权值,只能维护点上的权值,所以要将每条连边上加一个点,Splay顺便维护最大值即可。 Code #include using namespace std; const int...
阅读(13) 评论(0)

BZOJ4530: [Bjoi2014]大融合(LCT维护子树)

传送门题意: 给一个动态树,维护sze集合大小。题解: 动态树。这里贴出一份LCT维护子树和的方法(不支持修改): 对于一个点x,如果我们对x进行access操作,那么他的虚子树内将包含且仅包含他原树中子树内除了他自己以外的所有点,这时如果我们维护了他的虚子树信息和,我们把这个信息与他自己的信息合并,我们就得到了他在原树中的子树信息。 考虑一个点的虚子树信息会在什么情况下发生改变,...
阅读(10) 评论(0)

O(1)快速乘

引自2009国家集训队论文: 骆可强:《论程序底层优化的一些方法与技巧》 inline ll ksc(ll x,ll y,ll mod) { return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod; }应为x,y都是mod意义下的,保证了x*y/mod不会爆long long。...
阅读(50) 评论(1)

poj1637:Sightseeing tour(混合图欧拉回路,网络流)

传送门题意:判断混合图是否存在欧拉回路。真是一道好题。 把该图的无向边随便定向, 计算每个点的入度和出度。如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路。因为欧拉回路要求每点入度= 出度,也就是总度数为偶数,存在奇数度点必不能有欧拉回路。好了,现在每个点入度和出度之差均为偶数。那么将这个偶数除以2,得x。也就是说,对于每一个点,只要将x 条边改变方向(入>出就是变入,出>入就是变出),就能保...
阅读(34) 评论(0)

网络流总结

Dinic算法其实就是不断找增广路。。Dinic只不过是在最短路上增广,有了一步优化。例题:poj1273(模板)先打个模板压压惊。#include #include #include using namespace std; const int Maxn=2e2+50,Maxm=5e2+50; const int INF=0x3f3f3f...
阅读(29) 评论(0)

差分约束系统详解

差分约束问题差分约束系统 原理 建图 求最小解 求最大解差分约束问题差分约束系统给出一些形如x-y<=b不等式的约束,问是否有满足问题的解,或者求最小,最大解。 这个问题的神奇之处是可以转化为图论的最短路问题。原理对于图论的最短路径,有:对于d(v) <= d(u) + w(u, v) ,而差分约束系统的解法利用到了单源最短路径问题中的三角形不等式。 移项得:d(v) – d(u) <= w(u...
阅读(38) 评论(0)

二分图匹配详解

二分图匹配二分图的原始模型及相关概念 二分图的匹配 最大匹配 完全匹配 最佳匹配 最佳完备匹配 一般图最大匹配 求解二分图最大匹配 网络流算法 匈牙利算法 常见模型 三个重要等式 例题 poj3041求最小点覆盖 poj1422有向图最小边覆盖 poj1486Sorting Slides判断唯一匹配 二分图匹配1.二分图的原始模型及相关概念二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,...
阅读(168) 评论(0)

CC PRIMEDST(点分治+FFT)

题意 给你一颗树,求距离为质数的点对个数。 题解 裸题。。。 顺便打一份点分治的板,以前打错板从来没错过。。。#include #include #include #include #include #include #include using namespace std;...
阅读(57) 评论(1)

FFT,NTT模板

FFT:#include using namespace std; const int Maxn=2050; const double PI=2*acos(-1.0);struct Complex { double r,i; Complex(double r=0,double i=0):r(r),i(i){} friend inline Comple...
阅读(58) 评论(1)

Manacher算法总结

Manacher算法Manacher算法是一种优秀的在O(n)时间复杂度内计算回文串的算法。利用该算法可以解决许多与回文串有关的问题。求最长回文串这种模板就不说了。这里有用manacher解决字符串问题的两道进阶题。BZOJ2565:最长双回文串。定义双回文串T,满足存在T=ab,a,b都为回文串。给定字符串S,求maxlen(T),T∈S.题解: 考虑对于每一个双回文串必然有一个分界线,而对于每...
阅读(286) 评论(0)

BZOJ2705: [SDOI2012]Longge的问题(欧拉函数)

传送门 题意 给一个数NN,求∑gcd(i,N)∑gcd(i, N)。 题解 枚举因数dd,再用欧拉函数求与nd\frac{n}{d}互质的数。 Code #include using namespace std; typedef long long ll;ll n,ans;inline ll phi(ll x) { ll lim=sqrt(x),A=x;...
阅读(38) 评论(0)

BZOJ2154,BZOJ2693 (Mobius反演)

BZOJ2154:Crash的数字表格 BZOJ2693:jzptab BZOJ 2154 给n,mn,m,求∑i=1n∑j=1n[lcm(i,j)]\sum\limits_{i=1}^n\sum\limits_{j=1}^n[lcm(i,j)] 将原式适当变形得:∑i=1n∑j=1n[lcm(i,j)]====∑i=1n∑j=1ni⋅jgcd(i,j)∑d∑i=1⌊nd⌋∑i=1⌊md⌋d2⋅...
阅读(55) 评论(1)

BZOJ2820: YY的GCD(Mobius反演)

传送门题意 给xx,yy,求1≤i≤x,1≤j≤y1 \le i \le x,1\le j \le y且gcd(i,j)gcd(i,j)为质数的(i,j)(i,j)对数。题解 不妨设n<mn<m。 首先有重要等式: ⌊⌊ab⌋c⌋=⌊abc⌋\lfloor\frac{\lfloor \frac{a}{b}\rfloor}{c}\rfloor=\lfloor \frac{a}{bc}\rflo...
阅读(53) 评论(0)

BZOJ:2440: [中山市选2011]完全平方数(容斥原理)

传送门题意:给你一个数k,求从1开始第k个非完全平方数。定义一个数为完全平方数当且仅当这个数质因数分解后存在二次项。 如: 4=224=2^2为完全平方数,30=2∗3∗530=2*3*5为非完全平方数。题解: 1.从1开始第k个非完全平方数⇔\Leftrightarrowmin(n)min(n),比nn小的非完全平方数有k个。有了这个性质,可以二分。 2.nn小的非完全平方数个数=∑i=1n...
阅读(60) 评论(0)

BZOJ2956:模积和

传送门 题意 求∑∑((n%i)∗(m%j))(1≤i≤n,1≤j≤m,i!=j)\sum\sum((n\%i)*(m\%j))(1\le i\le n,1\le j\le m,i!=j) 题解 如果没有i!=ji!=j这一条件这道题就简单了。 ∑(n%i)=∑(n−⌊ni⌋∗i)=n2−∑(⌊ni⌋∗i)\begin{align}\sum(n\%i)&=\sum(n-\lfloor \frac...
阅读(64) 评论(1)

欧拉回路及例题

欧拉回路 几个定义 性质与定理 定理1 推论1 定理2 推论2 性质1 性质2 算法主体 例题 uoj117求给定图的欧拉回路 poj1041求字典序最小的欧拉回路欧拉回路几个定义设G (V,E)是一个图。 1.欧拉回路 图G中经过每条边一次并且仅一次的回路称作欧拉回路。 2.欧拉路径 图G中经过每条边一次并且仅一次的路径称作欧拉路径。 3.欧拉图 存在欧拉回路的图称为欧拉图。 4....
阅读(58) 评论(0)

poj3678:Katu Puzzle(2-SAT)

传送门 题意 有一个大小为N的集合={x1,x2..xn},xi=0或1,现在给出它们之间的一些逻辑运算的结果(比如x1 and x2=1),逻辑运算有AND OR XOR三种,问是否存在一种满足所有条件的取值方案。 题解:2-SAT 这道题真是把2-SAT思想诠释得淋漓尽致。给出关键部分: if(ch[1]=='A') { if(c==1)//...
阅读(42) 评论(0)

poj2749:Building roads(2-SAT)

传送门 题意 一对新人结婚,邀请了n-1对夫妇去参加婚礼。婚礼上所有人要坐在一张很长的桌子。的两边。所有的夫妇(包括新郎新娘)两人不能坐在同一边。还有m对人,对于每对人 (a,b),两人不能同时坐在新郎一边,但可以同时坐在新娘这边或是分两边坐。如果存在一种可行的方案,输出与新娘同侧的人 (任意一种方案即可)。否则输出无解(bad luck)。 题解:2-SAT 2-SAT问题 按照自己的理...
阅读(36) 评论(0)

poj3580:SuperMemo(块状链表/Splay)

传送门 题意: 题目要求实现一种数据结构,支持6种操作: add x,y D:第x个数到第y个数之间的数每个加D; reverse x y:第x个数到第y个数之间全部数翻转; revolve x y T:第x个数到第y个数之间的数,向后循环流动T次,即后面T个数变成这段子序列的最前面T个,前面的被挤到后面。 Insert x P:在第x个数后面插入一个数P。 Delete x:删除第x个数...
阅读(44) 评论(0)
91条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:9118次
    • 积分:971
    • 等级:
    • 排名:千里之外
    • 原创:88篇
    • 转载:3篇
    • 译文:0篇
    • 评论:9条
    友情链接