摘要:
传送门 题意:给定长度 \(n\) 数组 \(\{a\}\) 和整数 \(b,m\),求数组 \(x\) 满足 \(\sum a_i\times x_i\equiv b\pmod m\)。 可以写成 \(a_1x_1+a_2x_2+\dots+mp=b\)。判断无解:\(gcd(a_1,a_2,\d 阅读全文
摘要:
传送门 题意:给出两个互质的正整数 \(a,b\)。求出最大的不能被表示为 \(ax+by\) 且 \(x,y\ge 0\) 的数。 结论:答案为 \(ab-a-b\)。 证明:不妨 \(a<b\)。设 \(k\) 为答案。则 \(k+a\) 肯定能被表示。(\(k\) 最大) \(k+a=ax+b 阅读全文
摘要:
传送门 题意:找到两个 \(gcd\) 最大的数。\(n\le 2e5,a_i\le 1e6\)。 一种方法是枚举 \(i:1\sim n\),\(O(\sqrt a_i)\) 把 \(a_i\) 因数的出现次数加一。 然后 \(i:1000000\sim 1\),如果 \(cnt[i]>1\),输 阅读全文
摘要:
传送门 题意:问 \(n\) 有多少种方式,能表示为若干个连续质数之和。 简单题。用线性筛筛出 \(0\sim 10000\) 内的质数,预处理出每一个数的方案数即可。 阅读全文
摘要:
A 用快速幂。 pair<ldb, ll> fpow(ldb a, int k) { ll A = 0, R = 0; while (a >= 10) { a /= 10; A++; } ldb r = 1.0; while (k) { if (k&1) { r = r * a; R += A; w 阅读全文
摘要:
妙题。 要求线段不相交,即要求连线长度总和最小。 黑点向白点连边,容量 \(1\),费用为它俩的距离。\(s\) 向黑点/白点向 \(t\) 连边,容量 \(1\) 费用 \(0\)。跑最小费用最大流。 然后检查每个黑点是哪个边流了即可。 注意这里一定不能偷懒不开根号!否则原本 \(e1.cst<e 阅读全文
摘要:
传送门 题意:给定一个 01 矩阵,每次可以交换两行或交换两列,要使最终每行每列都有一个 \(1\),是否可行? 如果 \(a_{i,j}=1\),则第 \(i\) 行和第 \(j\) 列连边。每行每列都有一个 \(1\),相当于匹配数为 \(n\)。 交换某行某列,对图的结构没有本质影响,所以对一 阅读全文
摘要:
传送门 平衡树优化神题,完全想不到平衡树能这么用! 一看这题散发着一股 DP 的清香。 \(dp[i][j]\) 表示前 \(i\) 个数且第 \(i\) 个数为 \(j\) 的最长上升子序列长度。但是转移方程不好优化,状态表示可以滚动数组压掉一维。 反方向考虑 DP:\(dp[i][j]\) 表示 阅读全文
摘要:
传送门 这玩意是 T2 ??? 观察到 \(k=2n-2\) 或 \(k=2n-1\),所以我们可以尝试让每个栈里面都保持两张牌。同时保留一个空栈,用来消栈底。 记这个保留的空栈为 \(sp\)。 策略 1: 如果当前牌堆顶的牌能消,必然消; 否则除了 \(sp\),如果存在一个没有填到两张牌的栈, 阅读全文
摘要:
参考(先看) 这个题解最后的式子写错了,看最后 (注意一下算层数要 n /= 2 !) 这里面关于 \(ans\) 的用法:为什么是 \(2\times ans^2+8\times ans+10\) 已经讲得很清楚了。 主要补充一下怎么求 \(ans\) 的部分。 如图,三个决策点的所在部分可以视作 阅读全文