上一页 1 2 3 4 5 6 ··· 17 下一页
摘要: 【题意】 求在一棵树上,选取的每一对点之间的路径的和的最大值和最小值 【分析】 先考虑最小值: 我们希望每个边出现的次数尽量少,所以考虑u的儿子v子树内有偶数个节点,那么就一定可以内部消化不用走(u,v) 反之如果为偶数,那么(u,v)就不得不走一次 考虑按照这样的方式一定能构造出一组走法 考虑最大 阅读全文
posted @ 2021-10-17 21:20 andyc_03 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 【题意】 求一个字符串的num数组,表示1-i的即使前缀也是后缀且不重叠的串的个数 【分析】 考虑不断跳nxt数组,如nxt[i],nxt[nxt[i]].... 直到跳到长度小于i的一半的时候开始计数那么就得到了num数组 可是这样做的最坏时间复杂度仍然是$O(n^2)$,继续考虑优化,即减少重复 阅读全文
posted @ 2021-10-17 19:23 andyc_03 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 【题意】 给定一个字符串,q次询问l-r的最短循环节 【分析】z 显然,循环节是len的因子,所以我们可以通过枚举因子的方式来判断 这里,我们筛素数的同时,记录i的最小质因子min_fac[i],然后继续把i作为一个因数后,继续分解i/min_fac[i] 然后这里判断长度为j的是不是循环节的时候, 阅读全文
posted @ 2021-10-16 21:55 andyc_03 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 【题意】 【分析】 考虑把字符串建立在一个Trie树上,对应操作如下: 1.查看是否有这个儿子,没有就新建一个节点 2.向上跳到fa节点 3.当前节点标记为第i个字符串的末尾 4.标记为不可通配符也就是说最长公共前缀限制到这一位之前,所以所有的删除操作的min-1位置为公共前缀的最大值,撤销就相当于 阅读全文
posted @ 2021-10-10 17:23 andyc_03 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 【题意】 求基环树中删去一条边得到的生成树中的直径最小值 【分析】 显然,删去的一定是环上的边才能得到生成树 然后,我们把环拆成链,得到$a_1,a_2,...,a_k$ 求出以$a_i$为根的树中的最大深度$dep_i$ 然后考虑生成树的直径有可能有以下几种情况: 1.最大深度在某个树中,直接跑一 阅读全文
posted @ 2021-10-10 16:30 andyc_03 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 【题意】 【分析】 首先,我们可以得到以下结论: 1.将一个数修改为从未出现过的数字一定不优 2.修改第二次出现的数一定不如修改第一次出现的数优 有了以上两个结论,我们就可以进行恶心的分类讨论了 【代码】 #include<bits/stdc++.h> using namespace std; ty 阅读全文
posted @ 2021-10-01 21:29 andyc_03 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 【题意】 【分析】 显然这是一个树形的结构,我们可以发现每次连接两个操作就相当于两个子树的合并,而一个点的子树的部分一定要小于等于这个点,概率为2/3 我们可以先将整个树结构离线建立起来,然后用dfs序来将子树转换成区间,然后利用线段树解决这个问题 注意:要用vector,链式前向星的顺序是反的! 阅读全文
posted @ 2021-10-01 21:01 andyc_03 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 【题意】 给定一个长度为n的文章(小写字母),和m个不合法单词,修改文章中每个字母都有$a_i$的代价,问要文章中不存在不合法的单词,最小代价是多少 数据范围:$n\leq2*10^5,m\leq10$ 【分析】 首先,我们可以预处理出来每个位置作为结尾,不包含任何不合法单词的最长的区间pos[i] 阅读全文
posted @ 2021-10-01 20:48 andyc_03 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 【题意】 给定n行数,每行$c_i$个,保证$a_{i,j}<a_{i,j+1}$,现在让你每行选出第$b_i$个元素,这种选择方案记为${b_1,b_2,...,b_n}$,给定m个不能选择的方案,问剩下的方案中和最大为多少 【分析】 先全选最大看合不合法,如果不行给m个依次替换一位找到合法的当中 阅读全文
posted @ 2021-09-25 19:59 andyc_03 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 【题意】 k张扑克正反面各有一个数字范围1-n,q次询问l-r能否用扑克表示出来 【分析】 没看到数据范围以前觉得是一个网络流的题 看了数据范围果断放弃 考虑把正反两个值之间连一个边,那么我们得到的图中,如果一个连通块为树,那么意味着这个树中最小-最大的区间不能被包含在l-r内 那么询问就变成了是否 阅读全文
posted @ 2021-09-19 23:49 andyc_03 阅读(146) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 17 下一页