题解
文章平均质量分 91
juruohjr
人如其名,蒟蒻一枚
展开
-
模拟赛题解9.13
用Fi表示斐波那契额数列的第i项,其中F10F21。一个数n是k好的当且仅当存在一个单调不降的序列a1k,使得n∑i1kFai。给定T个k,对于每一个k,求出最小的,是k好的数,结果对998244353取模。原创 2023-09-14 15:54:51 · 209 阅读 · 0 评论 -
刷(shui)题记录 2021.12
2021.12 做的题主要是 AT abc的G题,CF 2600~2700的题目原创 2021-12-08 15:14:01 · 835 阅读 · 0 评论 -
刷(shui)题记录 2021.11
[JOISC2020] 首都⇒\Rightarrow⇒原题链接可以想到,答案实际上是选择的城市数量减去 111 。选择的城市的所有城镇要连成一个联通块,那么对于属于同一个城市中的两个城镇 x,yx,yx,y ,假如选择了这个城市,那么路径 (x,y)(x,y)(x,y) 上所有的城镇所属于的城市都要被选择。因此可以建一个新图,对于路径 (x,y)(x,y)(x,y) 上的所有除 x,yx, yx,y 的点 ppp ,建边 Cx→CpC_x\rightarrow C_pCx→Cp 。那么答案就等于新原创 2021-11-03 20:27:07 · 247 阅读 · 0 评论 -
刷(shui)题记录 2021.10 [2]
[ARC111-C] Too Heavy⇒\Rightarrow⇒原题链接首先判断无解:∃i∈[1,N],pi≠i且bpi≥ai⇔无解\exists i \in [1, N], p_i \ne i \text{且} b_{p_i} \ge a_i\Leftrightarrow \text{无解}∃i∈[1,N],pi=i且bpi≥ai⇔无解接下来用 pip_ipi 建个图 ∀i∈[1,N],i→pi\forall i \in [1, N], i \rightarrow p_i∀原创 2021-10-29 11:12:51 · 171 阅读 · 0 评论 -
刷(shui)题记录 2021.10 [1]
[P6822] [PA2012]Tax⇒\Rightarrow⇒原题链接Tag: 建模\text{Tag: 建模}Tag: 建模考虑将无向边拆成两条有向边,化边为点。一种显然的暴力就是将一个点的入边和出边两两建边,边权就是入边出边的边权最大值,但是这样边数是 O(m2)O(m^2)O(m2) 的。考虑一个点的所有出边,将其排序,得到边序列 {en}\{e_n\}{en} ,显然的,我们可以将相邻两条边对应的点连边:ei−1→wei−wei−1eiei→0ei−1\begi原创 2021-10-27 14:53:03 · 184 阅读 · 0 评论 -
[题解][LG-P6811]「MCOI-02」Build Battle 建筑大师
⟹\Longrightarrow⟹原题链接给定一个序列长度 NNN 和 QQQ 个询问,每次询问给定循环大小 MMM。每次询问,先生成一个长度为 NNN 的序列,其中第 iii 个位置为 (i−1) mod M+1(i - 1)~\mathrm{mod}~M+1(i−1) mod M+1,比如当 N=7,M=3N=7,M=3N=7,M=3 的时候生成的的序列就是 {1,2,3,1,2,3,1}\{1,2,3,1,2,3,1\}{1,2,3,1,2,3,1} 。接着原创 2020-12-04 16:15:41 · 127 阅读 · 0 评论 -
[题解][LG-P3573][POI2014]RAJ-Pally
设 f(u)f(u)f(u) 表示从节点 uuu 出发的最长路,g(u)g(u)g(u) 表示到 uuu 结束的最长路,这两个 dpdpdp 的转移都比较显然,就不说了。那么经过一条边 (u,v)(u,v)(u,v) 的最长路就是 g(u)+1+f(v)g(u) + 1 + f(v)g(u)+1+f(v)。用 orduord_uordu 表示节点 uuu 的拓扑序。删去了一个节点 uuu 之后,我们将节点按照拓扑序分成两部分 A,BA,BA,B, 其中 AAA 的节点的拓扑序小于 orduord_uo原创 2020-11-30 16:24:07 · 98 阅读 · 0 评论 -
[题解][UVA-1205]Color a Tree
⟹\Longrightarrow⟹原题链接首先是一个错误的贪心:每次选择一个当前可以染色的权值最大的节点进行染色。反例也容易找,只需要在一个权值很小的节点下面放一堆权值很大的节点,然后在另一颗子树中放一个比那个权值很小的点大一点点的节点就好了。但是这个贪心可以给我们一些启示,当我们染了一个有儿子的点之后,这个点的权值最大的儿子一定会在接下来立刻染色。既然这两个点是相继被染色的,那么可以将其合并成一个点,但是合并之后的节点的权值到底如何计算,这是个问题。现在假设有三个节点,他们的权值分别是 a,b,c原创 2020-11-28 22:59:20 · 234 阅读 · 0 评论 -
[题解][LG-P3943]星空
⟹\Longrightarrow⟹原题链接很妙的一道题,本juruo\mathrm{juruo}juruo在考场上做不出来。思路错了,干瞪眼半天看不出做法。因本人喜好,将原题的0/10/10/1调换了。(雾)对区间进行操作,(可以看成)最后才观察答案(如果是暴力),那么可以(比较难)想差分。对区间[l,r][l,r][l,r]取反,就是在差分数组f1...n+1f_{1...n+1}f1...n+1中fl,fr+1f_l,f_{r+1}fl,fr+1分别取反,同时,当存在ai=pa_i=pai原创 2020-11-27 22:10:44 · 112 阅读 · 0 评论 -
[题解][CF-891C]Envy
⟹\Longrightarrow⟹原题链接有的dalao\mathrm{dalao}dalao说这道题可以用虚树写,但是本人想不到。考虑使用Kruskal\mathrm{Kruskal}Kruskal建立最小生成树的过程,可以发现一个性质:当我们考虑了所有边权≤w\leq w≤w的边,无论我们使用的是哪些边,构成的最小生成森林的连通性一定是一样的。也就是说,对于一个询问中的权值不同的边,可以分开判断。考虑判断一些权值相同(假设为WWW)的边是否可以放到同一颗生成树中。暴力地想,可以给它们还原一个考虑原创 2020-11-27 21:06:57 · 202 阅读 · 0 评论 -
[题解][UOJ-139]被删除的黑白树
⟹\Longrightarrow⟹原题链接题意:给定一颗有nnn个结点的树,初始时所有节点都是白色的,现在要将一些节点染成黑色,要求所有叶子节点到根节点的路径中黑色节点的个数相同。问最多可以将多少个节点染成黑色。用(u,v)(u,v)(u,v)表示uuu到vvv的一条路径,用w(u,v)w(u,v)w(u,v)表示路径(u,v)(u,v)(u,v)上的黑色节点个数。贪心地想,可以发现对于所有叶子节点uuu,满足:lim=w(root,u)=minv∈leaves{dep(v)}lim = w(ro原创 2020-11-25 20:50:52 · 83 阅读 · 0 评论 -
[题解][CF-1292C]Xenon‘s Attack on the Gangs
设szroot(u)sz_{root}(u)szroot(u)表示以rootrootroot为根,子树T(u)T(u)T(u)的大小, faroot(u)fa_{root}(u)faroot(u)表示以rootrootroot为根,节点uuu的父亲。这两个东西可以O(n2)O(n^2)O(n2)预处理。转化一下问题:ans=∑x=1n−1∑u,v∈V[mex(u,v)≥x]ans=\sum\limits_{x = 1}^{n - 1} \sum\limits_{u,v \in V} [\mathr原创 2020-11-25 15:44:52 · 102 阅读 · 0 评论 -
[题解][LG-P3791]普通数学题
可以想到将ddd函数的前缀和转化一下:Sd(i)=∑i=1nd(i)=∑i=1n⌊ni⌋S_d(i)=\sum_{i=1}^n d(i)=\sum_{i=1}^n \left\lfloor\frac{n}{i}\right\rfloorSd(i)=i=1∑nd(i)=i=1∑n⌊in⌋那么就可以求出O(n)O(\sqrt{n})O(n)求出每一个前缀和了(整除分块),加上一个unordered_map去除不必要的计算。将问题修改一下:i≤n,j≤m⟶i<n+1,j<m+1i原创 2020-11-25 14:30:09 · 230 阅读 · 0 评论 -
[题解][JS2008]魔兽地图
⟹\Longrightarrow⟹题面题解其实刚看着道题的时候是一脸懵逼的(雾)。然后想到使用dp,但是依然一脸懵。但是看到这个极其小的NNN和装备数量限制让我明白加维是不可避免的。首先可以发现,子树中的节点信息可以对子树的根节点产生影响,这一点和NOI2020D1T2有点像(但是那题我不会做,因为不太懂线段树合并),而本题的信息就是这个节点所代表的装备有多少是留下来作为价值贡献的,有多少是上交作为更高级武器的材料的,但是我们显然只需要记住其中一个,因为我们还需要记住这个子树中总共使用的金币数。原创 2020-11-05 20:10:53 · 113 阅读 · 0 评论 -
[题解][COCI2014-2015#1] Kamp
题面给定一颗有nnn个节点的无根树,每一条边eee有一个经过的时间t(e)t(e)t(e),树上有KKK个关键节点,现在对于每一个节点uuu,你需要回答下面的问题:从uuu出发,开一辆车,要求到达所有关键节点,最终不必回到节点uuu,问完成的最短时间。数据范围1≤k≤n≤5×105∀e∈E,1≤t(e)≤1091 \leq k \leq n \leq 5 \times 10^5\\\forall e\in E,1 \leq t(e) \leq 10^91≤k≤n≤5×105∀e∈E,1≤t(e原创 2020-11-05 19:36:56 · 249 阅读 · 0 评论