摘要: 1.树上操作 Solution 2.树的统计 Solution 3.Disruption P Solution 4.最短距离 Solution 5.Qtree1 Solution 6.魔法树 Solution 7.软件包管理器 Solution 8.松树的新家 Solution 9.旅游 Solut 阅读全文
posted @ 2020-02-29 17:16 syzf2222 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 乍一看好像是个DP,做着做着发现锅了…… 好吧,试试WLL。 首先用dp求出最长不下降子序列的长度(简单不再赘述) 问题2: 超级源点与所有f[i]=0的点的入口相连,边权为1。 超级汇点与所有f[i]=ans的点的出口相连,边权为inf。 连所有的边满足i<j,a[i]<=a[j],f[i]=f[ 阅读全文
posted @ 2020-02-28 17:07 syzf2222 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 命运女神终于眷顾了我!!! 这两天我打费用流、旋转卡壳不是WA就是莫名TLE,这道我敬而远之的题居然一遍AC!!! 进入正题。 考虑到条件:任何时候可以互达,知道它永远联通。 真理:加边永远比删边好做,于是很自然的想到离线。 做法:1.在所有剩余的边中找出一棵生成树。 2.将剩余的却不在生成树内的边 阅读全文
posted @ 2020-02-28 01:18 syzf2222 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 这题一开始把我看愣了。难道是线段树套树状数组?空间根本开不下好不好!!! 后来想到维护区间极值,从而排除不必要情况,降低复杂度。 无需修改,码量顿减…… 注意,同一组数据放一行,注意行末空格。 #include<bits/stdc++.h> using namespace std; #define 阅读全文
posted @ 2020-02-25 16:55 syzf2222 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 从前往后能放就放,求严谨贪心证明!!! #include<bits/stdc++.h> using namespace std; map<int,int>spr; int n,ans; int top[100],cnt; vector<int>p[100]; void dfs(int pos){ a 阅读全文
posted @ 2020-02-23 12:51 syzf2222 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 弱弱的我不会网络流,发现这道题二分图也能水过,直接匈牙利不比Dinic好写一些吗??? #include<bits/stdc++.h> using namespace std; int n,k,need[25],vis[1005],match[1005],ans; vector<int>a[25], 阅读全文
posted @ 2020-02-23 12:49 syzf2222 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 裸的二分图,匈牙利算法可以水过。 #include<bits/stdc++.h> using namespace std; const int maxn=500; int n,m,p[maxn],match[maxn]; int a[maxn][maxn],to[maxn]; int dfs(int 阅读全文
posted @ 2020-02-23 12:45 syzf2222 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 不介绍原理。 例题一:P3376 【模板】网络最大流 模板。代码如下: #include<bits/stdc++.h> using namespace std; const int maxn=500000; int beg[maxn],nex[maxn],to[maxn],w[maxn],e; in 阅读全文
posted @ 2020-02-21 16:51 syzf2222 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 学习了LCT以后,本蒟蒻看着某F巨佬给的题单,深深地表示无能为力。 刚刚开始学,肯定要先打打板子,怎么还上思维呢? 你觉得给一个初学者做三叉神经树真的好吗??? 在我的不懈努力下,给大家找到了一些练手的板子题,抓紧机会把板子练熟!!! 1.P3690【模板】Link Cut Tree (动态树) 2 阅读全文
posted @ 2020-02-18 15:56 syzf2222 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 好吧,我想说,动态点分治思路好理解,但打起来真让人心累。 所谓动态点分治,就是点分治在线修改和查询。 此时,我们构造一个点分树,先找整棵树的重心,以他为根,将他和每个子树的重心连边,以此类推。 对于每个重心,我们维护一些需要的信息 我们在修改的时候,只需要沿着点分树往上跳修改信息就好了。 动态点分树 阅读全文
posted @ 2020-02-10 18:07 syzf2222 阅读(184) 评论(0) 推荐(0) 编辑