摘要: 全部题好像都是典中典耶,Warmup A - Handling the Blocks Gym - 103388H 题意 给定一个排列,每个数都有个颜色,同颜色的可以交换位置,求是否可以将此序列排序。 解法 套路题,想将其排序,考虑这个序列能否与其下标形成置换环。 而题目中的颜色就是制约是否能成为置换 阅读全文
posted @ 2022-12-04 22:45 BorisDimitri 阅读(103) 评论(0) 推荐(0) 编辑
摘要: P2303 [SDOI2012] Longge 的问题 $$\sum_{i=1}^{n} \gcd(i,n) $$ $$= \sum_{d | n} \sum_{i=1}^{n} d [gcd(i,n) == d] $$ $$= \sum_{d | n} d \sum_{i=1}^{n} [gcd( 阅读全文
posted @ 2022-11-27 19:42 BorisDimitri 阅读(19) 评论(0) 推荐(0) 编辑
摘要: day1 (2022.11.18) 完成任务: 平衡树板子 P2221 —— 平衡树题,但使用线段树做法。 P2221 [HAOI2012]高速公路 将链视作序列。 这题的期望很裸,考虑随机在 $l$ 和 $r$ 中间选两个点,概率为 $\frac{1}{C_{r-l+1}^{2}}$,价值为 $d 阅读全文
posted @ 2022-11-18 16:01 BorisDimitri 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 这一场打得很稀烂QwQ。 开局先看A,开始秒想了一个假掉的做法,WA了3发,以后一定要先证明正确性再写。。。 A写了16分钟。。。 B很快在35分钟的时候秒掉了,C想到了一个暴力做法,但是由于太暴力了,TLE了一发,稍微优化了一下就过掉了(1h19分)。 之后一个小时在推 E 的式子,但一直陷在死循 阅读全文
posted @ 2022-08-14 01:50 BorisDimitri 阅读(74) 评论(0) 推荐(0) 编辑
摘要: T1 Anniversary party/没有上司的舞会 【题意】 公司要开party,如果一个员工的上司来了,那么那个员工就不会来。 每个人都有一个开心值,要求到场的员工的开心值之和最大。 【思路】 设 $f[u,1/0]$ 为员工 $u$ 来或者不来的最大开心值和。 当员工 $u$ ,那他的下属 阅读全文
posted @ 2022-08-07 10:16 BorisDimitri 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 本文代码全部使用 FHQ-Treap, 不了解 FHQ-treap 的可以参考 我的博客。 T1 普通平衡树 板子题,参考上面的博客。 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; struc 阅读全文
posted @ 2022-08-04 10:48 BorisDimitri 阅读(52) 评论(0) 推荐(0) 编辑
摘要: FHQ-treap 即非旋Treap,是一种短小精悍,功能丰富的平衡树。 据说它的效率介于 Treap 和 Splay 之间(可能是我的FHQ常数比较小,跑得比我的Treap还快)。 它可以实现 Splay 可以实现的所有功能,包括平衡树的基本操作和区间翻转操作。 它的实现难度比 Splay 要简单 阅读全文
posted @ 2022-08-04 09:16 BorisDimitri 阅读(139) 评论(0) 推荐(0) 编辑
摘要: T1 UVA1112 Mice and Maze ####【题意】 给出 $n(n<=100)$ 个点和 $m$ 条边的有向图,给出终点 $E$,问有几个结点到达终点的最短路<=T? ####【思路】 因此在添加边关系时,将终点看成起点,则是明显的单源最短路问题。点数很小,用Floyd也可以。求出单 阅读全文
posted @ 2022-08-03 08:27 BorisDimitri 阅读(36) 评论(0) 推荐(0) 编辑
摘要: T1 GMOJ 6277. 矩阵游戏 观察表格中的 $(i, j)$ 点可以表示为 $(i-1) \times m + j$。 由于列和行是相似的,这里只讨论行修改。 考虑推式子。 对于每一次行操作: $$ans_r = \sum_{j=0}^{m} r_i \times [(i-1)\times 阅读全文
posted @ 2022-07-16 20:08 BorisDimitri 阅读(24) 评论(0) 推荐(0) 编辑
摘要: T1 GMOJ 1381. 删除 暴力模拟。 先看第一行有,但其他行没有的数,将其在第一行所在的列删去。 重复操作直到不能操作为止。 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 100010; int lin1 阅读全文
posted @ 2022-07-13 19:01 BorisDimitri 阅读(25) 评论(0) 推荐(0) 编辑