摘要: Arbitrage A 货币可以以 $x$ 的汇率兑换 B 货币,就从 A 向 B 连一条权值为 $x$ 的边,改一下 $Floyd$ 即可。 点击查看代码 #include <iostream> #include <string> #include <cstdio> #include <map> 阅读全文
posted @ 2022-09-26 13:51 Sharing666 阅读(91) 评论(0) 推荐(0)
摘要: 易知每个点到根节点的距离 $dep_u$ 为 $u$ 前左括号的个数减 $u$ 前右括号的个数。 两个点 $u$、$v$ 之间的距离为 $dep_u+dep_v-2*dep_{lca(u,v)}$,而 $lca(u,v)$ 就是括号序列中 $u$ 和 $v$ 之间 $dep$ 最小的点。 所以只要维 阅读全文
posted @ 2022-08-02 08:11 Sharing666 阅读(57) 评论(1) 推荐(0)
摘要: 题目传送门 推柿子 $$\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum\limits_{d=1}^n\left[gcd(i,j)=d\right]d^k$$ 把 $d$ 提出来 $$\sum\limits_{d=1}^n d^k\sum\limits_{i=1} 阅读全文
posted @ 2022-07-31 16:08 Sharing666 阅读(28) 评论(0) 推荐(0)
摘要: 题意 给你一个序列,求满足以下条件的排列: 条件 1:序列首项和末项的差值的绝对值最小。 条件 2:满足条件 1 下,序列中满足 $a_i<a_{i+1}$ 的项数最大。 条件 3:满足条件 1、2 下,序列的字典序最小。 思路 因为输入时的排列顺序对答案并没有影响,所以可以先排个序。 条件 1 很 阅读全文
posted @ 2022-07-31 16:07 Sharing666 阅读(50) 评论(0) 推荐(0)
摘要: 莫比乌斯反演。推柿子。 $$\sum\limits_{i=1}^n\sum\limits_{j=1}^n(i+j)^k f(\gcd(i,j)) \gcd(i,j)$$ $$\sum\limits_{i=1}^n\sum\limits_{j=1}^n(i+j)^k\sum\limits_{d=1}^ 阅读全文
posted @ 2022-07-31 16:06 Sharing666 阅读(43) 评论(0) 推荐(0)
摘要: 题意 在一个 $n*m$ 的有障碍方阵中,两个人轮流移动棋子走到相邻的方格。 先手决定棋子的初始位置。 最后移动棋子的玩家获胜。 问先手是否有必胜策略,如果有,输出所有能获胜的棋子初始位置。 分析 看到这种向相邻方格移动棋子的题,很容易想到黑白染色建二分图。 相邻的方格只要没有障碍,就连一条双向边。 阅读全文
posted @ 2022-07-31 16:05 Sharing666 阅读(64) 评论(0) 推荐(0)
摘要: 贪心 + 二分。 二分 $mid$,计算最少需要多少个消防站。 首先对点的深度 $dep$ 进行排序,每次取当前最深的点 $v$。 找到与 $v$ 的距离为 $mid$ 的祖先 $u$,设立消防站。 可以证明这样是最优的:离 $v$ 最近的消防站一定在 $u$ 的子树中,并且能覆盖的点小于等于 $u 阅读全文
posted @ 2022-07-31 15:25 Sharing666 阅读(92) 评论(0) 推荐(1)
摘要: 一位位拆开来算。对于每一位 $i$,把数组 $a$ 和 $b$ 中高于 $i$ 位的位去掉。 容易发现,当且仅当 $2^i\leq a_j+b_k<2^{i+1}$ 或 $2^i+2^{i+1}\leq a_j+b_k$ 时,$a_j+b_k$ 的第 $i$ 位为 $1$。 用双指针分别计算 $a_ 阅读全文
posted @ 2022-07-31 00:51 Sharing666 阅读(75) 评论(0) 推荐(0)