07 2022 档案

摘要:一、单目运算符 作用域解析 :: 后缀运算符、各类括号 (),[], ++, --, . ,-> 前缀运算符 ++ ,-- ,! ,~ ,- ,+ ,* ,& ,(type),sizeof 注:+ ,- 是正负号,(type) 是类型转换运算符。 二、双目运算符 乘除模 * , / , % 加减法 阅读全文
posted @ 2022-07-18 21:06 A_zjzj 阅读(108) 评论(0) 推荐(0) 编辑
摘要:思路 先前缀和一遍,然后就转化成为了区间加,区间查询最值以及区间的最大子段和。 直接上线段树,维护的时候处理一下最大子段和就行了。 代码 #include<bits/stdc++.h> using namespace std;typedef long long ll;const int N=1e5+ 阅读全文
posted @ 2022-07-06 14:13 A_zjzj 阅读(19) 评论(0) 推荐(0) 编辑
摘要:思路 十分板,直接上线段树分裂就行了,加上一个并查集维护一下联通情况就行了。 代码 #include<bits/stdc++.h> using namespace std;typedef long long ll;const int N=1e5+10,P=1e7;char op[5]; int n, 阅读全文
posted @ 2022-07-04 22:16 A_zjzj 阅读(24) 评论(0) 推荐(0) 编辑
摘要:思路 直接 dfs 一遍。 首先,一个子树内的点都是一遍 dfs 到的,那么直接差分一下,到达 u 的时候记录当前的 >pu 的个数,然后 dfs 完 u 的子树的时候,记录 >pu 的个数,相减即为 u 的答案。 代码 #include<bits/stdc++.h> usi 阅读全文
posted @ 2022-07-04 20:21 A_zjzj 阅读(24) 评论(0) 推荐(0) 编辑
摘要:思路 一道很妙的反悔贪心题。 考场上打的是 O(n×k)dp,其中 kai 的种类数。 考虑贪心,先从大到小枚举 ai,把相同的 ai 一起处理。 当前可以白嫖的直接白嫖,如果不能再白嫖了,再看看如果前面白嫖了一个 x,当前的为 y。 若 阅读全文
posted @ 2022-07-04 19:34 A_zjzj 阅读(70) 评论(0) 推荐(0) 编辑
摘要:思路 模拟赛的题,有点板。 直接建出原图的 Kruscal 重构树,然后发现询问变成了一个子树内区间第 K 大。 直接转化到序列上然后主席树即可。 代码-P4197 Peaks #include<bits/stdc++.h> using namespace std;typedef long long 阅读全文
posted @ 2022-07-04 19:24 A_zjzj 阅读(45) 评论(0) 推荐(0) 编辑
摘要:思路 很显然直接用最小割处理这种问题(列个方程解一下,注意两点中间的边要用正权,其他的边的权值可以任意变换)。 发现现在的问题是求最大的方案,于是我们把边权取相反数,就转化为最小割问题了。 然而现在有一个问题,就是边权是负数,不能跑最小割,所以把其他的边权加上一个值变成正数,最后减掉去,就可以了。 阅读全文
posted @ 2022-07-04 19:20 A_zjzj 阅读(33) 评论(0) 推荐(0) 编辑
摘要:重要结论 一般图中,|最大流|=|最小割| 对于不存在孤立点的图,|最大匹配|+|最小边覆盖|=|V|; 一般图中,|最大独立集|+|最小顶点覆盖|=|V|,最小顶点覆盖与最大独立集互补; 一般图中,负点向汇点连边,正点从源点连边,则新图中,最大权闭合图权值=正点 阅读全文
posted @ 2022-07-03 22:33 A_zjzj 阅读(32) 评论(0) 推荐(0) 编辑
摘要:思路 这道题网络流建模十分妙妙。 首先从源点 s 连一条流量为 ai 的边到 i,从 i 连一条流量为 bi 的边到汇点 t。 把答案当做这张图的最小割,如果加了一条限制 (x,y,v),那么也就是如果割掉了两个点同侧的边就不用其他费用,否则要加上费用。 发现要加上费 阅读全文
posted @ 2022-07-01 14:44 A_zjzj 阅读(48) 评论(0) 推荐(0) 编辑
摘要:思路 显然直接建图跑个最大流,答案就是总蜥蜴数减掉最大流。 但是由于有高度的限制,也就是每个地方只能被走一定数量,还要加一些限制。 所以把每个点拆成入点和出点,从入点向出点连一条流量为 hi,j 的边。 再枚举出每个格子能跳到的其他格子,从当前格子的出点向其他能跳到的格子的入点连一条 $+ 阅读全文
posted @ 2022-07-01 12:49 A_zjzj 阅读(28) 评论(0) 推荐(0) 编辑
摘要:思路 这题的转化很妙,我看了一下题解才想明白。 首先显然往返不需要走一个环,直接原路返回可以达到最优,所以危桥至多只能走 2 次可以和往返直接抵消掉。 变成危桥最多只能走 1 次,不需要往返,只要过去就行了。 那么想到用网络流,从超级源 s 向 源点 a1,b1 连边,从汇点 $ 阅读全文
posted @ 2022-07-01 11:23 A_zjzj 阅读(35) 评论(0) 推荐(0) 编辑
摘要:思路 先考虑二维的怎么做,发现选了一列要填,那么肯定是这一列都填一遍,然后发现如果有一个点要被填,也就是这一列和这一行只要要填一个,建出二分图,直接跑个最小点覆盖(也就是选出最少的点使得每条边都至少有一个点被覆盖,数值上等于最大匹配)。 然后转化到三维上去,就是直接枚举一维的覆盖情况,然后转化到二维 阅读全文
posted @ 2022-07-01 09:33 A_zjzj 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示