随笔分类 -  __top-题解

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页
摘要:题目链接 "BZOJ3521" 题解 容易想到用前缀和搞 如果我们令$p$为$1$,$j$为$ 1$,记前缀和为$s[i]$ 我们就是要找到一段区间$[l,r]$,使得 $$\forall i \in [l,r] \quad s[i] s[l 1] \ge 0$$ $$\forall i \in [ 阅读全文
posted @ 2018-05-27 11:49 Mychael 阅读(325) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ1458" 题解 对行列分别建边,拆点,设置流量下限 然后$S$向行连边$inf$,列向$T$连边$inf$,行列之间如果没有障碍,就连边$1$ 然后跑最小可行流即可 阅读全文
posted @ 2018-05-27 10:05 Mychael 阅读(292) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3523" 题解 简单的贪心题 优先与上一个不一样且数量最多的,如果有多个相同,则优先选择非结尾颜色 比较显然,但不知怎么证 C++ include include include include include include include define Redge(u) f 阅读全文
posted @ 2018-05-26 21:41 Mychael 阅读(266) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ1599" 题解 最小环模板?周末了养生一下【逃】 解释一下原理 $floyd$算法每一轮求出以$[1,k]$为中介点的最短路 我们对于一个环,考虑环上编号最大的点,在$k$枚举到那个点时,$k$两边的点之间不经过$k$的最短路已经计算出来,相连接便是一个环 容易发现最小的环一定 阅读全文
posted @ 2018-05-26 19:55 Mychael 阅读(188) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4245" 题解 套路① 位运算当然要分位讨论,高位优先 考虑在$or$下,如果该位为$0$,则每一位都为$0$ 套路② 我们选m段异或和,转化为$m$个前缀和的点,且其中有一个是$n$ 容易发现,该位结果要为0,则选取的前缀和该位都为$0$ 所以贪心查找所有该位为$0$的,首先 阅读全文
posted @ 2018-05-26 19:30 Mychael 阅读(184) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4873" 题解 题意很鬼畜,就可以考虑网络流【雾】 然后就会发现这是一个裸的最大权闭合子图 就是注意要离散化一下代号 C++ include include include include include include define Redge(u) for (int k = 阅读全文
posted @ 2018-05-26 17:26 Mychael 阅读(172) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4144" 题解 这题好妙啊,,orz 假设我们在一个非加油站点,那么我们一定是从加油站过来的,我们剩余的油至少要减去这段距离 如果我们在一个非加油站点,如果我们到达不了任意加油站点,我们一定废了 那么我们在一个非加油站点,就一定可以到达最近的加油站,而由于我们剩余的油是要减去到 阅读全文
posted @ 2018-05-26 15:50 Mychael 阅读(231) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3747" 题解 这种找区间最优的问题,一定是枚举一个端点,然后用数据结构维护另一个端点 我们枚举左端点,用线段树维护每个点作为右端点时的答案 当左端点为$1$时,我们能$O(n)$预处理出每个位置的答案初始化线段树 当左端点右移一位时,该位上的电影就从区间删除了,记$nxt[i 阅读全文
posted @ 2018-05-26 12:17 Mychael 阅读(256) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3709" 题解 贪心很显然 我们先干掉能回血的怪,当然按照$d$升序顺序,因为打得越多血越多,$d$大的尽量往后打 然后再干掉会扣血的怪,当然按照$a$降序顺序,因为最后受的伤害一定,回的血也一定,先尽量回多的血以尽量承受住当前伤害 C++ include include in 阅读全文
posted @ 2018-05-26 11:23 Mychael 阅读(182) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3714" 题解 我们如果知道了所有的数,同样就知道了所有的前缀和 相反,我们如果求出了所有前缀和,就知道了所有的数,二者是等价的 对于一个区间$[l,r]$如果我们知道了前缀和$sum[l 1]$,我们就知道了$sum[r]$ 所以区间$[l,r]$相当于连接$l 1$和$r$ 阅读全文
posted @ 2018-05-26 10:28 Mychael 阅读(181) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3922" 题解 考虑暴力,修改$O(1)$,查询$O(\frac{n}{d})$ 考虑线段树,如果对每种差值建一棵线段树,修改$O(nlogn)$,查询$O(logn)$ 能不能均摊? 线段树查询快,修改慢 暴力修改快,查询慢 容易发现当$d$比较大时暴力还是可以接受的,所以我 阅读全文
posted @ 2018-05-26 09:26 Mychael 阅读(238) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3495" 题解 每个城市都有选和不选两种情况,很容易考虑到2 sat 边的限制就很好设置了,主要是每个郡只有一个首都的限制 我们不可能两两之间连边,这样复杂度就爆炸了 于是乎就有了一个非常厉害的方法: 前缀后缀和 我们令$1$表示选,$0$表示不选,维护一个郡的前缀和、后缀和 阅读全文
posted @ 2018-05-26 08:29 Mychael 阅读(182) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ2597" 题解 orz思维差 既然是一张竞赛图,我们选出任意三个点都可能成环 总方案数为 $${n \choose 3}$$ 如果三个点不成环,会发现它们的度数是确定的,入度分别为$2,1,0$,出度为$0,1,2$ 所以一个点的任意两个入度,都会对答案产生一个负的贡献 所以三 阅读全文
posted @ 2018-05-25 19:57 Mychael 阅读(165) 评论(0) 推荐(0)
摘要:题目链接 "hdu6184" 题解 题意是让我们找出所有的这样的图形: 我们只需要求出每条边分别在多少个三元环中,记为$x$,再然后以该点为中心的图形数就是${x \choose 2}$ 所以我们只需找出所有三元环 据说这是一个套路题 我们将所有无向边改为有向边,由度数小的向度数大的连边,度数相同就 阅读全文
posted @ 2018-05-25 17:47 Mychael 阅读(502) 评论(0) 推荐(1)
摘要:题目链接 "BZOJ4815" 题解 根据题中的式子,手玩一下发现和$gcd$很像 化一下式子: $$ \begin{aligned} bf(a,a + b) &= (a + b)f(a,b) \\ \frac{f(a,a + b)}{a + b} &= \frac{f(a,b)}{b} \\ \f 阅读全文
posted @ 2018-05-25 16:50 Mychael 阅读(181) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4897" 题解 发现我们付出的代价与区间长度无关,而与区间权值范围有关 离散化一下权值 我们设$f[l][r][x][y]$表示区间$[l,r]$消到只剩权值在$[x,y]$所需最小代价 $f[l][r][0][0]$即为消完的最小代价 那么 $$f[l][r][0][0] = 阅读全文
posted @ 2018-05-25 11:47 Mychael 阅读(358) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4896" 题解 $thu$怎么那么喜欢出$trie$树的题。。。 我们当然可以按题意模拟建$trie$ 询问的时候,由于存在删除操作,不满足单调性,不能直接二分答案 我们就在每个节点上用$vector$储存每个值第一次出现的时间点 每次询问找到那个点二分一下即可 阅读全文
posted @ 2018-05-25 09:55 Mychael 阅读(230) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4104" 题解 我们将已知字符排序,由循环就可以得到一个对应关系 如样例就是: 0 第5行 1 第1行 1 第2行 1 第3行 1 第5行 2 第6行 3 第4行 按照这个循序加入答案即可 C++ include include include include include 阅读全文
posted @ 2018-05-25 08:48 Mychael 阅读(198) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4105" 题解 平方操作orz,虽说应该是线段树,但是不会维护啊QAQ 小瞧一眼题解。。。 平方成环?环长$lcm$小于$60$? 果然还是打表找规律题。。。。 那就很好做了,先预处理每个数是否在环上,如果当前区间存在数不在环上,就暴力修改 如果当前区间都在环上了,就处理出环, 阅读全文
posted @ 2018-05-25 08:00 Mychael 阅读(218) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4103" 题解 一眼看过去是二维结构,实则未然需要树套树之类的数据结构 区域异或和,就一定是可持久化$trie$树 观察数据,$m$非常大,而$n$和$p$比较小,甚至可以每次询问都枚举$x_i$ 所以我们可以考虑对$y_i$建$trie$,每次询问取出对应区间的$x_i$在对 阅读全文
posted @ 2018-05-24 20:11 Mychael 阅读(204) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页