上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: ~~带花树,那是啥?~~ 每次复杂度 $O(nm)$ 随机5次似乎就卡不掉(起码现在uoj上没有能卡掉这个的 cpp include using namespace std; int read() { int x = 0, c = getchar(); while (!isdigit(c)) c = 阅读全文
posted @ 2019-03-04 19:54 QvvQ 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 给出一个长度 $n\leq 35$ 的序列,求他的子集和的第 $k$ 小 把前 n/2 的子集和放到一个数组里 后 n/2 的放到另一个数组里,然后问题转化为了求各取一个数和的第 $k$ 小 可以二分第 $k$ 小的数是多少 cpp namespace QvvQ { vll t1, t2; int 阅读全文
posted @ 2019-03-03 16:35 QvvQ 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 首先第一个必须放1(不然放在中间会有两个重复的数) 最后一个必须放n $n! \equiv 0 \pmod n$ $$ \text{中间的数放}\frac{2}{1},\frac{3}{2},... $$ 这样第 $i$ 个数就是 $$ \prod_{j=1}^i{a_j}=1\times \fra 阅读全文
posted @ 2019-03-03 00:25 QvvQ 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一直找和是负的行/者列取反就行了.... 可以发现每次取反负的行或者列一定会让矩阵和至少增加2 所以这个过程一定会结束,因为 值域 n m都很小 复杂度 $O(n \times 10^6)$ (维护一下每行的和每列的和) ~~偷懒写了个最坏 $O(n^2\times 10^6)$ 的过了~~ ~~其 阅读全文
posted @ 2019-03-02 22:57 QvvQ 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 欧拉回路是经过所有 边 仅一次 无向图有欧拉回路的条件是:每个点的度数都是偶数 并且图连通(可以有孤立点) cpp include define N 1000007 int f[N],I[N],d[N],n,m,u,v,A; int F(int x) {return x==f[x]?x:f[x]=F 阅读全文
posted @ 2019-03-02 22:51 QvvQ 阅读(321) 评论(1) 推荐(0) 编辑
摘要: 已知(2+1)?种做法 分别是: 按dfs序倒推 "Link" BZOJ2427代码 另一种在dfs过程中枚举 i 阅读全文
posted @ 2019-02-27 21:01 QvvQ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 除了1以外的每个物品依赖另一个物品,因为 $x_i 1) G[in].pb(i); } dfs(1); dl(i, n, 0) if (dp[1][i][0] 阅读全文
posted @ 2019-02-26 21:04 QvvQ 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意:给定两个长为n $1\leq n\leq 10^6$的序列a,b,值域 $[1..n]$ ,从这两个序列中个找出任意一对和相同的子序列(长度可以不同) 首先进行一个处理:若a的元素和大于b的元素和,则交换序列 a 和 b 令 A 表示序列a的前缀和数组 B表示序列b的前缀和数组 对于A中的每个 阅读全文
posted @ 2019-02-23 17:14 QvvQ 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 令$S=\frac{1}{2}\sum_{i=1}^n|i p_i|$,每次swap最好情况下会让 $S$ 减少 $2$,所以如果交换次数恰好是 $\frac{1}{2}\sum_{i=1}^n|i p_i|$,那么每个数都不能向 $p_i$ 的反方向移动,也就是排序过程中,某个数字不能同时有往后和 阅读全文
posted @ 2019-02-23 11:17 QvvQ 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 每次从当前的叶子往上DP(每条链上没有染色的深度最大点视为叶子),先看子树里的点能不能染到这个点,染不到就++ans,把这个点的k传上去,能染到的话要 cpp vint G[MAXN]; int k[MAXN], fa[MAXN], ans; inline int dfs(int u) { int 阅读全文
posted @ 2019-02-02 14:02 QvvQ 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页