T1.简单树(easy.cpp) 题目描述 给定一棵 $n$ 个点的树,你需要给每条边赋值 $0$ 或 $1$,求树上所有点对之间的简单路径权值总和的最大值,并输出方案。 一条路径的权值定义为这条路径上所有边权的异或和。 题解 引理 可以知道, $ans(x,y) = ans(x, root) \oplus ans(y, root)$。将树想象成一…
题目链接 长度为 $m$ 的栅栏上,有 $n$ 头牛需要坐车前往别的地方,起点和终点分别为 $a_i$ 和$b_i$ 。现在一辆出租车从最左端 $0$ 出发,要运送完所有牛,最后到达最右端$m$ ,求最小路程。出租车只能一次载一只牛。 题解 超级无敌大水题思维题 首先,出租车要将每个牛都从出发点送到目的地,那么必须经过所有牛的路程。我们先将这个路程…
题目描述 给定一个长度为 $n$ 的数字串 $a$,和一个长度为 $m$ 的数字串 $b$,保证 $b$ 中出现的元素在 $a$ 中都出现过,且 $b$ 中任一元素只出现过一次。现求一个 $a$ 的长度尽可能短,且尽可能靠左的子串,使 $b$ 成为其子序列。 数据范围 多测 $1≤T≤1000$ $1≤m≤n≤10^6$ $1≤∑n≤5×10^6$…
[原文链接] C++冷知识(逐渐更新) - By 种下一颗草莓 1. 输入 输出 4种输入输出方式 scanf 和 printf cin 和 cout puts gets getchar putchar 3 4 都是针对字符的,3针对字符串,4针对单个字符。 1. 单个字符 以方式1 4 输入单个字符时,空格 回车都会吸收,算作一个…
喜提了jp版,还没有体验过,下下周才有空打球 上图! つづく !
http://51server.top/ 点击上面这个网站
题目描述 在 $xy-$ 直角坐标平面的天空中,有 $n$ 片四边平行于坐标轴的矩形云朵。每一片云由一个五元组 $(xi,yi,wi,hi,di)$ 表示,其中 $(xi,yi)$ 为云左下角顶点的坐标,$w_i$ 表示云在 $x$ 轴方向的宽度,$h_i$ 表示云在 $y$ 轴方向的长度,$di∈lbrace 0,1rbrace $ 为云的移动方…
题目描述 给定 $n$ 和 $k$ 棵有 $n$ 个点的树。对于每个点对 $(i,j)$ ,求出其在每棵树上的路径经过的点(含端点)的交集大小。 数据范围: $1 \leq n, k \leq 500$ 时间限制: $2.000s$ 题解 首先明白一个性质:对于某一棵树,考虑 $x$ 在 $(u, v)$ 路径上的充要条件:$dis(u,x) + …
兰道函数 对于所有非负整数,兰道函数$g(n)$定义为对称群$S_{n}$的所有元素的秩之中,最大的一个。或者说,$g(n)$是$n$的所有整数分拆之中的最小公倍数。 例如${displaystyle 5=2+3}, {displaystyle lcm(2,3)=6}$没有其他5的分割方式能得出一个更大的最小公倍数,故此${displaystyle…
这个是原题链接 关键在于发现题目是逆序对,实际上你在赛场上直接猜结论(确实需要一定的勇气,毕竟数据不够多,罚时等等)也是可以的,那么我们来推导一下这个性质。 $$\sum{(a_i-b_i)^2} = \sum{[a_i^2 + b_i^2 - 2a_ib_i]} = \sum{(a_i^2 + b_i^2)} - 2\sum {a_ib_i}$$…