随笔分类 -  __top-题解

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页
摘要:题目链接 "BZOJ2753" 题解 完了我连$kruskal$裸题都做不出来了。。 题目是求最小树形图,即有向图最小生成树 我们不能直接上$kruskal$,而要保证先加入前面的点, 所以我们排序的时候第一关键字改为高度即可 C++ include include include include 阅读全文
posted @ 2018-05-20 21:18 Mychael 阅读(134) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3533" 题解 我们设询问的向量为$(x_0,y_0)$,参与乘积的向量为$(x,y)$ 则有 $$ \begin{aligned} ans &= x_0x + y_0y \\ y &= \frac{x_0}{y_0}x + \frac{ans}{y_0} \\ \end{al 阅读全文
posted @ 2018-05-20 19:29 Mychael 阅读(232) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ1407" 题解 枚举$m$用扩欧判即可 C++ include include include include include define REP(i,n) for (int i = 1; i 57){if (c == ' ') flag = 1; c = getchar() 阅读全文
posted @ 2018-05-20 14:56 Mychael 阅读(138) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3243" 题解 模数只有$2$或$3$,可以大力讨论 如果模数为$2$,乘积结果只有$1$或$0$ 如果一个向量和前面所有向量乘积都为$1$,那么其和前面向量前缀和的乘积就唯一确定 我们维护向量前缀和,第一个乘积情况不符的向量一定是答案,然后再枚举另一个向量即 $O(nd)$ 阅读全文
posted @ 2018-05-19 16:14 Mychael 阅读(216) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3671" 题解 模拟题意生成矩阵贪心从小选择即可 每选择一个,就标记其左下右上矩阵 由于每次都是标记一个到边界的矩阵,所以一旦遇到标记过就直接退出即可,可以保证复杂度 还有就是空间和时间有点卡 C++ include include include include includ 阅读全文
posted @ 2018-05-19 11:05 Mychael 阅读(201) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4568" 题解 选任意个数异或和最大,使用线性基 线性基插入$O(logn)$,合并$O(log^2n)$ 我们要求树上两点间异或和最大值,由于合并是$O(log^2n)$的,我们尽量只合并一次 那就采用点分治 每次求出到分治重心的线性基,将过分治重心的询问的两个线性基合并即可 阅读全文
posted @ 2018-05-19 09:03 Mychael 阅读(323) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4012" 题解 Mychael并没有A掉,而是T掉了 讲讲主要思路 在点分树上每个点开两棵$splay$, 平衡树$A$维护子树中各年龄到根的距离 平衡树$B$维护子树中各年龄到点分树父亲的距离 然后询问就可以在点分树上用两棵平衡树相减计算了 大常数$O(nlog^2n)$被卡 阅读全文
posted @ 2018-05-18 22:04 Mychael 阅读(223) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ1095" 题解 传说中的动态点分治,一直不敢碰 今日一会,感觉其实并不艰涩难懂 考虑没有修改,如果不用树形dp的话,就得点分治 对于每个重心,我们会考虑其分治的子树内所有点到它的距离,然后取所有不同子树中最大的两个相加来更新答案 如果带修改怎么办呢? 考虑一个点$u$被修改了, 阅读全文
posted @ 2018-05-18 16:13 Mychael 阅读(210) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ2299" 题解 题意就是给我们四个方向的向量$(a,b),(b,a),( a,b),(b, a)$,求能否凑出$(x,y)$ 显然我们就可以得到一对四元方程组,用裴蜀定理判断一下方程有没有解即可 C++ include include include include inclu 阅读全文
posted @ 2018-05-18 11:22 Mychael 阅读(163) 评论(0) 推荐(0)
摘要:题目链接 "洛谷P4593" 题解 "orz dalao" upd:经典的自然数幂和,伯努利数裸题 由题我们只需模拟出代价,只需使用$S(n,k) = \sum\limits_{i = 1}^{n} i^{k}$这样的前缀和计算 我不知道怎么来的这样一个公式: $$(n + 1)^{k} n^{k} 阅读全文
posted @ 2018-05-17 17:08 Mychael 阅读(901) 评论(5) 推荐(0)
摘要:题目链接 "洛谷P4591" 题解 设$f[i][j]$表示前$i$个串匹配到位置$j$的方案数,匹配一下第$i$个串进行转移即可 本来写了$hash$,发现没过,又写了一个$KMP$,依旧$WA$,无奈去翻题解,竟然要取模??!! 题面怎么不讲啊,, C++ include include inc 阅读全文
posted @ 2018-05-17 15:18 Mychael 阅读(428) 评论(0) 推荐(0)
摘要:题目链接 "洛谷P4588" 题解 用线段树维护即可 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) define REP(i,n) 阅读全文
posted @ 2018-05-17 12:31 Mychael 阅读(344) 评论(0) 推荐(0)
摘要:题目链接 "洛谷P4589" 题意可能不清,就是给出一个带权有向图,选出$n + 1$条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 题解 如果要问全部覆盖,就是经典的可重点的DAG最小路径覆盖,floyd求出传递闭包后跑二分图最大匹配即可 如果不能全部覆盖,就二分答案,看看能否 阅读全文
posted @ 2018-05-17 11:25 Mychael 阅读(307) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4592" 题解 可持久化trie树裸题 写完就A了 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) defin 阅读全文
posted @ 2018-05-17 10:44 Mychael 阅读(316) 评论(0) 推荐(0)
摘要:题目链接 "洛谷P3763" 题解 后缀数组裸题 在BZOJ被卡常到哭QAQ 阅读全文
posted @ 2018-05-17 10:01 Mychael 阅读(204) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ1513" 题解 真正地理解了一波线段树标记永久化的姿势 每个节点维护两个值$v$和$tag$ $v$代表儿子中的最值 $tag$代表未下传的最值 显然节点的区间大于等于$v$的实际区间 而$tag$的区间包含节点的区间 我们在修改的时候,沿路$v$都要修改,底层$tag$修改 阅读全文
posted @ 2018-05-17 07:25 Mychael 阅读(340) 评论(0) 推荐(0)
摘要:题目链接 "POJ2155" 题解 二维线段树水题,蒟蒻本想拿来养生一下 数据结构真的是有毒啊,, ~~TM这题卡常~~ 动态开点线段树会TLE【也不知道为什么】 直接开个二维数组反倒能过 C++ include include include include include include def 阅读全文
posted @ 2018-05-16 21:22 Mychael 阅读(164) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4785" 题解 肝了一个下午QAQ没写过二维线段树还是很难受 首先题目中的树状数组实际维护的是后缀和,这一点凭分析或经验或手模观察可以得出 在$\mod 2$意义下,我们实际求出的区间和是$[l 1,r 1]$,和$[l,r]$唯一不同的就在于$l 1$和$r$ 所以每个询问实 阅读全文
posted @ 2018-05-16 20:30 Mychael 阅读(251) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ3456" 题解 之前我们用分治$ntt$在$O(nlog^2n)$的复杂度下做了这题,今天我们使用多项式求逆 设$f_n$表示$n$个点带标号无向连通图数 设$g_n$表示$n$个点图的数量,显然$g_n = 2^{{n \choose 2}}$ 枚举$1$号点所在联通块大小, 阅读全文
posted @ 2018-05-16 15:25 Mychael 阅读(172) 评论(0) 推荐(0)
摘要:题目链接 "uoj185" 题解 设$f[i][j]$表示$i$为根的子树,$i$号点对应图上$j$号点时的方案数 显然这样$dp$会使一些节点使用同一个节点,此时总的节点数就不满$n$个 我们枚举选的点$S$,再进行$dp$ 然后根据选的点数量进行容斥 【BZOJ卡不过QAQ】 C++ inclu 阅读全文
posted @ 2018-05-16 10:35 Mychael 阅读(155) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页