朝比奈まふゆを愛してる/xin
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
在文章《压力之下》发表评论:
R.I.P.
## Problem > 在 $M\times N$ 网格的 $(1,1)$ 处,统计 $F$ 个分形中松鼠跳跃的可见树总次数。松鼠从指定起点按规则跳跃:先向北跳给定的 $2$ 的幂次棵树,再沿两条 $\frac{P}{2}$ 对角线跳,接着形成四个 $\frac{P}{2}$ 分形,直至分形大小为 $1$。无遮挡则可…
在讨论《op 改成四则运算能做吗》回复:
改成异或与都能做
在讨论《真的是蓝吗》回复:
但是感觉综合一下不超过绿。
## Problem > 要求将长度为 $2^n$ 的排列通过特定规则排序:每次只能交换两个长度相等且为 $2^k$ 的区间,且区间起始位置必须是 $2^k$ 的倍数(下标从 $0$ 开始)。关键限制是每个 $k$ 值最多只能使用一次交换操作,且不能交换区间与自身。现要求计算所有不同的交换序列数量。 ## Soluti…
```cpp #include #define int long long using namespace std; typedef pair PII; const int N = 30010, M = N = xl and s.x = yl and s.y , greater > q; for (int i = xl…
## Problem > 给定一个长度为 $n$ 序列 $\{p_n\}$,定义其价值为 $\max\limits_{i=1}^n\{p_i-\max\{p_{i-1},p_{i+1}\}\}$。特别的,定义 $p_0=p_{n+1}=-\inf$。现要求 $\sum\limits_{l=1}^n \sum\limit…
## Problem > 给定一棵树,树边有字母权值。再给定 $m$ 种方案,每种方案代价给出,以及可以沿着走的边边权字符串。问经过每个点至少一次的最小代价。 ## Solution 注意到题面中是要求从上到下的,但是这样儿子不止一个,很麻烦,所以考虑翻转给定字符串。 然后设 $f_{u,k}$ 表示点 $u$ 走完子…
## Problem > 给定一棵树,要求选边,选最多的边,但是需要保证每个点选的边不超过 $k$,求最多边数和最小代价。 ## Solution 最多边这部分其实大概是可以贪心的。 不过还要求最小代价,所以还是直接树形 Dp 来。 设 $F_{i,k}$ 表示点 $i$ 选不超过 $k$ 条边的最多边数和最小代价。…
## Problem > 给定包含 $k$ 个种类的区间,对于每种种类,没有给出的区间是可选择的,要求选择最少区间覆盖询问区间。 ## Solution 不难发现用哪个位置和答案是无关的。 所以直接把可选择的空区间抠出来即可。 然后倍增处理一下每个位置往后跳 $2^k$ 个区间的位置最远能到哪。 询问时倍增二进制拆分往…
在讨论《感觉很对的做法求 hack》回复:
@[xiao7_Mr_10_](luogu://user/961149) 过掉了特殊性质 A 和一些小数据,但是不知道为什么考虑 ci 的情况下假了。
在文章《CSP 2025 游记》发表评论:
%%
在讨论《求问ZJ一等线》回复:
ppp
不好描述,以下是代码,只有 52pts。 ```cpp #include #define int long long using namespace std; const int N = 10010, M = 1000010, K = 20; int n, m, k; struct Edge { int a, b, c…
## Problem > 给定一张 $n$ 个点的图,要求选最少数量的点使得断掉任意一条边,剩下的子图中都存在被选择的点。 ## Solution 这题就是 tarjan 板子,顶天下位蓝。 断边,所以应该是求边双。 然后考虑答案怎么求。 应该是缩点后的叶子节点每个各选一个点。 然后方案数就是所有叶子节点的点数相乘。…
## Problem > 给定 $n$ 个数,每次选择一个相邻两个数中至少有一个已被选的数中 $a_i$ 最小的数,起始点可以任意选。然后给出 $q$ 个询问,每个询问形如 $p,k$,问有多少种选择起始点的方案使得第 $p$ 块石头在第 $k$ 步被选择。 ## Solution 第一步比较难想到,就是把询问变成 $…
## Problem > 给定 $n$ 中面额的纸币,保证 $a_1=1$。再给出 $q$ 个询问,每个询问包含一个数表示金额上限,问不超出上限的金额中,需要纸币数量最多的金额与纸币数。(组合一个金额要求面额大的优先使用) ## Solution 贪心。 显然用面额小的不会使答案更劣。 所以前面所有面额小的纸币组成面额…
大数据过了,小数据 subtask 2,4,6 没过。 ```cpp #include #define int long long #define x first #define y second using namespace std; const int N = 20, M = 1 v1, v2; int path…
## Problem > 给定一个用火柴棍摆出的 $n$ 位的数,问在最多移动 $m$ 次的情况下,能摆出的最大数。 ## Solution 分成两部分,数字 $1$ 被摆出需要的火柴棍最少,所以优先加位肯定是最好的,不会使答案变小。 这是贪心。 然后是一个数位 Dp,求出最多有多少火柴棍可以拆出来,用来加位。 设 $…
## Problem > 给定 $n$ 个数,要求将所有数三三组合,形成 $(x,x,x)$ 和 $(x-2,x-1,x)$ 的组合,求最终组合方案数。 ## Solution 注意到给定的 $n$ 个数是无序的。 其实这题包含了一个比较不常见的 trick:这种选数组合并且没有要求有序组合的题应该要将数设到状态中,然…
## Problem > 给定一张 $n$ 个点的图,以及 $1\sim m$ 种颜色每种颜色的数量,保证 $c_i\ge \lfloor{\frac{n}{2}}\rfloor$。要求对每个点进行染色,使得任意一条起点为 $1$ 的树上路径不存在给定的形似 $(a_i,b_i)$ 的 $t$ 对点对。求合法的染色方案…
## Problem > 给定一个长度为 $n\times 2$ 的序列,以及每种颜色 $1\sim n$ 的价值。可以存下两个位置的数,对于每个数,每当新加入的数出现在当前的两个数中,则消除并获得 $v_x$ 的价值。当已有的数数量超过两个时,弹出最前面选择的数,并放入新决定的数。问最终能获得的最大价值。 ## So…
## Problem > 给定一张有 $n+1$ 个点的图,求点 $1\sim n$ 中,到点 $n+1$ 的路径条数最多的点。 ## Solution 一道比较经典的 Tarjan 题。 可知当存在一个点数大于 $1$ 的强连通分量能到达主楼时,则这个强连通分量中的点必然都有无数条能到达主楼的路径。 于是上经典套路,…
## Problem > 每一分钟可以选择通过一条道路与否,同时可以使高度升降 $1$ 或者保持不变。限制是到达每个点有最小高度限制,求到达 $n$ 时高度恰好为 $0$ 的最短时间。 ## Solution 看完题面的第一个想法是,对于到达的每个点可以考虑记一个区间 $[l,r]$,表示到达这个点的高度上下界分别为…
## Preface 这是一篇简短的题解,证明较简略。 ## Problem > 初始时在位置 $1\sim n-1$,各有一个数,为 $1\sim n-1$ 的排列,且第 $n$ 个位置是空的。对于相连的两个位置,若其中一个是空的,则可以交换两位置的数。初始时相邻的两个位置算相连,每次操作可以将任意两个位置相连,问最…
## Problem > 给出一张图,每次操作更改一个点的权值,求最小的两个类型不同点之间的最短路。 ## Solution 这个题感觉很难想到 Kruskal 重构树去做,但是一般遇到和两点间的最短路有关的这种,应该都是可以往 Kruskal 重构树上去想一想的。 首先注意到要求的是不同类型间的最短路。 那么肯定可以…
在讨论《回滚莫队求调(马蜂良好?)》回复:
@[yejiayu123](luogu://user/1124672) 您怎么把自己 AC 代码发上来了/yiw/yiw