随笔分类 -  OI

1 2 3 4 5 ··· 13 下一页
摘要:题意: 戳这里 分析: 前置 \(Lemma\) : 一个图是森林的充要条件是对于每一个子图都满足 \(|E|\le 2|V|-2\) 证明: 必要性:一个图在极端情况下会分成两个树,此时任何一条边都会使一个树变成基环树 充分性:如果一个子图不满足次性质,那么该子图一定带环,不是森林 我们按照上面的 阅读全文
posted @ 2021-03-05 19:03 youth518 阅读(95) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 一看到是直方图的题目,我们可以联想到笛卡尔树 我们将列数作为 BST 的一维,将高度作为小根堆的一维,这样笛卡尔树上每一个节点都是一个矩形 我们考虑在矩形中选出 k 个合法点的方案数,显然等价于 \(C_{wid}^kC_{hig}^kk!\) ,表示选出 k 种高度和下标并 阅读全文
posted @ 2021-03-05 11:29 youth518 阅读(220) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 大力推柿子: \[ \sum_{i=1}^n\sum_{j=i+1}^n\frac{a_ia_j}{\gcd(a_i,a_j)} \\ =\frac{\displaystyle\sum_{i=1}^n\sum_{j=1}^n\frac{a_ia_j}{\gcd(a_i,a_j 阅读全文
posted @ 2021-03-05 10:37 youth518 阅读(58) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 先暴力找规律 \[ x=1,2,3\dots A-1+\lfloor\frac{A-1}{B}\rfloor,A+\lfloor\frac{A}{B}\rfloor|A+1+\lfloor\frac{A+1}{B}\rfloor,A+2+\lfloor\frac{A+2}{B 阅读全文
posted @ 2021-03-05 08:31 youth518 阅读(127) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 暴力: \(O(nq)\) 的暴力没有什么意义,我们换一个思路,我们对于询问的区间进行莫队,然后统计前缀中 \(r-l+1\) 的位置有多少个,这个可以用线段树维护,每一个节点维护一个 pair ,重载一下取 \(\max\) ,复杂度也许是 \(O(n\sqrt n\log 阅读全文
posted @ 2021-03-04 18:00 youth518 阅读(76) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 板子题,没什么思维难度,但坑很多 tip: 和普通莫队不一样,异或时需要考虑 \(l-1\) 位置的前缀异或值 异或可能会使值变大,所以桶需要开到值域的 2 倍左右 代码: #include<bits/stdc++.h> #define pii pair<int,int> # 阅读全文
posted @ 2021-03-02 08:28 youth518 阅读(69) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 暴力 暴力枚举,最小表示法判断,复杂度 \((26^m*m)\) 期望得分 10pts 正解 转化要求,求不合法的串的个数 我们只要保证构造的无限长串的任意长度为 |s| 的子串的字典序都大于 s ,那么这个串就是不合法的 这样对于不合法串在 s 的 KMP自动机 上匹配的时 阅读全文
posted @ 2021-03-01 18:02 youth518 阅读(78) 评论(0) 推荐(1)
摘要:题意: 戳这里 分析: 暴力: 对于 \(d_i\) 互不相同的情况,排序后从小到大给每个点分配子树大小的后缀,期望得分:50pts 正解: 可能存在一种情况就是,有一个子树内的较大值可以和另一个作为根的点互换,不改变大小关系的同时使得值更大,所以我们考虑不直接给每个点分值了,而是考虑有多少个大于 阅读全文
posted @ 2021-03-01 09:14 youth518 阅读(82) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 暴力: 状压 \(O(2^n*n^2)\) 期望得分 50pts 正解: 前置芝士: 最大权闭合子图:对于一堆物品,选择会得到一个价值,存在一些依赖关系限制 构建方式: 首先统计所有正权价值和 \(sum\) 对于正权价值的物品,和原点连一条流量为 价值 的边,对于负权的物品 阅读全文
posted @ 2021-02-28 21:39 youth518 阅读(59) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 暴力: 对于PAM的DP题目,可能需要将题目转化一下,将原串变为 \(s_1t_1s_2t_2\dots s_nt_n\) ,这样对于一个需要翻转的区间 \([i,j]\) 满足 \(s_i=t_j,s_{i+1}=t_{j-1}\) 即区间 \([i,j]\) 在新构造的串 阅读全文
posted @ 2021-02-22 10:05 youth518 阅读(114) 评论(0) 推荐(1)
摘要:题意: 戳这里 分析: 暴力: 对于每一个前缀跑一遍最小表示法,复杂度 \(O(n^2)\),期望得分 \(30pts\) ~ \(50pts\) 我原本以为这个东西可以用lyndon分解补字符做到$O(n)$,但是lyndon分解求最小表示法要把原串倍增一下,这样每次相当于是插入两个字符,做不了/ 阅读全文
posted @ 2021-02-20 10:07 youth518 阅读(59) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 暴力: 对于每一次询问,在t里面哈希找最长总共子串,单次复杂度$O(|t|\log |t|)$ ,总复杂度 \(O(q|t|\log |t|)\),期望得分:50pts 正解: 对于最长公共子串问题考虑后缀字符串算法 我们发现,对于暴力做法单次查询的复杂度过高,所以考虑使用S 阅读全文
posted @ 2021-02-18 13:51 youth518 阅读(62) 评论(0) 推荐(1)
摘要:题意: 戳这里 分析: 暴力 直接KMP,复杂度O(\(n^2\)) 正解 首先因为不强制在线,我们可以建出操作树,然后DFS解决操作2的问题,然后我们考虑操作1怎么做,由于每一次暴力KMP的复杂度过高,所以我们要优化KMP。 我们把压缩的字符看成一个二元组,对于一个前缀,如果他是border,他一 阅读全文
posted @ 2021-02-17 14:41 youth518 阅读(115) 评论(0) 推荐(1)
摘要:题意: 戳这里 分析: \[ D=\sum_{j=1}^nA_{1,j}\times (\sum_{i=1}^nA_{1,i}B_{i,j}-C_{1,j}) \] 我们观察式子可以发现 \(B_{i,j}\) 会被选当且仅当 \(A_{1,i},A_{1,j}\) 都为 1,\(-C_{1,j}\ 阅读全文
posted @ 2021-02-08 09:00 youth518 阅读(53) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: 这个题目的限制条件只有两个: 选出 \(m\) 个相交的区间 求最大跟最小的差值 我的第一反应是,按处理出每一个线段存在的范围,枚举交点,这样就满足了第一个条件,但是我发现这个第二个条件没法做呀,貌似没有什么数据结构能支持动态查询排名相差为 \(m\) 的两个数的差值的最小值 阅读全文
posted @ 2021-02-07 10:19 youth518 阅读(69) 评论(0) 推荐(0)
摘要:题意: 戳这里 分析: DP 来贡献一发最劣解的做法 暴力 我们发现由于长度之和不超过$2^{13}$ ,所以放进去的块可以用一个不超过 \(2^{14}\) 的数字状压出来,其次我们手玩样例会发现一个性质,就是过程中拼出来的序列满足大小形状类倒着的 V 证明: 若存在 \(a>b<c\) ,那么 阅读全文
posted @ 2021-02-04 18:01 youth518 阅读(121) 评论(0) 推荐(0)

1 2 3 4 5 ··· 13 下一页