上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 36 下一页
摘要: 题目链接 题目思路 这个题目的关键就是 答案模3 要利用这个来突破 令$y=x^2+x+1$ 则$y^n=(y+3x)^n$ 因为$(y+3x)n=C_n0yn+C_n1y^(3x)1+C_n2y^(3x)^2.....$ 显然只有$C_n0yn\mod 3\ne 0$ 那么就可以得证 则$(x^2 阅读全文
posted @ 2021-02-26 12:20 hunxuewangzi 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 看到单点修改,区间查询其实很容易想到线段树 但是这个线段树有点特殊 线段树的每个节点代表这个区间的最小生成树的所有边,用vector存 那么每个节点最多n-1条边 你每次合并使用类似归并排序就是$O(n)$ 如果暴力合并就是$O(nlogn)$ 那么使用归并排序总的时间复杂度就是 阅读全文
posted @ 2021-02-26 11:07 hunxuewangzi 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 计算$C_n0+C_n4+C_n8+......C_nn (n \mod 4=0 ;1\leq n \leq 1e18)$ 题目思路 如果是计算$C_n0+C_n2+C_n4+......C_nn$ 显然 \((1+1)^n=C_n^0+C_n^1+C_n^2+......C_n 阅读全文
posted @ 2021-02-24 22:55 hunxuewangzi 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个$n \times m(n\times m\leq 250000)$的矩阵 你要构造一个长度为$m(1\leq a[i] \leq 1e9)$的数组,使得矩阵每一行的元素最多2个和他不同 题目思路 其实看到这个很容易想到枚举,因为只有至多两个元素不同 但是如何枚举却是一个 阅读全文
posted @ 2021-02-24 12:46 hunxuewangzi 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 让你构造两个二进制数$x,y(y \leq x)$ $x,y$有$a$个$0$,$b$个$1$ 要使得$x-y$有$k$个$1$ \(0\leq a; 1\leq b;0\leq k\leq a+b\leq 2e5\) 题目思路 其实很简单就是 11xxxx0xxx 10xxxx 阅读全文
posted @ 2021-02-24 10:30 hunxuewangzi 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你$n(n\leq 1e5)\(个点\) m(m\leq 2e5)$条双向边,每条边的权值为1-50 但是一次至少走两步,权值为两个边边权和的平方。求1到其他每个点的最短距离 题目思路 首先如果重构图那么最坏情况下边的长度会变成$n^2$级别的,显然不行 要发现这个边权很小,适 阅读全文
posted @ 2021-02-22 10:19 hunxuewangzi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 首先要看清亲密度为下标差写了一年假题 然后显然是要二分亲密度的 如何计算这个小于等于这个亲密度的对数 利用容斥和用总点对数-同色对数 总点对数为$(n-x)x+(1+x-1)(x-1)/2$ 同色对数利用双指针求解 然后知道亲密度$O(n)$扫一遍即可 代码 #include<b 阅读全文
posted @ 2021-02-21 21:05 hunxuewangzi 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 本以为要用什么前缀表达式啥的 看了下题解,其实只需要维护一个非空表达式前缀可以表示成 a+b的形式。 若后面接了+x 则$a+b=(a+b)+x$ 若后面接了-x 则$a+b=(a+b)+(-x)$ 若后面接了*x 则$a+b=a+bx$ 若后面接了/x 则$a+b=a+bx^$ 阅读全文
posted @ 2021-02-21 15:32 hunxuewangzi 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 首先要想到一个dp模型 $dp[i][0]$为右端点为i前一个子区间小于等于k的最大贡献 $dp[i][1]$为右端点为i前一个子区间大于k的最大贡献 那么这样利用前缀和可以写出一个$O(n^2)$的dp 暴力dp #include<bits/stdc++.h> #define 阅读全文
posted @ 2021-02-21 10:04 hunxuewangzi 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 有$n(n \leq 1e5)$个人,$m(m\leq 1e5)$件装备 每件装备可以给1个或2个人,而且每件装备有一个战力值,获得这个装备的人可以获得此战力值 要求每个人只能装备一件装备,每件装备只能分配给一个人。 求总战力值最大 思路 官方题解: 首先我们考虑把 m件装备看作 阅读全文
posted @ 2021-02-21 08:32 hunxuewangzi 阅读(88) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 36 下一页