随笔分类 - 题解
摘要:$\text{Solution}$ 二维平面很容易想到扫描线,然后不知道维护什么信息 颜色的变化自然要能记录下来,所以线段树每个结点维护一个 set 表示覆盖这个点代表区间的所有颜色 这样加入和删除就容易了 统计答案,无非是把当前能看到且未被统计过的颜色统计入答案 考虑一个颜色怎样合法,必然是存在一
阅读全文
摘要:$\text{Solution}$ Trie 的高阶操作 用权值线段树结构表示这棵 Trie,那么操作时直接线段树分裂取出值域在 $[l,r]$ 内的数构成的 Trie,也即线段树 接着在这棵线段树上修改,修改完后合并回去 看三个位运算,发现 x&y=((x^U)|(y^U))^U} 于是变成两个运
阅读全文
摘要:$\text{Solution}$ 第二道二项式反演题 挺套路的 设 $g(i)$ 为恰好出现 $S$ 次的颜色至少有 $i$ 种 那么 $$ g(i)=\binom{m}{i}\binom{n}{is}\frac{(is)!}{(s!)^i}(m-i)^{n-is} $$ 然后二项式反演 $$ f
阅读全文
摘要:$\text{Solution}$ $\text{have gained so many tricks。。。}$ 第一步:设恰好重合 $i$ 条边的答案为 $f(i)$,至少重合 $i$ 条边的答案为 $g(i)$ 那么 $$ g(i)=\sum_{j=i}^{n-1}\binom{j}{i}f(j
阅读全文
摘要:[JLOI2009]神秘的生物 只需要维护连通情况,采用最小表示法,表示此格是否存在,也即插头是否存在 分情况讨论当前格子的轮廓线上方格子和左方格子状态,转移考虑当前格子选不选,决策后状态最后要能合法 $\text{Code}$ $\text{Code}$ #include <bits/stdc++
阅读全文
摘要:写了发假的 $\text{ETT}$,$\text{FQH-Treap}$ 维护括号序 $\text{Code}$ #include <bits/stdc++.h> #define IN inline #define eb emplace_back using namespace std; temp
阅读全文
摘要:[SDOI2011] 消耗战 $\text{Code}$ #include <bits/stdc++.h> #define IN inline #define eb emplace_back #define fi first #define se second #define mp make_pai
阅读全文
摘要:$\text{[AGC034C] Tests}$ 很容想到二分答案和 $c_i$ 比较固定的选取方法 然后就不会了。。。 接下来就是要发现性质的时候 固定答案时,若此时已有了一组 $a$,考虑对于 $0<a_i,a_j<X$ 的 $a_i,a_j$ 加减 $1$ 发现给 $c$ 值大的 $+1$,小
阅读全文
摘要:$\text{Solution}$ 莫队配合 $\text{bitset}$ 发现答案困难的部分在于同一个数在三个区间出现次数的最小值 考虑强行拆开看,用莫队处理出每个区间每个数的出现次数,这个可以用 $\text{bitset}$ 然后取 $\min$ 相当于每个询问涉及的三个区间的 $\text
阅读全文
摘要:$\text{Solution}$ 观察到关于 $x$ 的函数在 $n$ 个操作之后一定是这样的: 一段水平直线加上一段斜率为 $1$ 的直线再加上一段水平直线 于是线段树维护这个分段函数即可 因为我是用斜率为 $1$ 的直线的起点和终点坐标反应这个函数 所以合并分段函数的时候要处理退化成一条水平直
阅读全文
摘要:普通 $\text{SAM Code}$ #include <cstdio> #include <iostream> #include <cstring> #define IN inline using namespace std; template <typename T> IN void rea
阅读全文
摘要:$\text{2-SAT}$ 问题 大致是从题目中得到一些限制,形如: $x$ 为真/假或 $y$ 为真/假 问题是给 $x$ 赋值满足上述条件,判定有无解,有则输出一种方案。 我们从条件中推出一些必然关系 如:若 $x$ 为 $a$ ,则 $y$ 必为 $b$ 这是具有传递性的 这样我们只要判断是
阅读全文
该文被密码保护。
摘要:$\text{Solution}$ 其实不想写(因为不好写。。。 所以贴贴 $\text{Solution}$ 然而就关于这题而言讲得也不太清楚 可撤销贪心就是维护当前状态的最优解,同时考虑以后的反悔 顺着题解,本题在 $k<val$ 时必然换一种购买方式 而当 $k\ge val$ 时,有两种方式
阅读全文
摘要:总结 $\text{Day1}$ 只打了 $T1$,想正解无果以致于没时间打暴力 $\text{T1}$ 考虑到最后一个面基者要么落在点上,要么落在边上 所以可以枚举点和边,统计最久的落在此处的时间 落在边时考虑到有两个端点作为入口,需要一部分人在一端入,另一部分人从另一端入 这时贪心处理,按从某一
阅读全文