02 2021 档案
摘要:Uoj 285 数据分块鸡 决策单调性+二维数点。 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #pragma GCC optimize("Ofast") #include<bi
阅读全文
摘要:分段函数+积分 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=c;
阅读全文
摘要:GP of Nizhny Novgorod K. Rectangle Painting /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h>
阅读全文
摘要:【ZJOI2019】麻将 dp套dp+自动机。 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) f
阅读全文
摘要:CF 1307 G Cow and Exercise 一个结论: 取出前$k$小的互不相交的路径。 假设它们的长度和为$len_k$ 。 则答案为$\min{(len_k+x)/k}$。 proof: 假设只给$k$条增加,那么一定是尽可能均匀。 如果不是最优的会被覆盖。 /* { ########
阅读全文
摘要:CF 1383 F 题解 转换为最小割。 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(
阅读全文
摘要:P3980 [NOI2008] 志愿者招募 无源汇上下界最小费用流。 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define
阅读全文
摘要:线性计算$\max +$卷积(数列为凸) $\max +$卷积: \(g_i=\max\{a_x+b_{i-x}\}\) 如果数列是凸的。 做出差分,每次取走最大的。
阅读全文
摘要:GYM 102331 J Jiry Matchings 一个比较显然的$dp$。 $dp_{i,k,j}$表示以i为根的子树内有$k$个匹配,且第i个点的使用状态为j(用/不用)。 转移相当于做一遍$max+$卷积。由于这个显然是凸的,所以可以做到线性计算$max+$卷积。 然后可以想到分治合并子树
阅读全文
摘要:HDU 6094 Rikka with K-Match 网络流大多都是上凸的! wqs二分(实数二分) 轮廓线dp(需要记录最优解和选择的条数)。 其中二分的值是整数就行: proof: $f(x)$是整数。 /* { ###################### # Author # # Gary
阅读全文
摘要:gym 102904 B Dispatch Money 决策单调+cdq分治。 时间复杂度为$O(N\log^3N)$ /* { ###################### # Author # # Gary # # 2021 # ###################### */ #includ
阅读全文
摘要:dp套dp /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=c;++
阅读全文
摘要:K. Bookcase Solidity United — Grand Prix of Belarus — XXI Open Cup named after E.V. Pankratiev (yandex.ru) 题解 statement: $dp_{i,j,k}\(表示消除\)[i,j]$的架子,
阅读全文
摘要:HackerRank Definite Random Walks 题解 传送门 首先图的样子是一个根向树+一条反向的返祖边。 对于环上的点,所有经过环上的边到达它的点都可以规约到只走一边环上的边。 钦定一个环上的点为root。 然后处理出每一个深度的点的数量。 这样可以算出所有经过一段环上的边的贡献
阅读全文
摘要:statement /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=
阅读全文
摘要:/* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=c;++a) #de
阅读全文
摘要:EA 的练习赛 2 题解 A 🆗 B C 🆗 D 🆗 E 未完待续…… 一些简单的题目就口胡了…… A. ix35 的等差数列 枚举哪一个位置不动,然后枚举公差。用map记录。 时间复杂度为$O(n\log ^2 n)$。 /* { ###################### # Autho
阅读全文
摘要:/* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=c;++a) #de
阅读全文
摘要:字典图学习笔记 字典图就是你用bfs建立ac自动机的时候,每一个点连到每一个儿子形成的dag。 可以看一看oi-wiki上的ac自动机。 这种数据结构可以处理图上转移的"avoid"问题,(就是不含有某一个子串,可以见例题) 例题: ASC 17 C Forbidden Subwords (cf g
阅读全文
摘要:CF878D Magic Breeding 题解 真就和WC t2 思路一样。无语了。。。 /* { ###################### # Author # # Gary # # 2021 # ###################### */ #include<bits/stdc++.
阅读全文
摘要:CF1477 E. Nezzar and Tournaments 题解 可以发现第i个人的得分= 可以发现如果固定了$c_1$,则最优的放置是:第二队放在最前面,第一队放在最后面,第一队升序,第二队降序就可以了。 可以发现这是关于$c_1$的单峰函数,所以可以分别对于$a_1...a_n$,$b_1
阅读全文
摘要:Eat the Trees 题解 Eat the Trees - HDU 1693 - Virtual Judge (vjudge.net) 这次不是口胡了。。 插头dp就好了。 画出几个case: /* { ###################### # Author # # Gary # #
阅读全文
摘要:FMT 笔记 和$FFT$差不多,不过比$FFT$简单很多。 $FMT$是处理$AND/OR$卷积的,($XOR$卷积的可以用$FWT$,不过目前还不会) 下面以$OR$举例: 给出序列$a,b$,需要求出$c$,$c$按照以下方式构造: \(\sum_{i=1}^n\sum _{j=1}^n c_
阅读全文

浙公网安备 33010602011771号