关闭

[xor最小生成树 分治 字典树合并] BNUOJ52318 Be Friends

二进制从高到低分治,当前分治到第 ii 位那么肯定是把第 ii 位为0的放一起,为1的放一起,这两块分别成一个联通块,然后之间连一条边是最优的两块分治下去。找最小边的话一边建字典树,另一边的数在字典树上找#include #include #include using namespace std;const int N=100010;ty...
阅读(6) 评论(0)

[博弈] Codeforces Gym101190 NEERC2016G. Game on Graph

有向图博弈Manchery题解#include #include #include #include #include using namespace std;typedef pair par;const int N=100010;int n,m,cnt,G[N],du[N],idu[...
阅读(3) 评论(0)

[GCD最小生成树 LCT] HDU5398 .GCD TREE

可以发现只要保留边 (i,j)(i,j) 其中 ii 整除 jj 的边就行了用LCT来维护最大生成树就可以了#include #include #include using namespace std;typedef long long ll;const int N=1500010;int n,cnt,m; struct iedge{...
阅读(1) 评论(0)

[欧拉回路] 「Balkan OI 2016」Acrobat

一个图是欧拉图的充要条件是每个点度数是偶数且连通第一种操作是同时更改 aia_i 与 aja_j 的度数奇偶性,那么 aia_i 与 aja_j 之间连边,搞棵生成树,一个点的度数是奇数时就删去它与它父亲的边。然后用第二种操作把左边的点连通,再用第二种操作把左边度数为奇数的点连起来#include #include #include #...
阅读(13) 评论(0)

[线段树 & 前缀 优化建图 二分 2-SAT] CF Gym100159 facebook-hacker-cup-2012 I. Unfriending

二分答案对于一个点,肯定有一个区间里的点和它不能共存这个可以用线段树优化建图,每个friend list最多只能删一个,用前缀优化建图还要一些针对随机数据什么的trick才能过…比如二分中的那个特判#include #include #include #include #include using n...
阅读(14) 评论(0)

[Trie树优化建图 2-SAT] Codeforces Gym101190B. Binary Code

把所有串建成一棵Trie树,相当于任意一条从根到叶子的链上都至多有一个点,用类似于前缀优化建图的方法建图#include #include #include #include #include using namespace std;const int N=5000010;int n,lst,cnt,...
阅读(9) 评论(0)

[二分 前缀优化建图 2-SAT] Codeforces 587D. Duff in Mafia

二分答案对于一个点,最多能删一条相连的边,每一种颜色最多能有一条相连的边,那么把每个点相连的边用前缀优化建图就可以了#include #include #include #include #include using namespace std;const int N=1000010;int n,m,...
阅读(18) 评论(0)

[分治 Floyd] 计蒜之道2016复赛 .百度地图的实时路况

对 yy 分治假设处理到 [l,r][l,r] 区间,如果 l=rl=r ,n2n^2 扫一遍 disdis 数组记录答案。否则把 [l,mid][l,mid] 的边加入图中,递归做 [mid+1,r][mid+1,r],再把 [mid+1,r][mid+1,r] 的边加入图中,递归做 [l,mid][l,mid]#include #include #inc...
阅读(16) 评论(0)

[坑] #定、引、公#理 杂记

几何 nn 条边,边长为 aia_i,能组成一个简单多边形当且仅当 ∀i∈[1,n],ai≤12∑i=1nai也就是max{ai}≤12∑i=1nai\forall i\in[1,n],a_i\le\dfrac{1}{2}\sum_{i=1}^n a_i \text{也就是}\max\{a_i\}\le\dfrac{1}{2}\sum_{i=1}^n a_i 图论1.Ore′sTheoremOr...
阅读(27) 评论(0)

[树形DP] Codeforces 856D. Masha and Cactus

