摘要: 这道题几个重要信息: 1、依次放入编号为1,2,3,...的球。 2、任何2个相邻球的编号之和为完全平方数。 这两点就可以确定网络流构图,一定是$DAG$图。 难点在于放入到底多少个球呢? 网络流算法比较强大的是可以在残余网络中继续求解。 所以我们从小往大的球放,同时建立与其他点的连接。 直到最小路 阅读全文
posted @ 2019-02-12 22:57 AC-Evil 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 这道题是一个很裸的费用流题目。 一般点之过一次的套路就是拆点连边。 其他的模拟下就水过去了。 阅读全文
posted @ 2019-02-12 22:48 AC-Evil 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 还记得原版方格取数怎么做的吧?$DP$。 当时的复杂度为$O(n^4)$。 但现在$k \leq 10$,所以原办法行不通。 这道题发现一个数只能被取一次。 然后就是找$k$条从$(1,1)$到$(n,n)$的路径使得覆盖的数值和最大。 这个可以用网络流的相关知识求解(准确说是最小费用最 阅读全文
posted @ 2019-02-12 22:38 AC-Evil 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 洛谷的提示给的很清楚了:设 $V=\{1,2,...,n\}$ ,构造网络 $G_1=\{V_1,E_1\}$ 如下: $$V_1=\{x_0,x_1,...,x_n\}\cup\{y_0,y_1,...,y_n\}$$ $$E_1=\{(x_0,x_i):i\in V\}\cup\{(y_i,y_ 阅读全文
posted @ 2019-02-12 22:14 AC-Evil 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 第一问$LIS$求出$s$。(用正常的$O(n^2)$的算法,后面有用) 第二问首先动态规划求出$f_i$,然后根据题意 “最多可取出多少个长度为s的不下降子序列”说明子序列的起点一定在$i$当且仅当$f_i=s$,终点在$j$当且仅当$f_j=1$。 又因为这是网络流24题每个数只能被选一次, 所 阅读全文
posted @ 2019-02-12 22:10 AC-Evil 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 注意观察题目:$Pi>Pi/2$。 发现特别像什么? 二叉堆! 于是就变成了:$n$个堆元素进行排列,满足堆性质的排列对$p$的取模。(堆性质根据题意为大根堆) 设$f_i$为当前堆首为$i$的堆的排列方案数。为满足堆性质$P_i$显然只能取剩下若干数的最大值。 发现$f_i$影响$f_{2i}$和 阅读全文
posted @ 2019-02-12 21:45 AC-Evil 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 这道题题面十分简单,貌似不难,但空间一限制就比较麻烦了。 其实了解了一些比较重要的东西就很简单了。 先不切入重点。 方法一 如果一个数过半,如果将这个数转成二进制的形式,则该数对应的每位上的数(不是$0$就是$1$)一定过半(指其他数的对应数位$0$或$1$的统计)。 举个例子:有一串数 阅读全文
posted @ 2019-02-12 21:22 AC-Evil 阅读(162) 评论(0) 推荐(0) 编辑