摘要: 一 P4092 [HEOI2016/TJOI2016]树 题意: 有以下两种操作: 标记操作:对某个结点打上标记。(在最开始,只有结点 1 有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。) 询问操作:询问某个结点最近的一个打了标记的祖先。(这个结点本身也算自己的祖先) 做法: 并查集。 阅读全文
posted @ 2021-08-13 20:25 ☄️ezuyz☄️ 阅读(34) 评论(0) 推荐(0)
摘要: 一 P3973 [TJOI2015]线性代数 题意: 给定 \(n\) 个数,选取任意个数,当选取 \(x\) 时,会获得 \(-c[x]\) 的贡献,当同时选取两个数 \(x\) 和 \(y\) 时,会获得 \(b[x][y]+b[y][x]\) 的贡献, 求贡献最大值。 \(n<=500\) 做 阅读全文
posted @ 2021-08-10 20:07 ☄️ezuyz☄️ 阅读(50) 评论(0) 推荐(0)
摘要: 一 P3761 [TJOI2017]城市 题意: 给定一棵树,每条边有边权,你可以砍掉任意一条边,再将其添上(权值不变),使其还保持一棵树的形态,求这样操作过的新树的最小直径。 做法: 先找出原树的直径,那么切掉的边一定在其直径上,枚举直径的每条边,将其割掉,原树被分为两棵树。 求出两个连通块的直径 阅读全文
posted @ 2021-08-07 21:11 ☄️ezuyz☄️ 阅读(58) 评论(0) 推荐(0)
摘要: 莫队例题 一:[CQOI2018]异或序列 题意: 给定查询参数l、r,问在al到ar的区间内,有多少子序列满足异或和等于k。对于所有询问,k都相同。 做法: 通过前缀和,将问题转化为在一个区间内有多少对数对的异或值为k,直接套用莫队即可。 *二:[SNOI2017]一个简单的询问 题意: 求 ​g 阅读全文
posted @ 2021-08-01 16:42 ☄️ezuyz☄️ 阅读(52) 评论(0) 推荐(0)
摘要: 广义后缀自动机 含义:在多个字符串中建立自动机。 做法(与后缀自动机的不同): 在每加入一个新字符串时将 last 设为 1。 再加入时先判断现在 last 节点是否有当前要加入的儿子。(1)如果没有,按正常后缀自动机进行操作。(2)如果有,且当前儿子的len为last的len+1,则此节点已有等效 阅读全文
posted @ 2021-08-01 10:27 ☄️ezuyz☄️ 阅读(55) 评论(0) 推荐(0)
摘要: 后缀自动机 关键代码: void ad(int x) { int p=last,k=last=++tot; a[k].len=a[p].len+1; for(;p&&a[p].ch[x]==0;p=a[p].fa) a[p].ch[x]=k; if(!p) a[k].fa=1; else{ int 阅读全文
posted @ 2021-07-31 21:00 ☄️ezuyz☄️ 阅读(40) 评论(0) 推荐(0)
摘要: T1 传送门 开始看时没什么思路,就先跳过去了,中午时听小伙伴说输出No就有20分!高兴坏了,后来又试了一下输出Yes,没想到竟然有50分!这捆绑了个寂寞,后来听JYH大佬讲,发现只要把能想到的特判特判一下就有80分,后悔没好好打个特判了。。又听ZTW大佬讲了一下正解,有点跑神。。后来又向大佬要了一 阅读全文
posted @ 2021-05-05 21:31 ☄️ezuyz☄️ 阅读(365) 评论(0) 推荐(1)
摘要: T1 在一棵树上,给定m次询问,每次给定一个k与len,求在树上有多少组大小为k的点集满足两两之间距离不超过len,一看就是我做不了的题,想了想没思路,就先打了半天暴力,回来看的时候又打了个链的情况,但手残的我不知道又哪里把链的情况打错了,只拿了十分暴力分。(这次长记性的我先把摸打上了,然而其他还是 阅读全文
posted @ 2021-05-04 21:15 ☄️ezuyz☄️ 阅读(144) 评论(0) 推荐(1)
摘要: T1 洛谷链接 看完题后先打了个$n3$的暴力,又发现可以算一个数在多少个区间中出现了,就打了$n2$的暴力,剩下的本想用带修莫队写,但想了想不好实现,就又接着$n^2$的思路想了下去。 进一步发现当序列长度为偶数时,答案一定为零,而当长度为奇数时直接隔一个算一个即可,感觉发现了重要的特性,就很激动 阅读全文
posted @ 2021-05-02 20:03 ☄️ezuyz☄️ 阅读(150) 评论(0) 推荐(2)
摘要: 本题是道纯数学题,代码很简单。 示意图: 如图所示: 线段 \(BD\) 与 \(\bigcirc A \bigcirc C\) 相切,设 \(R\) 为大圆的半径,\(r\) 为小圆的半径,\(n\) 为小圆个数,则 \(\angle \alpha = (360 \div n \div 2)^\c 阅读全文
posted @ 2021-04-30 09:21 ☄️ezuyz☄️ 阅读(55) 评论(0) 推荐(1)