01 2019 档案
摘要:THUWC 考了莫队(这个应该可以说吧) 然而不会莫队,签到失败,所以找到了一道长得差不多的题写一写 为什么这么长时间都没有发现这道题(半恼 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次
阅读全文
摘要:T1 binary 求有多少不同构的二叉树最长链为 n,答案对 10k 取模 n≤200000,k≤64 sol: 首先转化一下,原题要求的链长是边数,转换成点数好做一点,把 n+1 即可 记 f(i,0) 表示最大深度为 i,当前没有长为 n 的
阅读全文
摘要:离开的时候一定是笑着离开的 不然就再也回不来了 广州二中,七月再见
阅读全文
摘要:因为真的滚粗了,所以咕咕咕 膜清华爷 OYJason
阅读全文
摘要:n≤50 sol: 放一个在 x 处拐弯的 L 形石头相当于在水平和垂直方向上各选一个与 x 相邻的点,全局不能重复选 最小化危险度,相当于满足这些限制的情况下石头盖住的点危险度越大越好,而石头有各种各样的限制,考虑费用流 这是一个“只能增广 m 次的最大费用可行流”问题,
阅读全文
摘要:求 n 个点简单无向连通图个数,膜 1004535809 (是一个质数,原根是 3) n≤130000 sol: 推式子的方法...应该到处都有 记录一下指数生成函数 (EGF) 的做法 先设 g(x) 为 n 个点简单无向图的 EGF ,可以知道 $g(x)=\sum\l
阅读全文
摘要:有一个 DAG,有一个源点,一个汇点和很多条边,每条边有花费 di 和最大流量 ci,可以花 bi 的钱把最大流量增加 1,花 ai 的钱把最大流量减少 1 现在要进行调整,要求每条边都满流且总流量不变,假设进行了 k 次调整,要求最大化 $\frac{调整前总费
阅读全文
摘要:sol: 题面看吐了,实际上操作就是 1.access 2.makeroot 3.查询一个点到根上有多少虚边 1. 和 2. 可以 access ,每次断掉的轻边子树 -1,新连的轻边子树 +1 ,用线段树维护一下子树即可,类似树剖套线段树的方法换根 顺便复习一下换根 1.如果当前点在根的子树里,直
阅读全文
摘要:#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <algorithm> using namespace std; int read() { i
阅读全文
摘要:有一个一开始为空的集合,每次加入一个数或者删除一个数,每次查询这个集合选出若干个数异或起来的最大结果 n≤100000 sol: 学了一波线性基 大概就是 1.插入一个数(其中 v 的大小是 logn) 2.查询当前集合最大异或和 其余的操作就没有了,合并的话是启发式合并,删除不资瓷,
阅读全文
摘要:有 n 个人,m 种物品,每种物品有 ai 个,求每个人至少分到一个的方案数 n,m,ai≤2000 sol: 比上一个题简单一点 还是考虑容斥 每个人至少分到一个 = 随便选 - 至少 1 个人没分到 + 至少 2 个人没分到 - 至少 3 个人没分到 + ... 至
阅读全文
摘要:n 个元素,选出若干子集使得交集大小为 k,求不同选择方案数 n,k≤106 sol: 首先,先选 k 个元素为交集,这一步是 Ckn 剩下就是选择一些没有交集的集合方案数 考虑容斥,交集为 ∅ 的方案数 = 随便选的方案数 - 交集大于等于 1
阅读全文
摘要:有 n 个 Pokemon,你有 A 个一类精灵球,B 个二类精灵球 分别给出每个 Pokemon 被这两类精灵球捕捉的概率 求抓到 Pokemon 的最优期望个数 n≤2000 sol: 2900 分的题竟然卡了一会... 看来我真的 sb 如果只有一种精灵球,就是带权二分
阅读全文
摘要:一般的式子都是 fi=max{gj+w(i,j)} 然后这个 w 满足决策单调性,也就是对于任意 i<j ,besti≤bestj 这样就会有两种优化方式 1.w(i,j) 可以快速求 例如:NOI 2009 诗人小 G 题里给了你
阅读全文
摘要:一个有点权和边权的二叉树,多次询问点权在 [L,R] 的点到 u 的距离和 n,q≤100000 sol: 1.点分治 建出分治树的结构,考虑计算距离的过程 我们知道 dis(u,v)=depu+depv−2×deplca 因为树高是 l
阅读全文