摘要:
区间本质不同子串的一些解法 阅读全文
摘要:
A. 震波 先来胡一波题解 看到距离不超过 \(k\) 我们可以考虑用点分树来做。对于点分树上的每个点考虑建立一棵线段树存其子树内的信息。线段树上的每个叶子节点 \([x,x]\) 代表到这个点距离为 \(x\) 的点的权值和。 然后发现我们要求的是前缀和所以树状数组就好了(可见我刚是多么傻逼)。 阅读全文
摘要:
CF449D Jzzhu and Numbers 首先可以发现这是一个背包,列出最基本的dp子状态:\(dp_{i,j}\) 代表前 \(i\) 个数的子集(包括空集)组合出 \(j\) 的方案数,有方程 \(dp_{i,j}=dp_{i-1,j}+\sum_{k \& a_i=j}dp_{i-1, 阅读全文
摘要:
新开一个坑... P2647 最大收益 考虑我们已经确定了取哪些数然后要确定顺序,发现如果答案排列是 \(p_1,p_2...p_k\),那么答案为 \(\sum_{i=1}^n(w_{p_i}-(k-i)r_{p_{i}})\)。 发现前面的和顺序无关,最后即要最小化 \(\sum_{i=1}^{ 阅读全文
摘要:
CF1400 A. String Similarity 不能再水的送分题?有挺多个做法。 首先我们观察到每个要求都包含 \(s_n\),那我们把所有 \(w_i\) 都搞成 \(s_n\) 就一定满足要求。 #include <bits/stdc++.h> using namespace std; 阅读全文
摘要:
运算符 描述 例子 可重载性 第一级别 :: 作用域解析符 Class::age = 2; 不可重载 第二级别 () 函数调用 isdigit('1') 可重载 () 成员初始化 c_tor(int x, int y) : _x(x), _y(y*10){}; 可重载 [] 数组数据获取 array 阅读全文