zcmimi's blog
avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

说实话,我觉得我是太傻吊了,一道动动脑筋就可以写的题我能写成麻烦的dp

dalao的代码:(直接扫描一遍就可以过了)

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

LG 4824 [USACO15FEB]Censoring"的做法hash,kmp什么的因为数据水所以跑不满可以水过去

还是练一下AC自动机吧

解释见代码

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

cnt数组记录每种数字出现的次数

我们只需要考虑add(x),del(x),其他的交给莫队

我们考虑当前数原本的答案是a_x \times cnt_x^2

现在变成a_x \times (cnt_x+1)^2

cnt_x =y

(y+1)^2 = y^2 + 2y +1

所以更新的时候ans += a_x \times (cnt_x \times 2 + 1)

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

可以参考线段树或分块维护区间加和区间减的思路

看一下数据范围,每次操作只能O(1)的复杂度。

点的位置可以离散化一下

记得先乘后加

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

p条直线分情况讨论平行线的条数,已知在有r条平行线时有p-r条线与他们相交于p\times(p-r)个交点,再加上对于这p-r个交点的相交组合即可!

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

\sum [lcm(i,j)=i\times j]

相当于求\sum_{i=1}^n \sum_{j=1} ^n[gcd(i,j) = 1]

时间限制:10.00s

1 \le n,m \le 10^9\min(n,m) \le 10^6

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

思路很妙

注意m-n \le 20

也就是说最多只有21条非树边

我们可以先跑一遍kruskal,然后按套路建树,两点之间的距离就是d_x+d_y-2\times lca(x,y)

接着剩下最多21条边(42个节点),再跑最多42次最短路就可以处理出加上非树边的结果了

avatar
zc
2019-12-21 19:47:00
查看原题

点击跳转

我们可以考虑放n-k个节点然后使深度最大的最小

一开始的时候可以反过来想:树里面长度最大的路径就是树的直径,它的两个端点的度都是1(也就是叶子节点)

我们可以从每个叶子结点开始,向中心包围。可以用队列的方式实现。

(代码很短)

45/73
Search
search