https://www.luogu.com.cn/problem/P2563 完全背包。 预处理出来 $200$ 以内的素数。 以每个素数为物品进行背包。 时间复杂度:$O(200\times \sqrt{200}+200\times \frac{200}{\ln 200}+T)\approx O( ...
分类:
其他好文 时间:
2020-05-23 18:23:07
阅读次数:
72
题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。 输入 ...
分类:
其他好文 时间:
2020-04-14 01:04:44
阅读次数:
69
$Solution$ 发现之前代码的样式时常会出现不同颜色很不协调的东东,,,然后,发现原来是代码那一栏没打 cpp。(笑) 言归正传,感觉这道数位 DP 非常神奇。我们考虑到其实各个数位之和比较小,可以直接枚举。 这样就解决了一个重要的问题:我们的“数”范围太大,状态装不下。(不过注意要保证解的各 ...
分类:
其他好文 时间:
2020-03-19 17:49:21
阅读次数:
63
$(\displaystyle \sum^{}_{1 include include include using namespace std; const int N = 5e5 + 3; long long ans; int cnt, l[N], r[N], s[N], lg[N], T, rmq ...
分类:
其他好文 时间:
2020-03-02 10:44:00
阅读次数:
56
首先明确题目要我们求什么。看到后面的 $LCP(T_i, T_j)$ 很容易用后缀数组将其转化成 $\min_{rk[i] pragma GCC optimize(2) define rep(i, l, r) for (int i = (l); i = (l); i) using namespace ...
分类:
其他好文 时间:
2020-02-13 09:41:49
阅读次数:
48
~~双倍经验,还是蓝题,岂不美哉~~ 题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为$a_1,a_2,…,a_N$ 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由 ...
分类:
其他好文 时间:
2019-09-02 13:41:52
阅读次数:
81
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3238 [算法] 首先 , LCP(Ti , Tj) = min{ height[rank[Ti] + 1] , height[rank[Ti] + 2] , ... , height[ ...
分类:
其他好文 时间:
2018-12-01 00:18:05
阅读次数:
160
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1969 [算法] 首先离线 , 将删边操作转化为加边操作 不妨首先将这张图按边-双连通分量(e-DCC)缩点 , 缩点后形成了一棵树 树链剖分 + 线段树即可 时间复杂度 : O(Nlo ...
分类:
其他好文 时间:
2018-11-03 20:14:55
阅读次数:
154
题面 这种不断删边的首先肯定想到时光倒流啊=。= 在最后剩下的连通图上跑出一棵搜索树,先将边权都赋为$1$,那么两点间的关键航线就是链上边权和,而每加入一条非树边$u,v$都会使得$u,v$链上的边的边权变为零。写个树剖,先把非树边加进去,然后逆着做一下就行了。 1 #include<map> 2 ...
分类:
其他好文 时间:
2018-10-24 10:47:57
阅读次数:
173