摘要: 题目链接 两个常规转化: 灯的坐标与区间坐标都很大,不妨将其离散化,转化为 \(1\sim n\) 的点与\(1\sim n\) 的操作区间。 对于一段区间取反,可以理解为对一段区间异或 \(1\),转化为在异或差分数组上操作,即差分数组 \(diff_i=a_i\bigoplus a_{i-1}\ 阅读全文
posted @ 2024-05-04 17:31 2017BeiJiang 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 下为口胡题解: 入手方向推导: 直接考虑题目所给式子显然困难: \[w(S)=\sum_{i\in S}A_i-\sum_{i\notin S}A_i \]因为两个式子虽然相关但是都在变化,不妨转化为: \[w(S)=2\times \sum_{i\in S}A_i-\sum_{i=1}^ 阅读全文
posted @ 2024-05-03 23:46 2017BeiJiang 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意简述:给定正整数 \(K\),求数位之和最小的 \(K\) 的倍数的数位和。 错误方向:\(K\) 的倍数一定满足 \(K\times S\),根据 \(K\) 的特征构造出合适的 \(S\)。 正确方向 考虑直接构造出 K 的倍数, 由于从 1 开始可以通过 ×10 和 +1 构造出 阅读全文
posted @ 2024-05-03 16:50 2017BeiJiang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 编写折叠代码块: <details> <summary>查看代码</summary> <pre> <code> 这里写需要被折叠的代码 </code> </pre> </details> 阅读全文
posted @ 2024-05-03 16:46 2017BeiJiang 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目链接 方向:枚举点的个数,找出其中边权和为负数的最小值。 直接枚举显然会超时,不妨考虑使用倍增凑出点的个数(注意:点数不完全有单调性,但是后面会提到如何转化处理)。 先预处理出 \(dis_{t,i,j}\) 表示经过 \(t\) 条边,从 \(i\rightarrow j\) 的最短路长度。那 阅读全文
posted @ 2024-04-04 20:49 2017BeiJiang 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目链接 阅读全文
posted @ 2024-03-12 00:13 2017BeiJiang 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 解决问题:最优化问题; 优点:是解决最优化问题的最优策略,时间复杂度低; 缺点:要满足局部最优解可以推出全局最优解,这意味着在考场上想出一个贪心策略需要通过举例以及证明。 常见思考方式: 如果是决定谁先做谁后做的,类比排队问题,邻项交换;如果先后有限制关系,比如谁先做谁后做,那么通常套路还 阅读全文
posted @ 2023-11-16 20:28 2017BeiJiang 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 只能说相当套路的一道题目。 对于区间异或和,我们不妨先做一遍区间前缀异或和,记作 \(sum_i\),表示 \(a_1\sim a_i\) 的异或和,那么区间 \([l,r]\) 的异或和即可转化为 $sum_r \bigoplus sum_{l-1} $,那么我们呢只需对 \(n+1\) 个数字进 阅读全文
posted @ 2023-11-13 21:05 2017BeiJiang 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目链接 显然,对于初始颜色与目标颜色不同的边,我们需要走过奇数次;对于初始颜色与目标颜色相同的边,我们需要走过偶数次。 对于只有偶数边的情况,这种情况下不走就行;对于只有奇数边;可以理解为每条边只能经过一次,就是欧拉路径问题,并且考虑这题的特殊性质,如果一个图是由若干个简单环构成的连通图,那么显然 阅读全文
posted @ 2023-11-10 21:26 2017BeiJiang 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 洛谷题目链接 At题目链接 这题一看就很欧拉路径,但是怎么做呢? 如果只有关键边,那么连通图首先会变成一堆连通块,这时只需要分别对每个连通块进行欧拉路径判断,但是对于不属于欧拉路径的连通块,很难对加上非关键边的情况进行扩展。 如果只有非关键边,那么连通图还是变成一堆连通块,但是这些连通块全部都是合法 阅读全文
posted @ 2023-11-10 12:05 2017BeiJiang 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题目链接 既然只有两种东西,我们不妨分开考虑,这里也借鉴了很多二分图题目的切入点。 假设苹果和桔子下标分别如下图所示: 苹果:1 3 6 7 9 10 桔子:2 4 5 8 那么第一次取,应该是这样取: 1 2 3 4 6 8 9 也就是先取开头比较小的,然后轮流取,注意一定保证递增,也就是对于苹果 阅读全文
posted @ 2023-11-09 20:20 2017BeiJiang 阅读(242) 评论(0) 推荐(0) 编辑
摘要: [USACO23OPEN] Pareidolia S 对于这种题,两种思路,一种是直接 \(dp\),一种是考虑每个 bessie 产生的贡献。 显然直接考虑 bessie 产生的贡献难以解决 bbessie 的情况,所以考虑 \(dp\)。 设 \(f_{i}\) 表示以 \(i\) 开头的字符串 阅读全文
posted @ 2023-11-04 10:45 2017BeiJiang 阅读(26) 评论(0) 推荐(0) 编辑
摘要: [CSP-S2020] 儒略日 今儿终于做掉困扰多年的题目了,其实想好细节也不难。 容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出 \(-4713.1.1\) ~ \(1582.10.4\) 会经过多少天,可以通过一天一天暴力跳的方法 阅读全文
posted @ 2023-10-30 21:45 2017BeiJiang 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(\rm O(n^3)\) 枚举 \(i,j,k\) 的算法是显然的。 考虑优化掉一个 \(n\),如果枚举 \(i,j\),那么显然需要找出有多少个 \(k\) 同时满足 \(a_{i,k}=a_{j,k}=1\),我们可以将 \(a_i\) 和 \(a_j\) 看作两个二进制数,那么 阅读全文
posted @ 2023-10-14 22:38 2017BeiJiang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题目链接 相当牛逼。 这种找数量的题型,确定树形 \(dp\) 没跑了。 首先思考常规树形 \(dp\),不难想到设 \(f_{u,a,b}\) 表示以 \(u\) 为根节点的子树内(包括点 \(u\)),最大值是 \(a\),最小值是 \(b\) 的连通子图数量,转移很容易,但是这样时间空间复杂度 阅读全文
posted @ 2023-10-12 17:02 2017BeiJiang 阅读(4) 评论(0) 推荐(0) 编辑