令 fif_i 表示子树 ii 中加边的方案,gi=∑j∈sonifjg_i=\sum_{j\in son_i}f_j若当前考虑的点为 uu ,第一种方案是不加边,那么 fu=guf_{u}=g_u如果要加边,那么加的边的两个端点的lca肯定是 uu 如果加一条 x,yx,y 的边,那么造成的贡献是 ∑i∈path(x,y)∑j∈soni⋀j∉path(x,y)fj\sum_{i\in path(x...
阅读(31) 评论(0)

[树链剖分 线段树] Codeforces 860E. Arkady and a Nobody-men

按照深度从小大加入,就是一个很典型的熟练剖分加线段树实现路径修改、询问的模型复杂度是 O(nlog2n)O(n\log^2n)最后一个点加个标记永久化、记忆化什么的卡一卡才能过…#include #include #include #include #include #include #in...
阅读(15) 评论(0)

[杂题 SET维护DP] Codeforces 875E. Delivery Club

考虑二分答案只要能检验答案能不能小于 xx 就行了令 fi,jf_{i,j} 表示一个人在 ii 另一个人在 jj 是否可行那么 fi,j=or{fi−1,k | |ak−ai|≤x}f_{i,j}=\text{or}\{f_{i-1,k} ~|~ |a_k-a_i|\le x\} 这东西要set维护下就好了…#include #include #includ...
阅读(17) 评论(0)

[数学?] Codeforces871C. Points, Lines and Ready-made Titles

一个点向它上下左右的点连边每个联通块是独立的,只要方案数相乘就可以了如果一个联通块有环,那么它的所有边都能出现,通过删一些边就可以做到所有图案如果没有环就做不到所有边都出现,但其他情况都能出现。STL搞一搞搞一搞#include #include #include #include #include usin...
阅读(42) 评论(0)

[Meet in Middle] 51nod算法马拉松29 F. 空间统计学

Meet in Middle暴力过了…正解挖个坑,可能永远不会填了把…把9维坐标分成前4维和后6维令 fi,j,kf_{i,j,k} 表示前4维为 ii ,后5维与 kk 的距离为 jj 的点数(ii ,kk 状压)这样预处理下,然后再枚举一遍就好了复杂度应该是 O(45n+15×44n)O(4^5n+15\times4^4n)反正常数巨大#include #include <io...
阅读(22) 评论(0)

[最小基环生成树] Codeforces875F .Royal Questions

考虑在 aia_i 和 bib_i 之间连一条 wiw_i 的边这样会形成一个无向图。如果一个公主嫁给一个王子,就相当于给一条边定向,每个点只有一个入点如果把结果图拿出来,那么就是一棵基环树。求个最大基环生成树就好了以后打CF要先把题看完×2#include #include #include #include usin...
阅读(31) 评论(0)

[二分 ST表 杂题] Codeforces875D. High Cry

早知道先看D题就不会掉这么惨了枚举左端点,那么区间或值最多变化log次二分变化的区间,再二分区间或值大于区间最大值的区间用ST表记一下区间最大值、或值#include #include #include using namespace std;typedef long long ll;const int N=200010;int n,a...
阅读(81) 评论(0)

[FWT] Codeforces663E .Binary Table

套路题VP的时候发现这题过的人很多…把每一列状压,每一列就可以表示成小于 2202^{20} 的数字令 aia_i 为状态 ii 出现的次数, bib_i 为状态 ii 的贡献(也就是反转或不反转的1的个数的较小值)SS 表示哪些列被反转那么答案就是 minS{∑ai×bi⊕S}\min_S\{\sum a_i\times b_{i\oplus S}\}这就是个FWT的形式直接搞就好了#includ...
阅读(24) 评论(0)

[2-SAT] Codeforces875C.National Property

发现原来我并不会输出方案…这题只要找第一个不相同的位置 pospos如果 ai,pos>ai+1,posa_{i,pos}>a_{i+1,pos} 那么 ai,posa_{i,pos} 一定是大写,ai+1,posa_{i+1,pos} 一定是小写如果 ai,pos<ai+1,posa_{i,pos}<a_{i+1,pos} 那么如果 ai,posa_{i,pos} 是大写, ai+1,posa_{...
阅读(38) 评论(0)

[(可持久化)字典树 优化建图][2-SAT] LOJ#6036. && 雅礼集训 2017 Day4. 编码

老早以前的坑了 貌似好多地方都有这个题 因为每个串都只有一个问号,问号可取0可取1,这就是一个经典的2-SAT模型 但是直接做的话,边数是n2n^2级别的,不过因为是01串,可以用可持久化字典树优化建图(可能也可以不可持久化,但是我觉得可持久化比较方便)#include #include #include #include <st...
阅读(156) 评论(0)

[AtCoder][杂题]AGC015 . C .Nuske vs Phantom Thnook

同APIO2017 rainbow 只不过这题n,m只用2000,直接数组维护一下然后O(1)询问就可以了#include #include #include #define N 2010using namespace std;int n,m,q; int a[N][N]; int b[N][N],c[N][N];inline int...
阅读(176) 评论(0)
257条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:41497次
    • 积分:2885
    • 等级:
    • 排名:第13287名
    • 原创:257篇
    • 转载:0篇
    • 译文:0篇
    • 评论:9条
    最新评论