上一页 1 2 3 4 5 6 ··· 24 下一页
摘要: "1187 寻找分数" 思路:类欧几里得 代码: 阅读全文
posted @ 2019-08-13 12:49 Wisdom+.+ 阅读(190) 评论(0) 推荐(0) 编辑
摘要: "P2147 [SDOI2008]洞穴勘测" 思路: 按时间分治,然后每条边有一个存活时间段,按存活时间段将边加入划分树,然后在划分树上分治,用可撤销并查集维护连通性。 代码: 阅读全文
posted @ 2019-08-11 16:50 Wisdom+.+ 阅读(183) 评论(0) 推荐(0) 编辑
摘要: "4025: 二分图" 思路: 考虑按时间分治,然后把每条边按影响时间加入相应的区间(类似划分树)。然后考虑把包含每个叶子节点的边连起来,并判断有没有奇环。 由于分治时需要撤回某些并查集的合并操作,所以需要用到可撤销并查集。然后因为要判基环,所以又需要维护每个点到父亲节点的距离$dp[i]$, 所以 阅读全文
posted @ 2019-08-11 15:49 Wisdom+.+ 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 可撤销并查集模板: "P3402 【模板】可持久化并查集" 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 defi 阅读全文
posted @ 2019-08-11 13:23 Wisdom+.+ 阅读(1814) 评论(0) 推荐(0) 编辑
摘要: "P5043 【模板】树同构([BJOI2015]树的同构)" 思路:树hash,先找树重心,重心最多两个,然后从以重心为根求出树的hash值,放进map里。 代码: 阅读全文
posted @ 2019-08-01 21:52 Wisdom+.+ 阅读(216) 评论(0) 推荐(0) 编辑
摘要: "https://www.cnblogs.com/sdzwyq/p/9900650.html" 模板: unordered_map mp; LL q_pow(LL n, LL k, LL p) { LL ans = 1; if(k == 1) return 0; while(k) { if(k&1) 阅读全文
posted @ 2019-07-30 13:36 Wisdom+.+ 阅读(150) 评论(0) 推荐(0) 编辑
摘要: "https://blog.csdn.net/demon_rieman/article/details/88830846" 模板1: struct LinearBase { LL v[32]; inline void clr() {memset(v, 0, sizeof(v));} inline v 阅读全文
posted @ 2019-07-28 22:32 Wisdom+.+ 阅读(283) 评论(2) 推荐(0) 编辑
摘要: "246. 区间最大公约数" 思路: 首先根据更相减损术,我们得到一个结论: $gcd(a_l, a_{l+1}, ...,a_r) = gcd(a_l, a_{l+1} a_l, a_{l+2} a_{l+1}, ..., a_r a_{r 1})$ 于是我们用线段树维护差分数组,树状数组维护每个 阅读全文
posted @ 2019-07-28 16:59 Wisdom+.+ 阅读(243) 评论(0) 推荐(0) 编辑
摘要: "连续区间的最大公约数" 思路:参照 "BZOJ 4488: [Jsoi2015]最大公约数" 脑补出的一个$map$套$vector$的写法,写起来比线段树短,运行时间比线段树快。 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma G 阅读全文
posted @ 2019-07-28 16:12 Wisdom+.+ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 详见: "oi wi" 模板: 例题: "LightOJ 1083" 代码: pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y11 阅读全文
posted @ 2019-07-28 13:31 Wisdom+.+ 阅读(182) 评论(0) 推荐(0) 编辑
摘要: "HDU 6184" 思路:三元环。将无向图转换成有向无环图,详见 "洛谷日报" pragma GCC optimize(2) pragma GCC optimize(3) pragma GCC optimize(4) include using namespace std; define y1 y 阅读全文
posted @ 2019-07-28 10:11 Wisdom+.+ 阅读(167) 评论(0) 推荐(0) 编辑
摘要: "4488: [Jsoi2015]最大公约数" 思路:容易发现以某个位置$i$为结尾所有后缀的$gcd$个数不超过$log(a[i])$。 (怎么发现?将数写成质因子幂次乘积的形式,然后$gcd$每次减小一个质因子,最多减少$log$次)然后就可以用$map$维护每个$gcd$的最左端端点。 代码: 阅读全文
posted @ 2019-07-27 22:41 Wisdom+.+ 阅读(210) 评论(0) 推荐(0) 编辑
摘要: "Math" $f_i$为从$i$到$i+1$的期望步数。 $f_i = 1 p + p(f_i + 2((1 q)^{n i}(n i) + q\sum_{j=0}^{n i 1}(1 q)^{j}j))$ 移项相减得: $f_i = 1+\frac{2p((1 q)^{n i}(n i) + q 阅读全文
posted @ 2019-07-22 09:33 Wisdom+.+ 阅读(295) 评论(0) 推荐(0) 编辑
摘要: "D Turtles" 思路: LGV 定理 (Lindström–Gessel–Viennot lemma) 从{$a_1$,$a_2$,...,$a_n$} 到 {$b_1$,$b_2$,...,$b_n$}的不相交路径数等于行列式 $$ {\left[ \begin{array}{ccc} c 阅读全文
posted @ 2019-07-19 19:37 Wisdom+.+ 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 咕值详见去年多校 牛客 2019牛客暑期多校训练营(第一场) A 思路:二分+单调栈 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using n 阅读全文
posted @ 2019-07-18 21:00 Wisdom+.+ 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: LightOJ - 1151 思路: 将期望dp[x]看成自变量,那么递推式就可以看成方程组,用高斯消元求方程组的解就能求解出期望值 高斯消元求解的过程也是期望逆推的过程,注意边界情况的常数项,是6/d,不是1 代码: 阅读全文
posted @ 2019-07-17 19:10 Wisdom+.+ 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Colorful Tree 思路: 如果强制在线的化可以用树链剖分。 但这道题不强制在线,那么就可以将询问进行差分,最后dfs时再计算每个答案的修改值, 只要维护两个数组就可以了,分别表示根节点到当前节点某个颜色的个数和某个颜色长度和 代码: 阅读全文
posted @ 2019-07-10 14:34 Wisdom+.+ 阅读(200) 评论(0) 推荐(0) 编辑
摘要: D - Fedor Runs for President 思路: 推出斜率优化公式后,会发现最优点只可能来自凸斜率中的第一个元素和最后一个元素, 这两个元素不用维护凸斜率也能知道,就是第一个和上一个元素 代码: 阅读全文
posted @ 2019-07-09 13:13 Wisdom+.+ 阅读(258) 评论(0) 推荐(0) 编辑
摘要: C - Cactus Jubilee 思路: 1.如果删掉的是桥,那么将图分成两个部分,设它们的大小分别为a和b,我们为了保证图的连通性,只能连两个部分之间的边,即a*b-1种可能 2.如果删掉的不是桥,那么就是简单环上的边,删掉后环变成了小树,而且我们只能连小树上的点之间的边,否则就会出现一条边在 阅读全文
posted @ 2019-07-08 19:42 Wisdom+.+ 阅读(392) 评论(0) 推荐(1) 编辑
摘要: B - Dev, Please Add This! 思路: 对于每一个经过 '*' 的横线和竖线看成一个整体,设他们分别为分量x和分量y 用2-sat考虑这个问题, 如果要经过 '*' ,那么x和y至少要有一个,即连边 !x -> y,!y -> x 如果对于某个分量a不能从通过 'O' 的分量到达 阅读全文
posted @ 2019-07-08 19:30 Wisdom+.+ 阅读(663) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 24 下一页