08 2019 档案
摘要:题意: 无向图的网络流 思路: 无向图在加边时,要加两条方向相反流量相同的边,不同于有向图的流量为0的反悔边. 这题的数据范围比较大,容易T~~巨巨能跑0ms,说不定是专门卡dinic~~.借此来学习一下dinic的几个优化. 1. 多路增广: 其实这种优化已经成了正常的写法,说不上是优化了感觉,在
阅读全文
摘要:A 题意: f(n) = f(n 1)^f(n 2); 给a,b,求f(n) 思路: a^b=c = b^c=a, a^c=b, 所以是3个数循环,直接算f(n%3+1)即可 B 题意: 给出序列,让你删除一段区间,使得剩下的区间不存在重复的
阅读全文
摘要:题意: 给出m个点和n个人,每个人有一个速度,可以跑向一个点,但每个点只能被一个人占领 思路: 每个人和每个点都建一个点,如果人能跑到点则连一条边,求最大匹配即可. cpp include define ll long long using namespace std; const int INF
阅读全文
摘要:A 题意: 给出一个二进制数,求比这个数小的四的整次方倍数的个数 思路: 直接求长度除2,若长度为奇数且除最高次位外其他位数有1,则答案加1. 二进制数的每两位代表一个四进制数 B 题意: 一个序列,其中的每个数要么是该序列中一个数的两倍,要么是1,给出不同数字的最大,最小个数,求这个序列
阅读全文
摘要:H 题意: 给出一个图,只可能为他给出五个图的同构,让判断是哪个图 思路: 根据给出图的特点,求2度,3度,4度点的个数即可 cpp include define lson(p) (pML) slen[i] = ML; } } void f(int k,ll pos){ if(k slen[k 2]
阅读全文
摘要:无向图的割顶和桥 low[i] 表示 i号节点能访问到最早节点的编号 dfn[i] 表示 i号节点在dfs序中的编号 非根 如图 2的儿子连回了他的父亲1的父亲,导致1不能成为割点. 而若是2的儿子连回了1,则1仍然可以作为割点 对于桥,若2的儿子既不能连回1也不能连回1的父亲,即图中蓝色的边不存在
阅读全文
摘要:```cpp include include include include include include include include define lson(p) (p st; int ind,ans; void init(){ tot = 0; memset(head, 1,sizeof
阅读全文
摘要:题意: 求权值最小的割边 思路: 则 这条边则为割边,由于有重边(重边一定不是割边),加个判断是否为第一次访问到父亲即可. cpp include include include include include include define ll long
阅读全文
摘要:题意: 一维线段上n个点,有摧毁和修复两种操作,询问某点最大的可达区域 思路: 线段树维护代表区间左端点开始最长联通区域,代表右端点开始最长联通区域.单点修改只有操作,用左子树更像,右子树更新 当前节点与左右子
阅读全文
摘要:题意: 一维区间,有申请一段连续区间的操作,优先级高的申请可以覆盖优先级低的,还可以清空一段区间的申请.问对每次申请的结果. 思路: 为两种申请都创建一颗线段树,每个节点保存左区间最长的,右区间最长的和总区间最长的连续区间 cpp include include include include in
阅读全文
摘要:B 题意: 一个序列,当你在i时,可以降低来获得收益,也可以用升高.当$|a_i a{i+1}| include include include include define ll long long using namespace std; typedef pair pii;
阅读全文
摘要:题意: 给出两根木棍,求最多能接到多少水 思路: 疯狂判断 1. 判断两个线段是否平行 2. 判断是否有交点 3. 求交点和较短木棍的点 4. 判断斜率大的直线会不会覆盖斜率小的直线 求即可 精度可以调小一点,1e4的数据会有精度误差
阅读全文
摘要:题意: 树上查询两点之间的距离和两点路径上的第k个点 思路: 先用树剖求lca,并记录下每个点到根的距离来回答第一个询问. 对于第二个询问,求每个点到其lca的距离然后暴力向上跳,若 ,则在左边上跳个点,否则在右边上跳 个点 树链剖分求lca 1. 两个点跳到同一链上(更深的点跳到他所在链
阅读全文
摘要:题意: 在二维平面给出很多棍子,求在最上面的棍子(不被覆盖) 思路: 从前向后枚举线段是否跟后面线段有交点即可 我们可以通过det的符号判断点对于线段的相对位置: 大于零右侧,小于零左侧,等于零在线段上
阅读全文
摘要:A 题意: 垃圾分类 思路: 模拟 除数要double~~不然会wa QAQ~~ B 题意: 将2进制的ipv6地址转换成 最短的字典序最小的 标准格式(需要缩0) 思路: 模拟,先转成16进制,再去掉前置0,最后遍历所有缩0情况,获得答案. J 题意: 给出n m的矩阵,每列的元素要从后往前选,每
阅读全文
摘要:题意: 长度为的序列,给出个问题,表示为a,b区间和为v,但有可能跟前面的冲突,计算冲突的数量(冲突后的问题不再更新序列) 思路: 带权并查集,权表示当前点到父亲的区间和,对于每个都有: 当a,b父亲不同:对齐进行合并 对于a,b父亲相同时:判断是否合法 cpp inclu
阅读全文
摘要:题意: 有向图,每个点代表一个物品(有价格,级别),边代表从当前点转移到目的点的价格,问买到1点的最小价格,路径上点的级别差不能超过m 思路: 不考虑级别则通过 价格转移,正向存边求1到所有点的最短路即可. 考虑级别差,当级别差为0时代表没有级别差,然后需要枚举最大级别跑n边最短路 表示不符合当前约
阅读全文