摘要: link 我的网络流建模第一题。当然那个什么奶牛的电信太弱了忽略不计。 我目前做到的网络流题目都用到了一个很重要的结论,那就是在一个网络流中,最小割等于最大流。严谨的证明我不会也懒得去想,感性的证明还是懂的。先不管这玩意为什么正确,知道它正确就行了。它有许多重要的应用,因为可以把网络流中的边看成是一 阅读全文
posted @ 2022-02-08 18:06 Feyn618 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 早闰的危害,刘义兵经典名言。 以上是题外话。 在C++中&&和||的运算顺序都是先算左边再算右边。这在压行中显得十分重要。举几个例子: 假如有 bool a=true,b=false; 那么会有以下结论。默认修改变量只对行内的引用有效。 c=(a=b)||a;//c=false c=a||(a=b) 阅读全文
posted @ 2022-02-08 16:26 Feyn618 阅读(52) 评论(0) 推荐(0) 编辑
摘要: link 也是一道模板题,和最大流是一个道理。我学的这种写法是Dinic的改进版,给每条边维护两个边权,一个是流量,一个是费用。每次对费用用SPFA跑一个最短路,然后就着这个最短路去跑一次Dinic。唯一需要注意的是反边。考虑到反边的本质是让某条旧路径放弃原有的那一段路不走了,所以费用应该会减少,建 阅读全文
posted @ 2022-02-08 16:19 Feyn618 阅读(35) 评论(0) 推荐(0) 编辑
摘要: link 终于过了这个奇怪的网络流了。一直感觉那个什么Dinic算法很奇怪,还要什么bfs分层,今天花了一下午的时间终于搞懂了Dinic是什么鬼。 Dinic是一个求解网络最大流的算法。我目前所掌握的只是小优化版本的Dinic,至于数据加强版我过不了(太弱了)。这个算法和前面二分图最大匹配算法是一个 阅读全文
posted @ 2022-02-07 17:07 Feyn618 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 当时是我理解不透彻,还大段引用他人资料理都没理解到就写了一份奇怪的代码上去糊里糊涂地过了【汗颜】。 首先要搞清楚什么是增广路。增广路是二分图上的一条路径,它在存在一个匹配的情况下才有意义。它两端的点都不在当前的匹配中,其它的点都在,而且除了首位两条边其它的边满足一个特点,即匹配边和非匹配边交错出现。 阅读全文
posted @ 2022-02-07 14:32 Feyn618 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 很智障也很基本的一些知识,但我真的不会,作为一名初三的蒟蒻应该情有可原吧。 \(a\in A\) $a\in A$:a是A中的一个元素 \(A\cap B\):$A\cap B$A和B的交集 \(A\cup B\):$A\cup B$A和B的并集 \(A\subset B=B\supset A\): 阅读全文
posted @ 2022-02-06 19:07 Feyn618 阅读(59) 评论(0) 推荐(0) 编辑
摘要: link 决策单调性的另一种写法。似乎仍然可以使用斜率优化但我没去写。 方程不重要,我的那个“方差一瞥”已经写得很清楚了,说一下决策单调性的第二种写法吧。这种写法适用于: \(f[x]=\min\limits_{i=0}^{x-1}\{g(i)+w[i,x]\}\) 其中$g(i)$是一个与$f[i 阅读全文
posted @ 2022-02-06 09:04 Feyn618 阅读(47) 评论(0) 推荐(0) 编辑
摘要: link 斜率优化模板题,机房特权啊啊啊! 写方程: \(f_x=\min\limits_{i=0}^{x-1}\{f_i+s\times(sc_m-sc_i)+st_x\times(sc_z-sc_i)\}\) 去掉大括号和min: \(f_x=f_i+s\times(sc_m-sc_i)+st_ 阅读全文
posted @ 2022-02-06 08:31 Feyn618 阅读(42) 评论(0) 推荐(0) 编辑
摘要: link 这道题显然可以使用斜率优化DP来解决,但为了理解新知识我还是研究了一下用决策单调性如何解决。 首先列方程。可以得出下面的式子: \(f[x]=\min\limits_{i=0}^{x-1}\{f[i]+(x-i+1+s_x-s_i-L)^2\}\) 对比一下模板式子: \(f[x]=\mi 阅读全文
posted @ 2022-02-06 08:21 Feyn618 阅读(22) 评论(0) 推荐(0) 编辑
摘要: link emm,题目本身并不见得很难,主要是有一个点必须理清楚。期望DP的计算需要遵守全期望公式,大概是$E=\sum\limits_i^m p_i\times c_i$,也就是说你在搞清楚一个东西对于期望的贡献的同时还应该要知道它产生贡献的概率。这也就回答了为什么本题中只能逆推而不能顺推的问题。 阅读全文
posted @ 2022-02-06 07:58 Feyn618 阅读(35) 评论(0) 推荐(1) 编辑
摘要: \(\frac{1}{m}\sum\limits_{i=1}^m(a_i-\frac{sum}{m})^2\\=\frac{1}{m}\sum\limits_{i=1}^ma_i^2+\frac{sum^2}{m^2}-2\times a_i\times\frac{sum}{m}\\=\frac{1 阅读全文
posted @ 2022-02-05 17:55 Feyn618 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 似乎很有趣的一道题目 题目要求的是 \(\sum\limits_{i=1}^n\sum\limits_{i=1}^{n}gcd(i,j)\) 假设我们有一个函数(借用了一下等于等于符号) \(f(k)=\sum\limits_{i=1}^n\sum\limits_{i=1}^{n}gcd(i,j)= 阅读全文
posted @ 2022-01-24 21:45 Feyn618 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 长链剖分初学笔记 长链剖分是重链剖分的兄弟,但与CZ宇宙里的兄弟不同的是,他不止三厘米,相反,他是越长越好,越长越好。长链剖分的原理是在统计信息时父亲直接继承某个孩子信息,其它孩子则暴力统计。这个孩子就是长孩子,连接它和父亲之间的边就叫长链。长孩子的定义是从这个孩子向下可以到达最深的角落,从这个定义 阅读全文
posted @ 2022-01-24 21:16 Feyn618 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 线段树合并学习笔记 线段树合并主要(也就是目前我知道的)适用于树上的一些较为复杂详细问题的维护,一般来说要求修改简单且询问少(一次即可)的情况。它可以在比较优秀的复杂度内(\(O(NlogN)\))完成统计。 主要是代码部分。一般来说它的实现都是对于树上每一个节点都开辟一个动态开点的权值线段树,询问 阅读全文
posted @ 2022-01-24 20:57 Feyn618 阅读(41) 评论(0) 推荐(0) 编辑
摘要: link 正在肝的一道黑题…… 首先处理那个奇怪的询问操作。我们可以对于那个奇怪的东西进行暴力推式: \(ans(l,r)=\sum\limits_{len=l}^r\sum\limits_{i=1}^{m-len+1}\sum\limits_{j=i}^{i+len-1}{a_j}\) 用前缀和搞 阅读全文
posted @ 2022-01-21 14:59 Feyn618 阅读(49) 评论(0) 推荐(0) 编辑