摘要:
一个参考 WQS 二分用来处理一些答案构成凸函数的问题。 最经典、最常见的形式,就是 "从若干个物品中恰好选给定个数的最优" 型问题。 适用要求:如果不考虑选的物品的个数限制,可以很快求出答案。 最经典例题:P2619 Tree I 从所有白边中选 \(need\) 条,然后加上若干条黑边形成生成树 阅读全文
摘要:
传送门 题意:给定初始 \(a\) 数组,每次可以选一个长度为奇质数的区间取反。问全变成 \(0\) 要多少次操作。 和 Password、Xor Replace 的套路相同,做一个差分。 令 \(b_i=a_i \bigoplus a_{i-1}\),目的就是让 \(b\) 数组变为全 \(0\) 阅读全文
摘要:
【EGF】 对于一个数列 \(<f_n>\),定义其指数型生成函数(EGF)\(\hat{F}(x)=\displaystyle\sum_{n\ge 0}\dfrac{f_n}{n!}x^n\)。实际上 \(EGF<f_n>=OGF<\dfrac{f_n}{n!}>\) 定理:若 \(<a_n>\) 阅读全文
摘要:
传送门 构造序列型 DP。经典的就是这么一种构造序列的方式: 用两种操作。 增加一个 \(0\)。 将当前序列中所有数加 \(1\)。 由此可以构造出任意一种自然数不降序列。 回到本题。即要求构造一个长度 \(k\) 和为 \(n\) 且没有一种数出现超过 \(m\) 次的不降序列,求方案数。考虑用 阅读全文
摘要:
题意:给定一个序列,要求从中选出 \(k\) 个不相交的区间使和最大。\(n\le 10^5\)。 如果 DP,至少 \(O(n^2)\)。而这题可以模拟费用流做。 【费用流模型】 建立 \(n+1\) 个点 \(p_1\sim p_{n+1}\),\(p_i\rightarrow p_{i+1}\ 阅读全文
摘要:
传送门 题意:给定两个长度 \(n\) 的互不相同的序列 \(a,b\)。要求将它们两两匹配。求有多少种匹配方案恰好有 \((n+k)/2\) 对 \(a_i>b_j\)。\(n\le 2000\)。如果 \((n+k)\bmod 2=1\) 输出 \(0\)。 先将 \(a,b\) 从小到大排序。 阅读全文
摘要:
C 题意:给定 \(n\) 个数 \(d_1\sim d_n\),求是否存在一个数 \(s\) 使得 \(1\le (d_i+s)\bmod (a+b)\le a\)。 显然可以每个数先模 \(a+b\),然后排序。 结论:存在当且仅当存在一个数 \(i\) 使得 \((d_{i+1}-d_i)\b 阅读全文
摘要:
传送门 题意:有 \(n\) 个队友和 \(m\) 个敌人,每个队友 \(i\) 有 \(a_i\) 颗子弹。敌人 \(j\) 有 \(b_j\) 颗子弹。 队友击杀敌人,必须 \(a_i>b_j\),然后会获得 \(a_i-b_j+w_j\) 的收益。(\(w_j\): 每个敌人都有一个参数) 每 阅读全文
摘要:
【可持久化】 可持久化可以应用于查询历史版本的问题,关键在于给每个版本之间共用顶点,减小空间代价。 所以可持久化永远不会修改结点,只会新建结点。 可持久化不止应用于 "历史版本" 问题,有时题目并没有给出什么历史版本的描述,但是不同的线段树之间变化很小,也可以可持久化。 【模板】可持久化线段树 2 阅读全文
摘要:
传送门 NOI 的题果然是非常的难且有意思。还有就是推荐一下command_block 的题解。 这题的题意比较难。 题意:有 \(n\) 种菜,初始每种菜有 \(c_i\) 个,单价 \(a_i\),如果不出售每天会变质 \(x_i\) 棵。第一次卖这种菜会获得 \(s_i\) 的奖励。每天至多卖 阅读全文