摘要: 题意一个数列$A$,数的范围均在$[0, 2^N 1]$内,求一个$B$,使得新生成的数列$C$中逆序对最多($C_i = A_i xor B$),输出最多的逆序对。($|A|<=10^5$) 分析这种题当然要逐位考虑..考虑到二进制和xor,我们需要想到trie... 题解将数列插入到一棵tri... 阅读全文
posted @ 2015-11-22 18:53 iwtwiioi 阅读(552) 评论(0) 推荐(0)
摘要: 题意$K(1 \le K \le 10^9)$堆石子,每堆石子个数不超过$L(2 \le 50000)$,问Nim游戏中先手必败局面的数量,答案对$10^9+7$取模。 分析容易得到$f(i, k) = \sum_{j=0}^{n 1} f(i 1, j) f(i 1, k^j), f(1, i(... 阅读全文
posted @ 2015-11-22 18:52 iwtwiioi 阅读(1070) 评论(0) 推荐(0)
摘要: 题意给出$n$个01字节和$m$个01字节,要求用后者去匹配前者,两个串能匹配当且仅当除了每个字节末位不同,其他位都要相同。问匹配后者至少有多少个末位不同。($1 \le m \le n \le 2.5 \times 10^5$) 分析首先我们可以用kmp计算出能匹配的位置,然后单独考虑末位不同的... 阅读全文
posted @ 2015-11-22 18:50 iwtwiioi 阅读(484) 评论(0) 推荐(0)
摘要: 题意给两个树,大小分别为n和m,现在两棵树各选一些点(包括1),使得这棵树以1号点为根同构(同构就是每个点的孩子数目相同),求最大的同构树。(n, m<=500) 分析我们从两棵树中各取出一个点,考虑以这两个点为根能得到的最大同构数。 题解容易得到:设$d(i, j)$表示第一棵树选$i$号点,第... 阅读全文
posted @ 2015-11-22 18:48 iwtwiioi 阅读(422) 评论(0) 推荐(0)
摘要: 题意给出一棵n个点的树,求包含1号点的第k小的连通块权值和。($n<=10^5$) 分析k小一般考虑堆... 题解堆中关键字为$s(x)+min(a)$,其中$s(x)$表示$x$状态的权值和,$min(a)$表示$x$状态相邻的不在$x$里的的点的最小权值。每一次从堆中弹出最小的,然后用这个来拓... 阅读全文
posted @ 2015-11-22 18:46 iwtwiioi 阅读(572) 评论(0) 推荐(0)
摘要: Case 1 题意要求给出下面代码的答案然后构造输入。给一个图, n 个点 m 条边 q 次询问,输出所有点对之间最大权值最小的路径。 题解把每一个询问的输出看成一条边,建一棵最小生成树。 Case 3 题意给输出,要求构造输入使得用所给代码运行后得到的输出和给出的输出相同。所给代码:n 次 Di... 阅读全文
posted @ 2015-11-22 18:44 iwtwiioi 阅读(306) 评论(0) 推荐(0)
摘要: 题意给定两个字符串 A 和 B,求下面四个问题的答案:1.在 A 的子串中,不是 B 的子串的字符串的数量。2.在 A 的子串中,不是 B 的子序列的字符串的数量。3.在 A 的子序列中,不是 B 的子串的字符串的数量。4.在 A 的子序列中,不是 B 的子序列的字符串的数量。其中子串是指本质不同... 阅读全文
posted @ 2015-11-22 18:42 iwtwiioi 阅读(328) 评论(0) 推荐(0)
摘要: 题意给一个$N \times M$的01网格,1不能走,从起点$(1, 1)$走到$(N, M)$,每次只能向下或向右走一格,问两条不相交的路径的方案数。(n, m<=1000) 分析先考虑一条,再考虑去掉相交的情况。 题解令$d(a, b, c, d)$表示从$(a, b)$走到$(c, d)$... 阅读全文
posted @ 2015-11-22 18:40 iwtwiioi 阅读(457) 评论(0) 推荐(0)
摘要: 题意给定相离的两个圆(圆心坐标以及半径)以及圆外的一个定点$P$,求出过点$P$的且与已知的两个圆外切的所有圆(输出总数+圆心、半径)。 分析如果强行解方程,反正我是不会。本题用到新姿势:圆的反演。二维上的圆的反演通常是指定一个圆$C$为基础,其圆心$O$为反演中心,其半径$r$为反演半径。对于平... 阅读全文
posted @ 2015-11-22 18:36 iwtwiioi 阅读(442) 评论(0) 推荐(0)
摘要: 题意$n(1 \le n \le 100)$个点$m(1 \le m \le 1000)$条加权边的无负环无向图,求一个最小环。 分析加入有一个环,其编号最大的点为$L$,那么这个环可以看为$L$与其相邻的两个点$A$和$B$与$A$到$B$的最短路上的点(编号均小于$L$的最短路)。考虑floy... 阅读全文
posted @ 2015-11-22 18:35 iwtwiioi 阅读(413) 评论(0) 推荐(0)
摘要: 题意给定一个长度为$n(1 \le n \le 500000)$的序列$a_i(0 \le a_i \le 10^{18})$,将它划分为$m(1 \le m \le n)$段连续的区间,设第$i$段的费用$c_i$为该段内所有数字的异或和,则总费用为$c_1 \ or \ c_2 \ or \ ... 阅读全文
posted @ 2015-11-22 18:33 iwtwiioi 阅读(655) 评论(0) 推荐(0)
摘要: 题意给定一个$n$个点、$m$条边的带权无向图,其中有$s$个点是加油站。每辆车都有一个油量上限$b$,即每次行走距离不能超过$b$,但在加油站可以补满。$q$次询问,每次给出$x,y,b$,表示出发点是$x$,终点是$y$,油量上限为$b$,且保证$x$点和$y$点都是加油站,请回答能否从$x$... 阅读全文
posted @ 2015-11-22 18:30 iwtwiioi 阅读(1108) 评论(0) 推荐(0)
摘要: 题意在线、可持久化地维护一条二维平面上的折线,支持查询与任意一条直线的交点个数。点的个数和操作个数小于$10^5$ 分析一条折线可以用一个序列表示,可持久化序列考虑用可持久化treap。如何判断交点?如果有交点,那么一定与包含这个折线的矩阵有交点。 题解所以我们可持久化treap一下即可,虽然这个... 阅读全文
posted @ 2015-11-22 18:28 iwtwiioi 阅读(654) 评论(0) 推荐(0)
摘要: 题意求$\left \lfloor \left( \frac{b+\sqrt{d}}{2} \right)^n \right \rfloor \pmod {7528443412579576937} $,$\left( 0 \le n \le 10^{18}, 0 < b^2 \le d < (b+... 阅读全文
posted @ 2015-11-22 18:09 iwtwiioi 阅读(583) 评论(0) 推荐(0)
摘要: 题意求节点数为$n$的有根树期望的叶子结点数。($n \le 10^9$) 分析神题就打表找规律.. 题解方案数就是卡特兰数,$h_0=1, h_n = \sum_{i=0}^{n 1} h_i h_{n 1 i} $。设叶子数量和为$f_n$,则得到$f_n = 2 \sum_{i=0}^{n ... 阅读全文
posted @ 2015-11-22 18:06 iwtwiioi 阅读(508) 评论(0) 推荐(0)
摘要: 题意$N \times M$的网格,一开始在$(1, 1)$每次可以向下和向右走,每经过一个有数字的点最多能将数字减1,最终走到$(N, M)$。问至少要走多少次才能将数字全部变为$0$。($N, M<=1000, a_{i, j}<=10^6$) 分析结论题QAQ,不会证明... 题解设$d(i... 阅读全文
posted @ 2015-11-22 18:05 iwtwiioi 阅读(631) 评论(0) 推荐(1)
摘要: 题意给出一个$N \times N$的矩阵$B$和一个$1 \times N$的矩阵$C$。求出一个$1 \times N$的01矩阵$A$,使得$$ D = ( A B C ) A^T $$最大,其中$A ^ T$是矩阵$A$的转置。($n<=500$) 分析好神的题。首先我们容易推出一个式子:... 阅读全文
posted @ 2015-11-22 18:03 iwtwiioi 阅读(589) 评论(0) 推荐(0)
摘要: 题意:$T(1 \le T \le 50000)$次询问,每次给出$n, m(1 \le n, m \le 50000)$,求$\sum_{i=1}^{n} \sum_{j=1}^{m} d(ij)$,其中$d(n)$表示$n$的约数个数 分析有个结论:<p $$\sum_{x_1}^{y_1} ... 阅读全文
posted @ 2015-11-22 17:56 iwtwiioi 阅读(1107) 评论(0) 推荐(0)
摘要: 题意$m$个人$n$个物品,第$i$个物品生命值为$A_i$,第$i$个人每秒可以减少一个物品$B_i$的生命值,给出一个$m \times n$的矩阵,如果$i$行$j$列为$1$,则表示第$i$个人可以攻击第$j$个物品,否则不能攻击,问至少需要多少秒,能干掉所有物品。一个物品被干掉当且仅当生... 阅读全文
posted @ 2015-11-22 17:55 iwtwiioi 阅读(364) 评论(0) 推荐(0)
摘要: 题意给一个$n$个点带边权的树。有$m$次操作,每一次操作一个点$x$,如果$x$已经出现,则$x$消失。否则$x$出现。每一操作后,询问从某个点开始走,直到经过所有出现的点,最后再回到开始的那个点的最短路程。 分析首先容易知道我们选任意一个在某两点路径上的点作为起点都能得到最优解(包括端点)。我... 阅读全文
posted @ 2015-11-22 17:53 iwtwiioi 阅读(384) 评论(0) 推荐(0)
摘要: 题意从区间$[L, R]$选$N$个数(可以重复),问这$N$个数的最大公约数是$K$的方案数。($1 \le N, K \le 10^9, 1 \le L \le R \le 10^9, H L \le 10^5$) 分析好神的题。注意$H L \le 10^5$这个条件,则假设$N$个数不全相... 阅读全文
posted @ 2015-11-22 17:52 iwtwiioi 阅读(1146) 评论(0) 推荐(1)
摘要: 题意给定一个长度为$n(1 \le n \le 70000)$序列,$m(1 \le m \le 70000)$次操作:1. 对一段下标是等差数列的子序列求最大值;2. 单点修改。 分析如果公差很大,那么速度是很快的。所以我们考虑阈值。 题解设阈值$k$表示如果询问的公差小于等于$k$则用线段树求... 阅读全文
posted @ 2015-11-22 17:50 iwtwiioi 阅读(357) 评论(0) 推荐(0)
摘要: 题意$n(1 \le 1000000)$个点的有根树,$1$号点为根,$q(1 \le 1000000)$次询问,每次给一个$k$,每一次可以选择$k$个未访问的点,且父亲是访问过的,要求最少次数访问完所有的点。 分析神题不会做。 题解得到一个式子$ans=max(i+ \left \lceil ... 阅读全文
posted @ 2015-11-22 16:07 iwtwiioi 阅读(554) 评论(0) 推荐(0)
摘要: 题意$n(2 \le n \le 500000)$个点$m(1 \le m \le 1000000)$条边的有向无环图,找到一个点,使得删掉这个点后剩余图中的最长路径最短。 分析神题不会做。 题解首先我们新建个源$s$和汇$t$,连边$s i, i t$,最远距离分别为$d[i, 0]$和$d[i... 阅读全文
posted @ 2015-11-22 16:06 iwtwiioi 阅读(334) 评论(0) 推荐(0)
摘要: 题意求$\sum_{i=0}^{n} a_i x^i = 0$在$[1, m]$内的整数解。($0 < n \le 100, |a_i| \le 10^{10000}, a_n \neq 0, m \le 1000000$) 分析神题。 题解我们可以取几个质数然后对应取模来计算即可。可是在经过变态... 阅读全文
posted @ 2015-11-22 16:04 iwtwiioi 阅读(305) 评论(0) 推荐(0)
摘要: 题意:求满足$phi(a)=n$的$a$的个数。($n \le 10^{10}$) 分析这种题一开始就感觉是搜索= = 题解首先容易得到$$\phi(n) = \prod_{i} p_i^{a_i 1} (p_i 1)$$然后我们$O(n^{0.5})$预处理以下前$n^{0.5}$的素因子,然后... 阅读全文
posted @ 2015-11-22 16:02 iwtwiioi 阅读(473) 评论(0) 推荐(0)
摘要: 题意$n(1 \le n \le 2000)$个数每个数是$0$或$1$,现在可以花费$c_{i, j}$知道$[i, j]$的奇偶性,问将所有数都找出来的最小花费。 分析如果知道了所有的前缀和,那么我们就知道了所有数。对于区间$[i, j]$,那么如果知道了$sum[i 1]$,那么就知道了$s... 阅读全文
posted @ 2015-11-22 16:00 iwtwiioi 阅读(284) 评论(0) 推荐(0)
摘要: 题意 求$\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)^{gcd(i, j)}$($n, m<=500000$) 分析 很显然要死推莫比乌斯 题解 设$n \le m$ $$ \begin{aligned} ans & = \sum_{i=1}^{n} \sum_{ 阅读全文
posted @ 2015-11-22 15:59 iwtwiioi 阅读(485) 评论(0) 推荐(0)
摘要: 题意$m m$的网格,有$n$个点。$t$个询问:操作一:第$x$个点向四个方向移动了$d$个单位。操作二:询问同行同列其他点到这个点的曼哈顿距离和。强制在线。($n \le 10^5,m \le 10^{18}$) 分析没啥好分析的,就是推一下能推出每行每列的一个式子来,然后套两个区间维护的结构... 阅读全文
posted @ 2015-11-22 15:58 iwtwiioi 阅读(297) 评论(0) 推荐(0)
摘要: 题意$n(n \le 200000)$张卡片,正反有两个数$a[i], b[i]$。$m(m \le 1000000)$次操作,每次交换$c[i]、d[i]$位置上的卡片。每一次操作后输出是否存在一种方案使得正面朝上的数从左到右单调不降。 分析直接考虑线段树维护。 题解线段树每个结点记录4个信息$... 阅读全文
posted @ 2015-11-22 15:57 iwtwiioi 阅读(405) 评论(0) 推荐(0)
摘要: 题意$n(n \le 1000000)$个物品,颜色分别为$a[i]$,现在要求排在一排使得相邻两个砖块的颜色不同,且限定第一个砖块和最后一个砖块的颜色,输出一个合法解否则输出 1。 分析贪心?反正我不会证明。 题解从左到右扫,每次放一个数量最多且合法的砖块,如果数量相同,优先放末尾的。 inc... 阅读全文
posted @ 2015-11-22 15:56 iwtwiioi 阅读(389) 评论(0) 推荐(0)
摘要: 题意长度为$n(1 \le n \le 1000000)$的$01$字符串。找一个最长的连续子串$S$,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的$1$的个数不小于$0$的个数。 分析首先对$i$求出$l_i, r_i$,$l_i$表示在区间$[l_i, i]$从左往右一直取,$1$... 阅读全文
posted @ 2015-11-22 15:54 iwtwiioi 阅读(666) 评论(0) 推荐(0)
摘要: 题意$n(1 \le n \le 1000000)$个城市,$k(1 \le k \le n)$个国家,$m(1 \le m \le 1000000)$条边。要求每个国家有且仅有一个首都,每条边两端的城市至少要有一个首都。判断是否有解。 分析满足性问题。而且每个城市只有两种情况,首都or不是首都。... 阅读全文
posted @ 2015-11-22 15:52 iwtwiioi 阅读(668) 评论(0) 推荐(0)
摘要: 题意$n m(1 \le n, m \le 1000)$的网格,求顶点在格点上三角形的个数。 分析假设$n \le m$$ans = \binom{(n+1) (m+1)}{3} L$,其中$L$表示三点共线的方案数。所以<p $$\begin{align}L& = \frac{1}{2} \su... 阅读全文
posted @ 2015-11-22 15:52 iwtwiioi 阅读(191) 评论(0) 推荐(0)
摘要: 题意n个点,需要再一些点建立控制站,如果在第$i$个建站,贡献为$a[i]$。假设前一个站为$j<i$,则$[j+1, i]$的点的贡献是$\sum_{k=j+1}^{i} (i k) b[k]$。同时要求第$n$个点建站。求最小贡献。($n \le 10^6$) 题解设$d(i)$表示前$i$个... 阅读全文
posted @ 2015-11-22 14:37 iwtwiioi 阅读(282) 评论(0) 推荐(0)
摘要: 题意:给定一个长度为$n$的$\{ 1, 0, 1\}$组成的序列,你可以进行$x_i=x_i+x_{i 1}$这样的操作,求最少操作次数使其变成不降序列。($n \le 1000000$) 分析:我们考虑第$i$个数,如果$x_i < x_{i 1}$,要想$x_i \ge x_{i 1}$,那... 阅读全文
posted @ 2015-11-22 14:36 iwtwiioi 阅读(280) 评论(0) 推荐(0)
摘要: 题意$T(T \le 10000)$次询问,每次给出$a, b(1 \le a, b \le 10^7)$,求$$\sum_{i=1}^{a} \sum_{j=1}^{b} f((i, j))$$其中$f(n)$表示$n$所含质因子的最大幂指数。$f(1)=0$。 分析以下默认$a \le b$<... 阅读全文
posted @ 2015-11-22 14:35 iwtwiioi 阅读(499) 评论(0) 推荐(0)
摘要: 题意给出$n, m(1 \le n, m \le 10^{1000000})$,求$f(n, m) \ \mod \ 10^9+7$<p $$\begin{cases}f(1, 1) = 1 \\f(i, 1) = cf(i 1, m) + d \\f(i, j) = af(i, j 1) + b... 阅读全文
posted @ 2015-11-22 14:33 iwtwiioi 阅读(315) 评论(0) 推荐(0)
摘要: 题意$n$个点,第$i$个点值为$a_i$。$m$个询问,每次询问$[l, r]$内的和或者将$[l, r]$的每个值改为自己的算术平方根。($n \le 100000, m \le 200000, 0 \le a_i \le 10^9$) 分析$10^9$开几次方就到$1$或者$0$了,所以对于... 阅读全文
posted @ 2015-11-22 14:31 iwtwiioi 阅读(240) 评论(0) 推荐(0)
摘要: 题意求$\sum_{i=1}^{n} \sum_{j=1}^{m} (n \ mod \ i)(m \ mod \ j)[i \neq j] \ mod \ 19940417$, $(n, m \le 10^9)$ 分析以下均设$n \le m$<p $$\begin{align}&\sum_{i... 阅读全文
posted @ 2015-11-22 14:28 iwtwiioi 阅读(381) 评论(0) 推荐(0)
摘要: 题意$n$个01病毒串,总长不超过$30000$。问是否存在无限长的不包含病毒串的01串。 分析考虑ac自动机,如果不包含病毒串而且无限长也就是说存在一个环(转移和fail树),使得环上不含病毒串。 题解所以我们标记一下病毒串后dfs找环即可。 include <bits/stdc++.h u... 阅读全文
posted @ 2015-11-22 14:27 iwtwiioi 阅读(292) 评论(0) 推荐(0)
摘要: 题意平面上有$n$个点,如果两个点的线段与$x$轴的角在$[ 45^{\circ}, 45^{\circ}]$,则两个点可以连线。求最少的折线(折线由线段首尾相连)使得覆盖所有点。 分析bzoj的题面有坑,不是15而是45。将点绕原点旋转$ 45^{\circ}$后,能连线的话就是另一个点在左上角... 阅读全文
posted @ 2015-11-22 14:25 iwtwiioi 阅读(423) 评论(0) 推荐(0)
摘要: 题意$m$个厨师,$n$种菜,每种菜需要做$p_i$份,每个厨师做第$i$种菜用时$t_{i, j}$。一个厨师做完一道菜才能做下一道。每份菜的时间是这个厨师做完这道菜的用时加上之前做过的菜的用时。问做完所有的菜的最小用时是多少。($ n \le 40, m \le 100, \sum p_i \... 阅读全文
posted @ 2015-11-22 14:24 iwtwiioi 阅读(336) 评论(0) 推荐(0)
摘要: 题意给出$s_i, k_i, v_i', E$,满足$\sum_{i=1}^{n} k_i s_i ( v_i v_i' )^2 \le E, v_i v_i'$,最小化$ \sum_{i=1}^{n} \frac{s_i}{v_i} $ 分析首先是贪心,很显然小于等于号要取等号,即问题转化为,满... 阅读全文
posted @ 2015-11-22 14:05 iwtwiioi 阅读(359) 评论(0) 推荐(0)
摘要: 题意给$n$个点,求一个能覆盖所有点的面积最小的圆。($n \le 50000$) 分析随机增量法 题解理论上$O(n^3)$暴力,实际上加上随机化后期望是$O(n)$的。算法大概就是:假设我们已经得到了最小覆盖圆$O$,然后现在考虑假如第$i$个点进去。如果第$i$个点在圆内或在圆上,则不需要更... 阅读全文
posted @ 2015-11-22 13:57 iwtwiioi 阅读(321) 评论(0) 推荐(0)
摘要: 题意一个长度为$n(n \le 500000)$的字符串$s$,给$q(q \le 2000000)$个询问,每个询问给一个区间$[l, r]$,求这个区间内最短的循环节。 分析分析以下可以知道:1. 假设循环节长度为$len$,则$s[l, r len]=s[l+len, r]$。2. $len... 阅读全文
posted @ 2015-11-22 13:56 iwtwiioi 阅读(342) 评论(0) 推荐(0)
摘要: 题意$n$个男生$m$个女生$2$个老师排列,任意两个女生不能相邻,两个老师也不能相邻,每个人都不同。问有多少种排法。($n, m \le 2000$) 分析组合乱搞。 题解先放男生:$A(n, n)$种方案,$n+1$格空隙两个老师不挨在一起放入男生中。先放老师:$n+1$个空隙里放2个老师的方... 阅读全文
posted @ 2015-11-22 13:55 iwtwiioi 阅读(321) 评论(0) 推荐(0)
摘要: 题意$k(1 \le k \le 300)$种物品,价值分别为$c_i(0 \le c_i \le 1000)$。有$n(1 \le n \le 1000)$分钟,每分钟可以选择一个物品$i$,价值为距离上次选择该物品的时间 $c_i$。求最大价值。 分析发现对于一种物品,价值为$c_i \sum... 阅读全文
posted @ 2015-11-22 13:53 iwtwiioi 阅读(279) 评论(0) 推荐(0)
摘要: 题意:给n个点,任选其中3个点(一个点只能取一次),求选出三个点的最大曼哈顿距离之和与最小曼哈顿距离之和(n<=10^5)。 题解:最大曼哈顿距离之和很好求,就是能包围所有点的经过三个点的矩阵周长。考虑最小曼哈顿距离之和。我们考虑一个点,那么另外两个点会有两种分布。由于对称性,我们只考虑当前枚举的... 阅读全文
posted @ 2015-11-22 13:51 iwtwiioi 阅读(350) 评论(0) 推荐(0)
摘要: 题意给两个奇质数$p, q(p, q < 2^{31})$,求$\sum_{k=1}^{\frac{p 1}{2}} \left \lfloor \frac{kq}{p} \right \rfloor+ \sum_{k=1}^{\frac{q 1}{2}} \left \lfloor \frac{... 阅读全文
posted @ 2015-11-22 13:50 iwtwiioi 阅读(242) 评论(0) 推荐(0)
摘要: 题意$n m$的网格,如果$a_{i, j} = 0$则表示景点,否则表示这里的需要的志愿者人数。求一种安排志愿者的方案使得所有景点连通且志愿者最少。 分析本题可以插头dp,然而有一个东西叫斯坦纳树,来学习学习。令$f(i, j, s)$表示$(i, j)$为根,连通性为$s$的最少志愿者。则有转... 阅读全文
posted @ 2015-11-22 13:49 iwtwiioi 阅读(286) 评论(0) 推荐(0)
摘要: 题意给你一些字符串。$m$次询问,每一次询问第$x$个字符串在$y$字符串中出现了多少次。(输入总长$ \le 10^5$, $M \le 10^5$) 分析在ac自动机上,$x$字符串出现的所有位置就是其它节点的fail树上有这个节点的节点。即fail树中,$x$字符串终止节点的子树。 题解根据... 阅读全文
posted @ 2015-11-22 13:47 iwtwiioi 阅读(241) 评论(0) 推荐(0)
摘要: 题意有一个密码箱,$0$到$n 1$中的某些整数是它的密码。如果$a$和$b$都是它的密码,那么$(a+b)%n$也是它的密码($a,b$可以相等)。某人试了$k$次密码,前$k 1$次都失败了,最后一次成功了。该密码箱最多有多少不同的密码。 分析假设集合$s$为答案,则令$g=gcd(s_i)$... 阅读全文
posted @ 2015-11-22 13:44 iwtwiioi 阅读(448) 评论(0) 推荐(0)
摘要: 题意给一个长度为$n$的序列$a_i$,对于每个$1 \le i \le n$,找到最小的非负整数$p$满足 对于任意的$j$, $a_j \le a_i + p \sqrt{|i j|}$ 分析我们正反dp一下。 题解令$d(i)$表示最小的$p$,则$d(i) = max(a_j+\sqrt{... 阅读全文
posted @ 2015-11-22 13:40 iwtwiioi 阅读(290) 评论(0) 推荐(0)
摘要: 题意给一棵$n(1 \le n \le 200000)$个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少。 分析可以发现如果交换非叶结点的左右子树,对子树内的交换无影响,对子树外的交换也无影响,所以答案的贡献只是左子树与右子树之间是否交换得到的最小的逆序对数。 题解考虑分治,... 阅读全文
posted @ 2015-11-22 13:39 iwtwiioi 阅读(299) 评论(0) 推荐(0)
摘要: 题意$3 3$的网格,给出左上角的数字$m$和右下角的数字$m$,如果当前格子有数字$x$,格子左边有个数字$y$,格子上面有个数字$z$,则$y|x, z|x$。格子中不存在相同的两个数。问是否存在填满格子的方案。 分析最优放法肯定是每一个格子放的数相是上面和左边的数的最小公倍数或乘上了一个质因... 阅读全文
posted @ 2015-11-22 13:37 iwtwiioi 阅读(383) 评论(0) 推荐(0)
摘要: 题意$n(1 \le n \le 1000000)$个数$a_i(a_i \le 10^9)$。$m(1 \le m \le 50)$次询问,每次给出一个$k(k \le 10^9)$,可以执行操作:每次选择一个大于$k$的$a_i$,将$a_i$减去$1$,然后将$a_{i 1}$或$a_{i+... 阅读全文
posted @ 2015-11-22 13:35 iwtwiioi 阅读(239) 评论(0) 推荐(0)
摘要: 题意:给n个互不相交的多边形(边均平行于坐标轴),问最大深度。深度的定义是,若多边形A被多边形B包含,则$dep[A]=max(dep[B])+1$。坐标系的深度为0。(n<=40000,顶点个数<=200000) 题解:扫描线+动态维护区间。考虑从左往右枚举交x轴平行于y轴的扫描线,维护每一个多... 阅读全文
posted @ 2015-11-22 13:34 iwtwiioi 阅读(367) 评论(0) 推荐(0)
摘要: 题意给出一个序列$A$,求一个最长的满足fib性质的子序列,输出其长度及其元素(如果多种方案,输出位置最靠前的)。($n \le 3000$) 题解容易想到dp,即$d(i, j)$表示$i$作为fib序列的倒数第二项且$j$作为fib序列的最后一项的最大长度。那么很容易通过$a[i] a[j]$... 阅读全文
posted @ 2015-11-22 13:31 iwtwiioi 阅读(323) 评论(0) 推荐(0)
摘要: 题意$n(2 \le n \le 5000)$个点,找尽量多的不同$1$到$n$的路径,每一次的花费就是路径的全值和,要求在费用不超过$E$的情况下路径最多。 分析裸的最段路。 题解A 算法即可。 include <bits/stdc++.h using namespace std; type... 阅读全文
posted @ 2015-11-22 13:30 iwtwiioi 阅读(335) 评论(1) 推荐(0)
摘要: 题意给一个串$s(1 \le |s| \le 500000)$,求一个最长的串,使得这个串能覆盖整个串(可以重叠)。 分析首先这个串肯定是前缀也肯定是后缀。 题解对串kmp后,建立$fail$树,则答案在根到$n$的路径上。假设当前串为$a$,位置在$i$,则所有出现了$a$的位置相邻两个的距离要... 阅读全文
posted @ 2015-11-22 13:28 iwtwiioi 阅读(518) 评论(0) 推荐(0)
摘要: 题意$n$个人$m$场比赛$(1 \le n \le 10000, 0 \le m \le 10000)$,给出每场比赛的两个选手,求赢得最多的人最少赢的场数。 分析二分最多人赢的场数,那么我们就得到了所有人赢的场次的上界。所以我们可以考虑网络流模型。 题解对于二分的值$d$,我们建$m$个点表示... 阅读全文
posted @ 2015-11-22 13:26 iwtwiioi 阅读(339) 评论(0) 推荐(0)
摘要: 题意给出$n$个回文串$s_i(\sum_{i=1}^{n} |s_i| \le 2000000)$求如下二元组$(i, j)$的个数$s_i + s_j$仍然是回文串。 分析这道题其实是一道傻逼hash题,可是为了学习拓展kmp我就写了拓展kmp。其实我们考虑$a+b$如果是回文串,那么$a$的... 阅读全文
posted @ 2015-11-22 13:25 iwtwiioi 阅读(336) 评论(0) 推荐(0)
摘要: 题意给$n(1 \le n \le 20000)$个立方体$(x, y, z)$,依次落下。求所有立方体落下完了以后最高的高度。 分析平面求最大值,平面更新最大值。 题解二维线段树走起,由于不好自下往上更新而且发现更新的时候值是越来越大,所以我们可以在每一次更新的时候直接在走过的路径上更新一下最大... 阅读全文
posted @ 2015-11-22 13:23 iwtwiioi 阅读(326) 评论(0) 推荐(0)
摘要: 题意$q(1 \le q \le 10000)$次询问,每一次求$(x^2+x+1)^n$的第$k$项系数模3。 分析听说正解是$\binom{2n}{m} (m \% 2+1)$,表示不会。我来一个说一个我yy出来的玄学做法$$ (x^2+x+1)^n = \sum_{i=0}^{n} \bin... 阅读全文
posted @ 2015-11-22 13:22 iwtwiioi 阅读(334) 评论(0) 推荐(0)
摘要: 题意给$n(n \le 10^6)$个数的序列$a$,求一个递增序列$b$使得$\sum_{i=1}^{n} |a_i b_i|$最小。 分析神题啊不会。具体证明看黄源河论文《左偏树的特点及其应用》思路:1. 将问题转化为求一个不降序列$b$。2. 如果$a_1 \le a_2 \le ... \... 阅读全文
posted @ 2015-11-22 13:19 iwtwiioi 阅读(395) 评论(1) 推荐(0)
摘要: 题意有$1$到$n(1 \le n \le 200000)$号的溜冰鞋各$k(1 \le k \le 10^9)$双。已知$x$号脚的人可以穿$x$到$x+d$的溜冰鞋。有$m(1 \le m \le 500000)$次操作,每次来了$x_i$个$r_i$号脚的人。$x_i$为负,则代表走了这么多... 阅读全文
posted @ 2015-11-22 13:17 iwtwiioi 阅读(540) 评论(0) 推荐(0)
摘要: 题意给$n(1 \le n \le 3000)$个点,求所有三角形的面积和。 分析首先枚举一个点,发现把其它点按照关于这个点的极角排序后第$i$个点关于前面$1$到$i 1$的点组成的三角形的面积之和可以用前缀和和单调性来求出(因为有正负面积之分,而正负具有单调性)。 题解所以我们维护枚举第一个点... 阅读全文
posted @ 2015-11-22 13:16 iwtwiioi 阅读(339) 评论(0) 推荐(0)
摘要: 题意$n(n < 1000000)$个人,每个人$i$指向一个人$p_i$,如果轮到$i$了且他没死,则他会将$p_i$打死。求一种顺序,问死的人最少和最多的数目。 分析贪心+乱搞 题解最多剩下的:链:(n+1)/2环:n/2环套内向树:维护没被杀的点,即用队列维护入度为0的点,然后环变成了一堆链... 阅读全文
posted @ 2015-11-22 13:15 iwtwiioi 阅读(278) 评论(0) 推荐(0)
摘要: 题意长度为$n(1 \le n \le 1000000)$的账单,$+$表示存1,$ $表示取1,任意时刻存款不会为负。初始有$p$,最终有$q$。每一次可以耗时$x$将某位取反,耗时$y$将最后一个移到最前面,求最小耗时使得账单正确。 分析首先很显然最终$+$和$ $的数目是可以确定的。所以我们... 阅读全文
posted @ 2015-11-22 13:13 iwtwiioi 阅读(383) 评论(0) 推荐(0)
摘要: 题意给定$n$个砝码和$m(1 \le n, m \le 100000)$个背包$(1 \le n_i, m_i \le 1000000000)$,保证对于任意两个砝码都有一个是另一个的正整数倍,求最多拿走多少砝码。 分析砝码的种类不会超过$30$种。小的肯定在大的前面放。 题解分出$s$种种类后... 阅读全文
posted @ 2015-11-22 13:12 iwtwiioi 阅读(352) 评论(0) 推荐(0)
摘要: 题意$n(1 \le n \le 100000)$个数放在一排,可以一走一些数(后面的数向前移),要求最大化$a_i=i$的数目。 分析分析容易得到一个dp方程。 题解$d(i)$表示前$i$个数且第$i$个数放在$a_i$位置的最大答案,则$d(i) = max(d(j)+1) (j < i, ... 阅读全文
posted @ 2015-11-22 13:10 iwtwiioi 阅读(264) 评论(0) 推荐(0)
摘要: 题意$n$个黑点$n$个白点($2 \le n \le 50000$),需要一一配对,使得白点在黑点的右下角,且曼哈顿距离和最小。题目保证有解。 分析考虑最优解,我们可以交换任意一个配对,答案不变。所以只要是可行解那么得到的就是最优解。 题解所以我们只需要求一下和即可,复杂度$O(n)$ inc... 阅读全文
posted @ 2015-11-22 13:08 iwtwiioi 阅读(225) 评论(0) 推荐(0)
摘要: 题意给定一个长度为$2n(1 \le n \le 500000)$的序列,$1$~$n$各出现两次,可以交换相邻两项,两个同样的数放在一起会对消,求把所有数对消的最小交换次数。 分析如果有一对在另一对之间,则这一对肯定要在另一对前面消除。否则答案不变。 题解维护一个栈存储第一次出现的数,然后如果新... 阅读全文
posted @ 2015-11-22 13:07 iwtwiioi 阅读(235) 评论(0) 推荐(0)
摘要: 题意二维平面上有$n(2 \le n \le 1000000)$个点,可以花费$w_i$交换第$i$个点的横纵坐标。求在满足能覆盖所有点的最小矩阵周长最短的情况下花费最小。 分析这题太神了。有一个结论是,所有点都会交换到$y=x$线的同一侧。 题解所以我们暴力就行辣。 include <bits... 阅读全文
posted @ 2015-11-22 13:06 iwtwiioi 阅读(348) 评论(0) 推荐(0)
摘要: 题意给一个$n m(1 \le n, m \le 1000)$的矩阵,如果$a_{i, j}$为正表示城市。$|a_{i, j}|(|a_{i, j}| \le 1000)$是格子$(i, j)$的海拔。现在需要放最少的抽水机,使得把所有城市的水都抽干。自行脑部抽水机是怎么工作的。 分析容易发现:... 阅读全文
posted @ 2015-11-22 13:05 iwtwiioi 阅读(471) 评论(0) 推荐(0)
摘要: 题意给一个$n(1 \le n \le 100000)$个点不自交的多边形,求对称轴数目。 分析将多边形表示成长度和角的形式(用有向面积来表示角也行),然后匹配。 题解匹配可以用kmp或manacher。 include <bits/stdc++.h using namespace std; ... 阅读全文
posted @ 2015-11-22 13:04 iwtwiioi 阅读(329) 评论(0) 推荐(0)