上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: 题意: 戳这里 分析: 题意:\(m\) 个操作每次操作给出 \(h,k\) 在前 \(h\) 个数字中选出 \(k\) 个 +1,使得操作结束后 \(\sum \frac{x\times (x-1)}{2}\) 最小 易证: 最后使得所有数尽可能小最优 ,若 \(x<y\) 则 \(\frac{x 阅读全文
posted @ 2021-01-05 15:40 youth518 阅读(98) 评论(0) 推荐(0)
摘要: P3348 [ZJOI2016]大森林 LCT 题意: 戳这里 分析: 巨佬1 说这是水题,应该一眼切,我还是太菜了/kk 不讲思考过程了,因为我压根就不会,思考了寂寞 具体做法就是,我们发现询问可以离线,那么对操作进行排序,利用LCT的动态维护的功能就可以在一棵树上通过删改得到所有情况的答案 我们 阅读全文
posted @ 2021-01-05 14:58 youth518 阅读(79) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 暴力: 对于每一个操作,找出它加上或删掉影响的部分中最小的那个值,跟它比较之后决定删除或保留,复杂度 \(O(qm)\) 正解: 我还在想分成树边和非树边分开考虑怎么计算时,巨佬一眼就切了 没错,就是线段树分治,因为每一条边被修改中之后等价于删掉这条旧的边,同时加入一条边权为 阅读全文
posted @ 2021-01-05 10:25 youth518 阅读(125) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 建出SAM,然后 \(dfs\) 将不好字符的转移代价设置为 \(1\) ,好的字符的转移代价设置为 \(0\) 这样题意等价于求本质不同的长度小于等于 \(k\) 的字符串个数,\(O(nk)\) 的转移就行了 代码: #include<bits/stdc++.h> usi 阅读全文
posted @ 2021-01-02 11:08 youth518 阅读(120) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 一看多串匹配直接上广义 \(SAM\) ,每一个节点分别维护一下三个串的 \(siz\) 这样答案每一个点对答案的贡献就是 长度在 \(len[link[x]]\) 到 \(len[x]\) 之间每一个长度的匹配数都会加上 \(siz[a]*siz[b]*siz[c]\) 不 阅读全文
posted @ 2021-01-02 11:04 youth518 阅读(84) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 模板题 题意转化一下,\(ans=总点数-最大边数=总点数-最大流\), 我们把每一个点拆成入点和出点两部分,原点向每一个入点连一条边,每一个出点向汇点连一条边,对于原图上存在的一条边 \(x\to y\) 由 \(x\) 的入点向 \(y\) 的出点连一条边,这些边的流量都 阅读全文
posted @ 2021-01-02 10:56 youth518 阅读(51) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 题目相当于给定一张DAG,求最少路径覆盖,这不就是网络流24题里的那个最小路径覆盖的弱化版吗? 根据题意和最小路径覆盖的那个题的方法,我们把每一个小镇拆成入点和出点两个,然后每一个入点向能到达的小镇的出点连边,流量为 \(1\) ,同时原点向每一个小镇的入点连边,每一个小镇的 阅读全文
posted @ 2021-01-02 10:48 youth518 阅读(84) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 枚举一下 \(n\) 的位置,分成左右两段,然后将每一个能看见的建筑物和它会挡住的建筑物分成一组,然后每一组内部就是一个圆排列,因为默认最大的那个建筑是分割点,所以每一组内部就是一个圆排列 按照第一类斯特林数的递推公式 \(s[i][j]=s[i-1][j-1]+(i-1)* 阅读全文
posted @ 2021-01-01 10:22 youth518 阅读(89) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 推柿子 我们记 \(m\) 为值域大小, \(c_x\) 为 \(x\) 的个数 \[ \sum_{i=1}^n\sum_{j=1}^nlcm(A_i,A_j) \\ =\sum_{i=1}^m\sum_{j=1}^m lcm(i,j)\times c_i\times c_j 阅读全文
posted @ 2020-12-31 16:57 youth518 阅读(85) 评论(0) 推荐(0)
摘要: 题意: 戳这里 分析: 对于要求的东西我们可以 DP 求一下,我们设 \(f[i]\) 表示以 \(i\) 结尾的 \(AA\) 类型的串的个数,\(g[i]\) 表示以 \(i\) 开头的 \(AA\) 类型的串的个数 \(ans=\sum f[i]\times g[i+1]\) 所以我们现在考虑 阅读全文
posted @ 2020-12-31 16:16 youth518 阅读(113) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页