11 2021 档案

摘要:链接 一开始其实有想到按abc的比例去分xyz 但是觉得算了 数学这么差没什么自信 事实上确实是这样 新学了琴生不等式和AMGM不等式用来证明这个 这里最好多输出几位小数,防止加起来因为四舍五入的原因超过S #include <iostream> #include <iomanip> #includ 阅读全文
posted @ 2021-11-25 14:19 Neworld1111 阅读(45) 评论(0) 推荐(0)
摘要:题目链接 至少要有一位相等,这样就会很复杂,可以反过来,全部不一样,好像就简单了不少 然后就可以预处理出来N/K个不能作为答案的长度为K的串 Hash一下 所以最多就N/K种 从0开始枚举就行了 #include <iostream> #include <cstdio> #include <stri 阅读全文
posted @ 2021-11-13 23:06 Neworld1111 阅读(43) 评论(0) 推荐(0)
摘要:题目链接 线段树其实就行了 试一下分块 但很奇怪TLE了 调到200才A #include <iostream> #include <algorithm> #include <cstring> #include <cmath> using namespace std; #define MAXN 15 阅读全文
posted @ 2021-11-04 11:09 Neworld1111 阅读(71) 评论(0) 推荐(0)
摘要:题目链接 对数据进行操作,数据结构是没跑了 但是之前接触的数据结构基本是对连续的几个数或者特定的一个区间进行操作 这个就很迷 考虑从暴力先开始入手 for(int i=y;i<=N;i+=x) ans += a[i]; 这样单词修改代价是O(N) 考虑优化暴力,也只有分块了 也就是我们要让这个代价变 阅读全文
posted @ 2021-11-04 10:26 Neworld1111 阅读(48) 评论(0) 推荐(0)
摘要:题目链接 对树的路径进行操作,不难想到树的路径是唯一的,离不开LCA 添加一条新边后,答案有两种可能,一是走原树上路径,二是通过这条边走到 对于后者,其实答案就是dis(a,x)+1+dis(y,b)或者dis(a,y)+1+dis(x,b) 均是树上原有的,LCA可求 但是有个特殊情况,可以反复横 阅读全文
posted @ 2021-11-02 21:59 Neworld1111 阅读(82) 评论(0) 推荐(0)