摘要: link 比较经典的构造题。(真的就是 构造 题) 先考虑我们最多能填多少数,构造一波,发现可以: 即有值的位置的个数 $\leqslant n^2-\lfloor \frac n 2 \rfloor ^ 2$,但是如果这些数都相同,肯定是不行了。那么我们可以考虑一个相同的数最多可以出现多少次。 我 阅读全文
posted @ 2022-06-28 18:53 Saintex 阅读(21) 评论(0) 推荐(0) 编辑
摘要: CF1391E Pairs of Pairs CF1103C Johnny Solving 本题一般是这个不行那个就可以。对于第一题,先跑个 dfs 树,若树的深度 $\geqslant \lceil \frac n 2 \rceil$,那么一定可以找到一条路径。(当然直接找直径也可以) 否则 深度 阅读全文
posted @ 2022-06-28 15:47 Saintex 阅读(27) 评论(0) 推荐(0) 编辑
摘要: link 因为这个方案数肯定很大,用其他方法都不好直接搞。一般来说有两种方法:按边求解 和 按一个点的父亲是谁求解。(实际操作是有区别的) 每条边单独求解似乎是比较合计的选择(因为这个方案数肯定很大,用其他方法都不好搞)。 还是不要轻易弃做法啊。(可以把 idea 写纸上,一个一个试) 哈哈哈但是边 阅读全文
posted @ 2022-06-28 10:37 Saintex 阅读(19) 评论(0) 推荐(0) 编辑
摘要: link 本题最小生成树不难看出,瓶颈在他们之间边怎么连,这应该是个完全图啊。 能不能从原图的边入手呢?发现原图的边可以充当我们新建图的边(trick)。具体地,令 $x-y$ 为原图的边,离 $x$ 最近的传送门为 $s$,$y$ 最近的为 $t$,则建 $s-t$,边权为 $dist(x,s)+ 阅读全文
posted @ 2022-06-27 15:29 Saintex 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 初三元旦晚会表演节目剧本,一个中午赶出来的。 饰演身份: WJC -> 小芳的朋友,XF:小芳,YRL:卷人,CJG:竞赛老师,NYH:班主任。 [上台] CJG:大家好,我们是 2022229 组合。我是 2022 级 2 班 的陈哲。(尽量读夸张点,CJG 靠你了) NYH:大家好,我叫 __ 阅读全文
posted @ 2022-01-01 12:03 Saintex 阅读(91) 评论(3) 推荐(0) 编辑
摘要: 可以说是一种dp的思维技巧 Problem 给定一个排列 \(p\),你可以智慧地按顺序选择多个区间使这个区间的每个数都等于这个区间的最小值。问最后能得到多少个不同的排列,答案对 \(10^9+7\) 取模。(\(len_p \le 5000\)) Solution 起初我想了一个区间 dp,想必也 阅读全文
posted @ 2021-10-20 16:36 Saintex 阅读(80) 评论(0) 推荐(3) 编辑
摘要: 这东西真的恶心。 CF113D Museum 来看注释。 #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <iostream> #include <vector> #define 阅读全文
posted @ 2021-10-16 16:26 Saintex 阅读(57) 评论(0) 推荐(0) 编辑
摘要: link 此为 CF442B Andrey and Problem 的弱化版。 (此为选数只留下一个算最大/最小概率此类题型的板子。。) 考虑 dp,易写出转移式:\(dp[i]=\prod (1-a_j)_{j<i}\times a_i+dp[i-1]\times (1-a_i)\)。 考虑当前我 阅读全文
posted @ 2021-10-15 19:15 Saintex 阅读(43) 评论(0) 推荐(0) 编辑
摘要: E 一个背包一眼题。 先暴力算出每条边经过的次数,然后大力01背包,注意次数为 \(0\) 也要做背包。 这里我刚开始的做法时每次 \(dp[i]=dp[i+x]+dp[i-x]\),但这样还需要将数组扩大一倍,很麻烦,而且要起来。 #include <cstdio> #include <algor 阅读全文
posted @ 2021-10-14 21:57 Saintex 阅读(77) 评论(0) 推荐(0) 编辑
摘要: link 为什么我会把树剖的常见 trick 忘了啊。。。 trick 1:lca → x 向上跑 + y 向上跑 trick 2:深度可以用这个点到根点的个数表示 化简一下:\(ans=(d_i+d_j-2d_{LCA(i,j)})^2=d_i^2+d_j^2+4d^2_{LCA(i,j)}+2d 阅读全文
posted @ 2021-10-12 20:51 Saintex 阅读(40) 评论(0) 推荐(0) 编辑
摘要: Nim 博弈 可以证明当 \(a_1\oplus a_2 ... \oplus\ a_n=0\) 时,后手必赢。 否则先手必赢。证明略。 阶梯博弈 可以证明当 \(a_1\oplus a_3 \oplus\ a_5 ...=0\) 时,后手必赢。 否则先手必赢。证明略。 Pro:此题单向移动是可以的 阅读全文
posted @ 2021-09-18 16:00 Saintex 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 图论专场? 前言 A、B 略。 C 考场上用了 20min A了这道题,其中 12min 都在理解题意,我在线谢谢出题人我的英语。/wx 转 \(4\) 次。每次判断两矩形是否平移后相同即可。 判断也很简单,分别将两个矩形的左上角靠在 \((1,1)\),看看他们是不是完全一样。 #include 阅读全文
posted @ 2021-09-11 23:54 Saintex 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 降智了( A、B、C、D 略。 E 降智了。 一开始发现可以用树状数组+queue(que)做掉。具体地,每次加入点在que中,如要排序,就将que中的点全部插入树状数组。询问的时候,在树状数组上二分(只是我懒打了个2log),有的话输出删掉,否则就输出、删掉que.front()。 考完发现自己降 阅读全文
posted @ 2021-09-06 14:09 Saintex 阅读(50) 评论(0) 推荐(0) 编辑
摘要: link 又是喜闻乐见的推式子环节。 以下令 \(n\le m\)。 \(ans=\sum_{i=1}^n \sum_{j=1}^m \mathrm {lcm}(i,j)\) \(=\sum_{i=1}^n \sum_{j=1}^m \frac {i\times j}{\gcd(i,j)}\) \( 阅读全文
posted @ 2021-08-25 10:57 Saintex 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 首先 \(10^{100} s\) 后所有情况都会出现。因为 \(2*lcm(1,2,..50)\le 10^{100}\)。 令当前时间为 \(t\),则序列 \(i\) 取的到 \(j\) 需满足的条件为:\(t\equiv place_j \pmod {len_i}\)。(\(len_i\) 阅读全文
posted @ 2021-08-22 00:32 Saintex 阅读(92) 评论(1) 推荐(3) 编辑