摘要: 本题感觉其实想透了并不难,思路很有目的性。 link 考虑每次这样表示最大值最小值好复杂!那就 设出来。 令 $a_i$ 为第 $i$ 行的最小值,$b_i$ 为第 $i$ 列的最小值。答案即为:$\prod {x=1}^N\prod{y=1}^M \min(a_x,b_y)$。 那我们肯定想对应原 阅读全文
posted @ 2022-07-07 14:56 Saintex 阅读(65) 评论(0) 推荐(0)
摘要: lnk 此题分为两个 Part,对我而言第一个 Part 更难想(得多)。 $\mathrm {Part\ 1}$ 分析 $\sum_{i=1}^n b_i(a_i-b_i^2)$。 考虑我们是确定 $b_i$ 的值,而 $\sum b_i=k$ 是一个定值。此处有一个 trick 就是一个一个加, 阅读全文
posted @ 2022-07-01 22:02 Saintex 阅读(43) 评论(0) 推荐(0)
摘要: Tips 有维度观念,注意这道题如果要 DP 有哪些维度。维度不一定要在状态中,还可以在条件或DP值中。 对子问题的理解。 观察性质 -> 建立、优化状态 全部 <-> 前缀 分类讨论 「JOISC 2020 Day4」治疗计划 本题 dp 的设定和转移都很 NB! 本题的维度有时间,坐标。 按时间 阅读全文
posted @ 2022-07-01 20:10 Saintex 阅读(51) 评论(0) 推荐(0)
摘要: link 容易想到先全局跑一遍,找到这两个点之间的简单路径长度 $L$ 和之中的点,并把其作为根。 然后就不会做了。。。。深入思考? 不妨二分找出最大的深度使得此深度上存在一点离两个距离为 $L$。最多二分 $\lceil\mathrm{log}_2{1000}\rceil=10$ 次。考虑最后一次 阅读全文
posted @ 2022-06-29 21:55 Saintex 阅读(35) 评论(0) 推荐(0)
摘要: link 最大最小,先二分一下。 首先想了一个贪心。令一个串中 $D=NUM_B-NUM_N$,一眼看过去 $D$ 应该是取所有串最大值和最小值的平均数。但这样很容易 G。这就告诉了我们贪心不好做。 那我们是否可以求得一个范围? 并且,如果我们考虑 $D$ 和总长两个因素的话,很容易出现他俩加起来 阅读全文
posted @ 2022-06-29 20:45 Saintex 阅读(53) 评论(0) 推荐(0)
摘要: link 比较经典的构造题。(真的就是 构造 题) 先考虑我们最多能填多少数,构造一波,发现可以: 即有值的位置的个数 $\leqslant n^2-\lfloor \frac n 2 \rfloor ^ 2$,但是如果这些数都相同,肯定是不行了。那么我们可以考虑一个相同的数最多可以出现多少次。 我 阅读全文
posted @ 2022-06-28 18:53 Saintex 阅读(34) 评论(0) 推荐(0)
摘要: CF1391E Pairs of Pairs CF1103C Johnny Solving 本题一般是这个不行那个就可以。对于第一题,先跑个 dfs 树,若树的深度 $\geqslant \lceil \frac n 2 \rceil$,那么一定可以找到一条路径。(当然直接找直径也可以) 否则 深度 阅读全文
posted @ 2022-06-28 15:47 Saintex 阅读(45) 评论(0) 推荐(0)
摘要: link 因为这个方案数肯定很大,用其他方法都不好直接搞。一般来说有两种方法:按边求解 和 按一个点的父亲是谁求解。(实际操作是有区别的) 每条边单独求解似乎是比较合计的选择(因为这个方案数肯定很大,用其他方法都不好搞)。 还是不要轻易弃做法啊。(可以把 idea 写纸上,一个一个试) 哈哈哈但是边 阅读全文
posted @ 2022-06-28 10:37 Saintex 阅读(30) 评论(0) 推荐(0)
摘要: link 本题最小生成树不难看出,瓶颈在他们之间边怎么连,这应该是个完全图啊。 能不能从原图的边入手呢?发现原图的边可以充当我们新建图的边(trick)。具体地,令 $x-y$ 为原图的边,离 $x$ 最近的传送门为 $s$,$y$ 最近的为 $t$,则建 $s-t$,边权为 $dist(x,s)+ 阅读全文
posted @ 2022-06-27 15:29 Saintex 阅读(58) 评论(0) 推荐(0)
摘要: 初三元旦晚会表演节目剧本,一个中午赶出来的。 饰演身份: WJC -> 小芳的朋友,XF:小芳,YRL:卷人,CJG:竞赛老师,NYH:班主任。 [上台] CJG:大家好,我们是 2022229 组合。我是 2022 级 2 班 的陈哲。(尽量读夸张点,CJG 靠你了) NYH:大家好,我叫 __ 阅读全文
posted @ 2022-01-01 12:03 Saintex 阅读(152) 评论(3) 推荐(0)
摘要: 可以说是一种dp的思维技巧 Problem 给定一个排列 \(p\),你可以智慧地按顺序选择多个区间使这个区间的每个数都等于这个区间的最小值。问最后能得到多少个不同的排列,答案对 \(10^9+7\) 取模。(\(len_p \le 5000\)) Solution 起初我想了一个区间 dp,想必也 阅读全文
posted @ 2021-10-20 16:36 Saintex 阅读(97) 评论(0) 推荐(3)
摘要: 这东西真的恶心。 CF113D Museum 来看注释。 #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <iostream> #include <vector> #define 阅读全文
posted @ 2021-10-16 16:26 Saintex 阅读(77) 评论(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 阅读(54) 评论(0) 推荐(0)
摘要: E 一个背包一眼题。 先暴力算出每条边经过的次数,然后大力01背包,注意次数为 \(0\) 也要做背包。 这里我刚开始的做法时每次 \(dp[i]=dp[i+x]+dp[i-x]\),但这样还需要将数组扩大一倍,很麻烦,而且要起来。 #include <cstdio> #include <algor 阅读全文
posted @ 2021-10-14 21:57 Saintex 阅读(154) 评论(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 阅读(49) 评论(0) 推荐(0)