随笔分类 - 技巧-构造与转化
摘要:题目 点这里看题目。 分析 VK Cup 的题都不是很简单 qwq。 假设题目中的两棵树,一棵叫 \(T_1\),另一棵叫 \(T_2\)。 看到这么复杂的问题,能想到的其实就是从简单情况入手考虑。 先考虑无解的情况——显然如果 \(T_1\) 是菊花或者 \(T_2\) 是菊花,则不可能有方案。顺
阅读全文
摘要:题目 点这里看题目。 分析 兼具分析和算法设计的一道题目,很有价值。 首先注意到,团计数这个问题显然不弱于最大团。为了避免一下子解决 NPC 赢得图灵奖,我们闭着眼睛好像还不能也可以想出来,图的“优美”性质一定对图的形态有很强的限制作用。 简单的分析,热身: 一个优美的图上两两之间的最短路的最大值
阅读全文
摘要:题目 点这里看题目。 分析 3100 的构造题,已经很奇妙了...... 题目要求我们先输出所需的最少轮数。这一部分其实具有一定的提示性,因为我们可以猜一个下界,然后看是否能够达到它。比如,一个很好猜的下界就是 \(t_{\min}=\lceil\frac{\sum hp}{n}\rceil\)。
阅读全文
摘要:题目 点这里看题目。 分析 对于边 \((u_i,v_i)\),如果边 \((u_j,v_j)\) 在树的 \(u_i\) 到 \(v_i\) 的路径上,那么就有 \(d_j\le d_i\);基于树结构和非树边,我们可以得到 \(d\) 的偏序关系,而最终答案代价是 \(|c_i-d_i|\),我
阅读全文
摘要:题目 点这里看 F 题。 分析 很不错的一道题。 我们可以尝试改写一下循环语句: for i in range(l, r): 其实等价于: for i in range(1, n): if( l <= i and i <= r ): 为了方便,这里“引入”了 if 语句,同时使用了 python 的
阅读全文
摘要:题目 点这里看题目。 分析 先考虑枚举一个骨牌并将它取下来。这样,一个空格就可以通过周围的骨牌来向各个方向移动。 注意到,我们可以选取最终局面上的一个空格,并找出它原先在哪里——看一下初始平板上这个空格对应的字符,就可以确定现在这块骨牌向哪个方向移动了,我们就可以逆向操作;一直循环直到这个空格属于取
阅读全文
摘要:题目 点这里看题目。 分析 我们可以一眼看出,\(f(K)\) 本质上就是一个数列,因此我们记 \(f_k=f(k),k\in \mathbb N_+\)。 下面是令人震撼的步骤......使用 Stolz 定理,我们可以修改所求极限的形式: \[ \lim_{n\rightarrow \infty
阅读全文
摘要:题目 点这里看题目。 分析 很不错的题目。看起来怎么一点都不签到? 首先需要深入地观察,\(x|y\) 和 \(x\&y\) 到底代表着什么?这实际上取决于我们观察它们的角度: 站在运算的角度,我们的逻辑是:输入 \(x,y\),我们最终得到 \(x|y\) 或者 \(x\&y\); 而由于 \(x
阅读全文
摘要:题目 点这里看题目。 分析 非常巧妙的一道题目。 首先,我们可以思考如果没有 $a_{R,C}=V$ 的限制,问题应该如何求解。一种巧妙的思考方式是,我们可以对于 $i\in [1,K)$ 勾勒出 $\le i$ 的元素和 $>i$ 的元素之间的分界线。这样的话,如果我们从 0 开始给行列的
阅读全文