Solution -「洛谷 P4194」矩阵】的更多相关文章

\(\mathcal{Description}\)   Link.   给定一个 \(n\times m\) 的矩阵 \(A\),构造一个 \(n\times m\) 的矩阵 \(B\),s.t. \((\forall i\in[1,n],j\in[1,m])(b_{ij}\in[L,R])\),且最小化: \[\max\left\{\max_{i=1}^n\{\left|\sum_{j=1}^m a_{ij}-b_{ij}\right|,\max_{j=1}^m\left| \sum_{i=1…
\(\mathcal{Description}\)   OurOJ & 洛谷 P4372(几乎一致)   设计一个排序算法,设现在对 \(\{a_n\}\) 中 \([l,r]\) 内的元素排序,则重复冒泡排序零次或多次,直到存在某个位置 \(p\in[l,r)\),满足 \(\max_{i=l}^p\{a_i\}<\min_{i=p+1}^r\{a_i\}\),则递归入 \([l,p]\) 和 \((p,r]\),直到区间长度为 \(1\) 时停止.求所有冒泡排序所操作的区间长度之和.  …
\(\mathcal{Description}\)   Link.   给定 \(n\) 个点 \((x_i,y_i)\),求一个不超过 \(n-1\) 次的多项式 \(f(x)\),使得 \(f(x_i)\equiv y_i\pmod{998244353}\).   \(n\le10^5\). \(\mathcal{Solution}\)   摆出 Lagrange 插值的式子: \[f(z)=\sum_{i=1}^ny_i\prod_{j\neq i}\frac{z-x_j}{x_i-x_j…
\(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个结点的带权树,\(m\) 次单点点权修改,求出每次修改后的带权最大独立集.   \(n,m\le10^5\). \(\mathcal{Solution}\)   不考虑修改,显然 DP.令 \(f(u,0/1)\) 表示选 / 不选结点 \(u\),\(u\) 子树内的带权最大独立集.那么: \[\begin{cases}f(u,0)=\sum_v\max\{f(v,0),f(v,1)\}\\f(u,…
\(\mathcal{Description}\)   Link.   给定点集 \(\{P_n\}\),\(P_i=(i,h_i)\),\(m\) 次修改,每次修改某个 \(h_i\),在每次修改后求出 \((0,0)\cup\{P_n\}\) 的下凸壳大小(输出时 \(-1\)).   \(n,m\le10^5\),\(h_i\ge0\). \(\mathcal{Solution}\)   令 \(k_i=\frac{h_i}{i}\),我们相当于要维护 \(\{k_n\}\) 中从 \(k…
\(\mathcal{Description}\)   Link.   给定二分图 \(G=(V=X\cup Y,E)\),\(|X|=|Y|=n\),边 \((u,v)\in E\) 有权 \(w(u,v)\),且保证存在完美匹配.求 \(G\) 的一个匹配 \(M\),最大化 \(\sum_{(u,v)\in M}w(u,v)\).   \(n\le500\). \(\mathcal{Solution}\)   首先我会费用流.   Kuhn-Munkres 算法,能够在 \(\mathca…
\(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的带点权树,删除 \(u\) 点的代价是该点点权 \(a_u\).\(m\) 次操作: 修改单点点权. 询问让某棵子树的根不可到达子树内任意一片叶子的代价.   \(n,m\le2\times10^5\). \(\mathcal{Solution}\)   不考虑修改,列出 DP: \[f(u)=\begin{cases}a_u&u\text{ is leaf}\\\min\{a_u,\sum_vf…
\(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的仙人掌,\(q\) 组询问两点最短路.   \(n,q\le10^4\),\(m\le2\times10^4\). \(\mathcal{Solution}\)   提出一个环来考虑,从环上一点 \(u\) 到 \(v\),无非两条路径.可以按顺序处理一个前缀和.如图:   令 \(sum_2\) 为结点 \(1\) 到 \(2\) 的顺时针距离,\(sum_3\) 为结点 \(…
\(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的连通无向图,并给出 \(q\) 个点对 \((u,v)\),询问 \(u\) 到 \(v\) 的路径所必经的结点个数.   \(n,q\le5\times10^5\),\(q\le\min\{\frac{n(n-1)}2,10^6\}\). \(\mathcal{Solution}\)   大概是双倍经验吧.   建出圆方树,预处理圆方树上每个点到根经过的圆点个数,然后求 LCA…
\(\mathcal{Description}\)   link.   求包含 \(n\) 个点的边双连通图的个数.   \(n\le10^5\). \(\mathcal{Solution}\)   类似于这道题,仍令 \(D(x)\) 为有根无向连通图的 \(\text{EGF}\),\(B(x)\) 为边双连通图的 \(\text{EGF}\),考虑用 \(B\) 表示 \(D\).显然,根仅存在于一个边双连通分量中.我们可以在这个连通分量的任意一个点上挂一个有根连通图,这显然不会影响当前的…