题面 LOJ #2802. 「CCC 2018」平衡树 题面有点难看...请认真阅读理解题意. 转化后就是,给你一个数 \(N\) ,每次选择一个 \(k \in [2, N]\) 将 \(N\) 变成 \(\displaystyle \lfloor \frac{N}{k} \rfloor\) ,到 \(1\) 停止. 求一共有多少不同的操作序列,也就是操作次数不一样或者某次操作的 \(k\) 不相同. 题解 首先考虑 dp ,令 \(f_i\) 为以 \(i\) 为开头的不同操作序列数. 显然…
题意 LOJ #2540. 「PKUWC 2018」随机算法 题解 朴素的就是 \(O(n3^n)\) dp 写了一下有 \(50pts\) ... 大概就是每个点有三个状态 , 考虑了但不在独立集中 , 考虑了并且在独立集中 , 还没考虑 . 转移就很显然了 qwq 然后要优化嘛 , 把其中两个状态合起来 , 也就是分成考虑了和没考虑了的两种 . 其中考虑了的那种 , 只会存在两种状态 , 要么是在独立集内 , 要么就是与独立集联通 , 没有考虑的 绝对不和独立集联通 就行了 . 然后我们枚举…
题意 LOJ #2541. 「PKUWC 2018」猎人杀 题解 一道及其巧妙的题 , 参考了一下这位大佬的博客 ... 令 \(\displaystyle A = \sum_{i=1}^{n} w_i\) , \(B\) 是已死猎人的 \(w_i\) 的总和 , \(P_i\) 是 \(i\) 当前要被杀死的概率 ... (抄博客咯) 不难有 \(\displaystyle P_i = \frac{w_i}{A-B} \tag{1}\) 如果 不考虑猎人死没死 , 都能被当做目标 qwq (鞭…
Update on 1.5 学了 zhou888 的写法,真是又短又快. 并且空间是 \(O(n)\) 的,速度十分优秀. 题意 LOJ #2538. 「PKUWC 2018」Slay the Spire 题解 首先我们考虑拿到一副牌如何打是最优的,不难发现是将强化牌从大到小能打就打,最后再从大到小打攻击牌 . 为什么呢 ? 证明(简单说明) : 如果不是这样 , 那么我们就是有强化牌没有用 , 且攻击牌超过两张 . 我们考虑把最小的那张攻击牌拿出来 , 然后放入一张强化牌 . \(\becau…
写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT 后来做了 HDU 4035 终于会了.... 感谢 雕哥的帮助 !!! 题意 #2542. 「PKUWC 2018」随机游走 题解 原本的模型好像我不会那个暴力dp .... 就是直接统计点集中最后经过的点的期望 , 也就是点集中到所有点步数最大值的期望 . (也许可以列方程高斯消元 ? 似乎没分)…
题意 小 \(C\) 有一棵 \(n\) 个结点的有根树,根是 \(1\) 号结点,且每个结点最多有两个子结点. 定义结点 \(x\) 的权值为: 1.若 \(x\) 没有子结点,那么它的权值会在输入里给出,保证这类点中每个结点的权值互不相同. 2.若 \(x\) 有子结点,那么它的权值有 \(p_x\) 的概率是它的子结点的权值的最大值,有 \(1-p_x\) 的概率是它的子结点的权值的最小值. 现在小 \(C\) 想知道,假设 \(1\) 号结点的权值有 \(m\) 种可能性,权值第 \(i…
loj luogu 这题和NOI那道向量内积一个套路 首先考虑求两行的不同元素个数,可以转化成一个行向量\(a\)和列向量\(b\)相乘得到一个值.如果只有\(A,C\)两种字符,那么令对应权值\(A=1,C=-1\),然后这两行的不同元素个数可以表示成\(\frac{m-ab}{2}\),拓展到四个字符的情况,那么就搞三种形式,分别为\(A=C=1,G=T=-1|A=1,C=-1,G=T=0|A=C=0,G=1,T=-1\),记对应的行向量为\(a1,a2,a3\),列向量为\(b1,b2,b…
传送门 g[i][j][k][l]g[i][j][k][l]g[i][j][k][l]表示将区间l,rl,rl,r变成最小值等于kkk,最大值等于lll时的花费的最优值. f[i][j]f[i][j]f[i][j]表示取掉区间l,rl,rl,r的最优值. 考虑ggg数组的转移. g[i][j+1][min(k,w[j+1])][max(l,w[i+1])]=min(g[i][j+1][min(k,w[j+1])][max(l,w[i+1])],g[i][j][k][l])g[i][j+1][mi…
题意 给你一个 \(n\) 个 \(\rm 01\) 组成的环,每次操作之后每个位置为1当且仅当他的左右恰好有1个1.输出进行 \(T\) 次操作之后的环. \(n\leq 10^5, T\leq 10^{15}\). 分析 通过1~4步之内模拟可以得到结论:一个位置能够在 \(2^k\) 的操作之后为1当且仅当他的往左往右的 \(2^k\) 个位置的异或值为1. 将数字拆成若干个 \(2^k\) 进行操作即可. 总时间复杂度为 \(O(nlogT)\). 代码 #include<bits/st…
LOJ#2351. 「JOI 2018 Final」毒蛇越狱 https://loj.ac/problem/2351 分析: 首先有\(2^{|?|}\)的暴力非常好做. 观察到\(min(|1|,|0|,|?|)\le 6\),我们只需要推出一个\(2^{|0|}\)和\(2^{|1|}\)的容斥式子 而这个式子也是很好推的. 考虑子集反演: \(f(S)=\sum\limits_{T\subseteq S}g(T)\) \(g(S)=\sum\limits_{T\subseteq S}(-1…