2019年8月25日
摘要: 题意 https://codeforces.com/contest/1037/problem/H 思考 贪心的思路是,尽可能多地找到读入串的一段前缀,然后再添上一个字典序比较大的字符。 先对原串建立SAM,考虑到有区间限制,需线段树合并维护endpos集合。 对于一个询问,我们现在SAM上找对它的前 阅读全文
posted @ 2019-08-25 21:22 GreenDuck 阅读(191) 评论(0) 推荐(1) 编辑
摘要: 题意 https://codeforces.com/contest/1037/problem/F 思考 摘自一种比较有趣的做法。我们对序列进行分治,每次统计跨过mid的区间的贡献。其正确性是保证的:每个区间只会对应到一个mid。对于左区间,算出它的后缀最大值。 接下来从左到右枚举右区间的每一个点。对 阅读全文
posted @ 2019-08-25 21:10 GreenDuck 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题意 求$\sum_{i=1}^{n}{C(n,i)*i^k}$,其中$n \leq 10^9 ,k \leq 5000$。 思考? 看到$i^k$,k那么小,直接第二类斯特林数。比较简单,就请允许我鸽了吧。 刚开始还想BM,当然T了。 代码 1 #include<bits/stdc++.h> 2 阅读全文
posted @ 2019-08-25 21:03 GreenDuck 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意 https://www.luogu.org/problem/P3158 思考 设$f_{i,j,k}$为用前k种棋子,在满足条件的情况下,在i*j的棋盘上每行每列都至少有一枚棋子的总方案数。转移为: $f_{i,j,k}=\sum_{i_1 \leq i}\sum{j_1 \leq j}{\{ 阅读全文
posted @ 2019-08-25 20:57 GreenDuck 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意 给一棵固定形态的树,边有边权,每次修改一条边权,在线求出修改后树的直径。 思考 写出树的全dfs序。生成方式为:每当一个点进栈或入栈时,记录它的编号。 考虑这个dfs序上两点之间的距离。设某个节点在dfs序中第一次出现的位置为$where_i$,第i个位置的节点为$what_i$两个点分别为u 阅读全文
posted @ 2019-08-25 20:49 GreenDuck 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 题意 https://www.luogu.org/problem/P3680 思考 拆点即可。 注意精度。 代码 1 // luogu-judger-enable-o2 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef long d 阅读全文
posted @ 2019-08-25 20:34 GreenDuck 阅读(213) 评论(0) 推荐(0) 编辑