摘要:
题目链接 题解 可以发现,在一个强连通分量中,只要一个节点可以到达$s$节点,所有节点均可以到达。因此将强连通分量缩点,入度为0且不包含根节点的缩点个数即为答案。易证,入度不为0的缩点一定可以通过与它连接的缩点到达$s$节点。 AC题解 #include<bits/stdc++.h> using n 阅读全文
摘要:
CF1142B Solution 题目翻译 题解 这道题的数据范围是$2e5$,所以算法的时间复杂度需要在$O(nlogn)$以内,又因为$q\le 2e5$,所以要么可以在$O(logn)$的复杂度内查询,要么是静态算法。经思考前者不太可行,因此这道题是$O(nlogn)$以内的静态算法,可以想到 阅读全文
摘要:
题目链接 题解 易得,最后一轮只发给Arkady一人糖时,他获得的糖数最多。观察发现$D$的数据范围非常小,因此可以枚举发糖的轮数。设发糖的轮数为$i$,每次每人发$x$颗糖,可列方程: \[ (i-1)k\cdot x+x=n \] 化简后得: \[ x=\frac{n} {(i-1)k+1} \ 阅读全文
摘要:
题目链接 题解 下文将有偶数个节点的树称之为“偶树”,而奇数个结点的树称之为“奇树”。 如果输入的树为偶树,一定无法全部摧毁,因为$n-1$为奇数而每次删去偶数条边。同样,在删点过程中,森林中的每棵树一定只能为奇树。因此如果要删去一棵树的根节点(设编号为1的点为根节点),必须保证这颗树的全部子树都为 阅读全文
摘要:
题目链接 题解 可以发现,对于每个人来说,除了他最喜欢的数字以外,分配到的其他数字都不重要。因此本题的重点便是如何将若干个同样数字的卡牌分配到喜欢该数字的人,使愉悦值最大,显然可以用dp解决。 状态:\(dp[i][j]\):前$i$个人取了$j$张牌时的最大愉悦值。 转移方程:\(dp[i][j] 阅读全文
摘要:
题目链接 题解 设两点碰撞的时间为$t$,则 \[ \begin{cases} x_1+t\cdot V_{x1}=x_2+t\cdot V_{x2} \\y_1+t\cdot V_{y1}=y_2+t\cdot V_{y2}\end{cases} \] 化简合并得 \[ \frac {x_1-x_ 阅读全文