摘要: 实现有些傻瓜,喜提时空双最劣解。 首先要判断一个点是否在多边形内,一个比较好的方法是从这个点向上引一条射线,若和奇数条边相交就在多边形内,否则在多边形外。 二维信息,考虑用树套树维护。把多边形的每一条边都扔到它 \(x\) 坐标范围的线段树节点里,即线段树节点 \((l,r)\) 里面维护了 \(x 阅读全文
posted @ 2024-12-19 20:50 KIreteria 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 容易发现一个串是好的的充要条件是:A,B,C 出现次数的奇偶性都相同。因此我们也可以将所有的串分为四类:好的,只有 A 和其他两个的奇偶性不同,只有 B 和其他两个的奇偶性不同,只有 C 和其他两个的奇偶性不同。 大于 \(k\) 的不好统计,可以直接用总数减去小于 \(k\) 的总和。 设 $ f 阅读全文
posted @ 2024-12-08 14:10 KIreteria 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 \(n,k\) 和一个长度为 \(n\) 的排列,问随机选择一个长度为 \(k\) 的区间进行随机打乱,排列的逆序对数的期望。 考虑对每一个长度为 \(k\) 的区间分别计算答案。先计算随机打乱的这个区间对其他数的贡献,也就是总逆序对数减去原来区间内的逆序对数。这一部分我们在移动区间 阅读全文
posted @ 2024-11-17 16:44 KIreteria 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 我们设 \(r_i\) 为最后一个填的是红色,上一个填蓝色的值为 \(i\) 的最大答案,\(b_i\) 意义类似。 先写出朴素的转移方程。 当上一个和这一个都是红色: $ r_i = r_i + [ a_i = a_{i-1} ] \times a_i $ 上一个蓝色,这一个红色: $ r_i = 阅读全文
posted @ 2024-10-28 19:28 KIreteria 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 还有 2h 比赛想起来写游记了。 山东外国语学校实训楼C302。 我右边那个人在尝试观察我的快读,但没看懂就不管了( T1 简单贪心,写完大概 10min。 T2 先算出每个车的超速区间,做出来第一问,然后就是简单地用数据结构维护就行了,测完大样例大概 1h,被多测清空硬控了一会( 看了眼 T3 感 阅读全文
posted @ 2024-10-28 19:27 KIreteria 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 说实话我是第一次打 XCPC(虽然是非正式参加),感觉各种事情都非常神奇( Day 1 去参加 CSP 去了,所以没来( 晚上 11 点才从日照跑到济南。 Day 2 省流:铜,被 zxb 带飞了( 早上去签到,领了衣服和胸牌。 感觉没有比我们更抽象的队名了吧(笑 九点开始比赛,才发现用的 Linu 阅读全文
posted @ 2024-10-28 18:48 KIreteria 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 这个题也可以用矩阵加速解决。 先考虑 70pts 的做法,我们设 \(f_i\) 为从 \(i\) 位置到达 \(0\) 的期望步数,并尝试用 \(f_n\) 表示出所有 \(f_i\) 并利用 \(f_0\) 解出 \(f_n\) 然后回带即可。 具体地,设 \(f_i = a \times f_ 阅读全文
posted @ 2024-09-28 16:08 KIreteria 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简单博弈题。 先说结论,如果存在 \(a_i = 0\) 使得 \(1 \le i \le a_1\) 的话,那么先手必胜,否则后手必胜。 若满足上述条件显然先手必胜,将 \(0\) 搞到第一个就行。否则 Alice 每操作一次,如果操作后满足了上述条件,那么 Bob 赢,否则 Bob 只要不动就行 阅读全文
posted @ 2024-09-17 20:51 KIreteria 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 笑点解析:NOIP 模拟赛把这题放在 T3。 因为每一个点只能动一次,答案一定 \(\le n\),所以我们分两种情况讨论: 当答案小于 \(n\) 答案如果小于 \(n\),那么一定有一个点是一直没有被动过的。我们枚举这个点,将无根树转化为两棵以这个点为根的有根树。 我们将第一棵树和第二棵树同构的 阅读全文
posted @ 2024-09-08 23:13 KIreteria 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 首先考虑暴力 DP,设 \(f(i,v_1,v_2,now)\) 为已经将前 \(i\) 个数填入,\(i\) 填在 \(v_1\),\(j\) 填在 \(v_2\) 点,已经填完点的状态是 \(now\)(状压一下存在一个 long long 里)的方案数。转移时直接枚举下一个点暴力转移,只需要保 阅读全文
posted @ 2024-08-29 15:51 KIreteria 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 从题目名字看出此题需要用动态树解决 对于任意 \(i\),都有唯一的 \(p_i\) 与之对应,由 \(p_i\) 向 \(i\) 连边,\(n\) 种关系显然构成一基环树森林。对于环上的节点,一个点可以自己表示自己,所以可以直接解出该点的权值,其他点从环上的点直接推出即可。 考虑如何动态维护这个过 阅读全文
posted @ 2024-08-18 19:52 KIreteria 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 我们肯定是要先求出来一个位置被加的次数,然后和权值乘一下就行。 对于一个位置 \(i\),右端点 \(b\) 肯定是随便选,一共 \(n-i+1\) 种情况。再是对于每一种步长 \(c\),左端点 \(a\) 都有 \(\left\lceil\dfrac{i}{c}\right\rceil\) 种取 阅读全文
posted @ 2024-08-17 21:28 KIreteria 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 话说这题真的有紫吗(问号 注意到数据范围中提到 $\sum{nm} \le 2 \times 10^5 $,这里实际上是隐含了 \(\min(n,m) \le \sqrt{2\times 10^5}\) 的。我们考虑根据 \(n\) 和 \(m\) 的大小关系设计出不同的算法。 \(m<n\) 一个 阅读全文
posted @ 2024-08-17 19:48 KIreteria 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 可能有不少不严谨之处,太菜了请谅解。 之前对于 \(\text{splay}\) 的复杂度一直不是很懂,今天进行了一个势能分析的学习。 势能分析,就是借助势能函数,将中间过程用势能函数来刻画以得到发杂度的一个上界,这样分析出来的一般是均摊复杂度。 例如,第 \(i\) 此操作的代价是 \(c_i\) 阅读全文
posted @ 2024-08-13 13:52 KIreteria 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 切了 D 但不会 C,使我的大脑旋转。 A 进行一个分类讨论。 如果序列是有序的,答案自然为 \(0\)。 如果存在 \(i\) 使得 \(p_i = i\) 且 \(i\) 之前的数全小于 \(i\),那么答案为 \(1\),否则答案显然大于 \(1\)。 如果 \(p_1 \ne n\),那么答 阅读全文
posted @ 2024-08-05 19:33 KIreteria 阅读(28) 评论(0) 推荐(0) 编辑