随笔分类 - 其它算法
摘要:题目大意 你开始有一个序列x 它所有项都是0 你有一个操作:x[i]=x[i-1]+1 问你至少几次操作可以让x序列变为给定的a序列 分析 老年人完全不会这种脑子题/kk........ 我们定义b[i]=i-a[i] 所以对于一个连续的上升子序列它的b是相等的 每次取一段想的b序列中最大的a[i]
阅读全文
摘要:题目大意 给你一个1~n的排列 你有两个操作:将一个数移到最后或将一个数移到最前 问将排列排序最少要几次操作 分析 年纪大了,脑子不行了.. 实际我们只需求出对与一段连续的数它在排列中已经有序的最长长度即可 剩下的数暴力放到最前/最后即可 代码
阅读全文
摘要:传送门 分析 我们设A[i]表示点i有几个矿,B[i]表示这之中有几个矿是第一次出现,所以点i的贡献即为 (2^B[i]-1)*(2^(A[i]-B[i])) 注意减一的原因是第一次出现的矿应至少有一个。然后我们用set维护一下就可以了。 代码
阅读全文
摘要:传送门 题目大意 给你一张图,求这张图的汉密尔顿回路。 分析 因为m≤n+20,所以如果存在回路一定是在一个环中加入了至多20条边。我们先考虑dfs,但我们发现如果出现图1这种情况就会是复杂度爆炸 图1图2 我们发现如果有很多这样的三角形程序就会爆炸。所以我们考虑优化。我们发现对于所有出度为1的点我
阅读全文
摘要:传送门 分析 首先我们想到的肯定是n^3暴力枚举,但这显然不行。然后我们想到的就是二分了,但这题没有什么单调性,所以二分也不行。这时候我就想到了先枚举找出p2的位置再在它的左右两边找到p1和p3,但是良心的样例2告诉了我这样是不行的,因为让p2的位置最优并不意味着整体最优。之后我发现可以枚举p2,在
阅读全文
摘要:题目 有1~n一共n个数,n为偶数。小Q要把这n个数随机地两两配对。令每一对的权值为它们两个数的和。小Q想要知道这n/2对里最大的权值的期望是多少。请输出答案对10^9+7取模的值。 【输入】 一行一个正整数 N。 【输出】 一行一个整数,表示答案对10^9+7取模的值。 【输入样例】 4 【输出样
阅读全文

浙公网安备 33010602011771号