随笔分类 - 思维题
摘要:Music in Car 用两个Set维护一下尺取的过程。
阅读全文
摘要:Geometrical Progression n == 1的时候答案为区间长度, n == 2的时候每两个数字都可能成为答案, 我们只需要考虑 n == 3的情况, 我们可以枚举公差, 其分子分母都在sqrt(1e7)以内, 然后暴力枚举就好啦。
阅读全文
摘要:Adam and Tree 感觉非常巧妙的一题。。 如果对于一个已经建立完成的树, 那么我们可以用dp[ i ]表示染完 i 这棵子树, 并给从fa[ i ] -> i的条边也染色的最少颜色数。 mnson[ i ][ 0 ] 和 mnson[ i ][ 1 ]分别表示 i 的儿子的dp值的最大和第
阅读全文
摘要:Cooperative Game 智商题, 感觉不太能推出来, 虽然看看证明过程是对的。
阅读全文
摘要:Too Much Money 最关键的一点就是这个贪心可以在sqrt(n)级别算出答案。 因为最多有sqrt(n)个不同的数值加入。 我们可以发现最优肯定加入一个。 然后维护一个当前可以取的最大值, 枚举加入的数来贪心。
阅读全文
摘要:Trucks and Cities 一个很显然的做法就是二分然后对于每个车贪心取check, 这肯定会TLE, 感觉会给人一种贪心去写的误导。。。 感觉有这个误导之后很难往dp那个方向靠。。 dp[ k ][ i ][ j ]表示把 i, j 这个区间分成 k 段, 所有段的最大值的最小值为多少。
阅读全文
摘要:vp的时候没码出来。。 我们用set去维护, 每一块区域, 每块区域内的元素与下一个元素的差值刚好为ki,每次加值的时候我们暴力合并, 可以发现我们最多合并O(n)次。 然后写个线段树就没了。
阅读全文
摘要:我还以为是什么板子题呢。。。 我们把儿子当做点, 公主当做边, 然后就是求边权值最大基环树森林。
阅读全文
摘要:Bacterial Melee 我们发现所有合法串都是原序列的某个子序列(这个子序列相邻元素相等) 的扩展, 比如子序列为abc, 那么aabbbc, abbbcc 等都是合法串。 所以我们只需要dp出原串有多少相邻元素不同的子序列就好啦。
阅读全文
摘要:George and Cards 我们找到每个要被删的数字左边和右边第一个比它小的没被删的数字的位置。然后从小到大枚举要被删的数, 求答案。
阅读全文
摘要:Minimal Diameter Forest 首先我们找出每个连通块中的特殊点, 特殊点的定义是到各种个连通块中距离的最大值最小的点, 每个连通块肯定通过特殊点连到其他连通块, 我们把有最大值的特殊点当作根, 然后其他点直接接在这个点中, 形成菊花图。
阅读全文
摘要:Contact ATC 我跑去列方程, 然后就gg了。。。 我们计每个飞机最早到达时间为L[ i ], 最晚到达时间为R[ i ], 对于面对面飞行的一对飞机, 只要他们的时间有交集则必定满足条件。 对于相同方向飞行的飞机, 只有其中一个的时间包含另一个的时间才满足条件。
阅读全文
摘要:Bipartite Segments 因为图中只存在奇数长度的环, 所以它是个只有奇数环的仙人掌, 每条边只属于一个环。 那么我们能把所有环给扣出来, 所以我们询问的区间不能包含每个环里的最大值和最小值, 这个东西能用dfs直接扣, 找最大值和最小值能用倍增, 或者直接tarjan扣出来就好。 然后
阅读全文
摘要:Case of a Top Secret 感觉除了两个点在那循环的部分, 其他时候绳子的长度每次变为一半一下, 就变成了Log(l)步。。 然后就暴力找就好啦, 循环的部分取个模。
阅读全文
摘要:Bamboo Partition 列公式, 整除分块, 想不到, 好菜啊。
阅读全文
摘要:Mike and Fish 我们可以把这个模型转换一下就变成有两类点,一类是X轴, 一类是Y轴, 每个点相当于对应的点之间建一条边, 如果这条边变红两点同时+1, 变蓝两点同时-1。 我们能发现这个图其实是个二分图, 我们可以随便取一个点开始走路, 红蓝间隔开来,那么中间的点就权值不变, 对于最末尾
阅读全文
摘要:Little Victor and Set 其他都很好求, 只有k == 3的时候很难受。。 我们找到第一个不大于l的 t, 答案为 l, 3 * t, (3 * t) ^ l 感觉好像是对的, 感觉又不会证明, 啊, 我好菜啊。
阅读全文
摘要:Number Transformation 我们能发现这个东西是以2 - k的lcm作为一个循环节, 然后bfs就好啦。
阅读全文
摘要:Freelancer's Dreams 我们把每个二元组看成是平面上的一个点, 那么两个点的线性组合是两点之间的连线, 即x * (a1, b1) + y * (a1, b1) && x + y == 1, 那么n个点的线性组合就是一个凸包, 那么我们求出凸包和(0, 0)到(p, q)直线的交的那
阅读全文
摘要:Shifting 感觉这题被智力打击了。。 刚开始我想的是对于每个位置我们可以暴力找出最后的位置在哪里。 因为对于当前位置p, 在进行第x步操作时, 如果p % x == 1 则 p = p + x - 1 否则 p = p - 1 并且第一步只有nlogn次, 所以我们可以暴力找出p % x ==
阅读全文

浙公网安备 33010602011771号