题解1203 div cf

[题解] P6569 [NOI Online #3 提高组] 魔法值

P6569 [NOI Online #3 提高组] 魔法值 不放简要题意了,题面写的很简要。 看到数据范围自然可以想到矩阵快速幂优化。但乘法对异或没有分配律。所以直接拆位,把异或变成加法对二取模就有分配律了。 还有一个优化就是提前预处理出矩阵的 2 的幂次方,然后询问时直接二进制分解乘起来就行。 时 ......
题解 Online 魔法 P6569 6569

ARC119F 题解

前言 ARC119F 好厉害,是没见过的自动机 DP。 正文 [1] 分析 主要分析一下为什么这么写。 [2] 状态设计 [3] 自动机状态转移 感觉状态设计中最难的就是如何处理带 \(O\) 的。 见参考资料。 [4] 代码 还没写。写ing 这是自动机的初始化(有点麻烦)。 int to[Kin ......
题解 119F ARC 119

[题解] P6772 [NOI2020] 美食家

P6772 [NOI2020] 美食家 给你一张 \(n\) 个点 \(m\) 条边的有向图,经过每条边需要 \(w_i\) 的时间,每个点有价值 \(c_i\)。每次经过一个点时可以获得它的价值(可重复获得)。 还有 \(k\) 个附加价值 \((t, x, y)\) 表示如果你在 \(t\) 时 ......
美食家 题解 美食 P6772 6772

P9836 种树 题解

P9836 种树 题目链接 前言废话:不怎么打洛谷的比赛,昨天心血来潮,结果只看了 T1 且分配指数假了,或者说根本没深入思考,这下掉大分了。但个人感觉是很不错的题。 题意:给你一个序列 \(a\),并给你一个数 \(k\)。可以将其分解因数后乘到任意 \(a_i\) 上。求最大化的 \(a_i\) ......
题解 P9836 9836

义乌二中OJ题解大全

义乌二中OJ网址(点击跳转) 网址首页有Python IDLE和Thonny的下载链接,点击即可下载 摘要 本题解按照题目难度进行分类,分为:入门、青铜、白银、黄金 优先更新青铜难度试题,入门难度试题会挑部分更新,白银和黄金难度试题后置 题解文章发布于本人的CSDN博客账号,点击文章链接即可跳转(如 ......
题解 大全

CF911G Mass Change Queries

题目描述: 给出一个数列,有q个操作,每种操作是把区间[l,r]中等于x的数改成y.输出q步操作完的数列. 数据范围: \(1\le n\le 2\times 10^5\) \(1\le a_i\le 100\) \(1\le q\le 2\times 10^5,1\le l,r\le n,1\le ......
Queries Change 911G Mass 911

CF1765H Hospital Queue

题意 给定一张有向无环图,一个合法方案定以为每个点拓扑序满足对应限制,求每个点所有合法方案中的最小拓扑序。 \(1 \leq n, m \le 2000\) ,数据保证存在合法方案。 solution: 对拓扑序的字典序的限制可以用优先队列维护,这道题也可以直接开桶。倒着考虑每个时刻能让那些点成为答 ......
Hospital 1765H Queue 1765 CF

CF718D Andrew and Chemistry

题目描述: 给你一个有\(n\)个点的树。当每一个点的度不超过\(4\)时这棵树是合法的。现在让你再添加一个点,在树仍然合法的情况下,一共有多少种树。 当两棵树同构时视作同一种。 保证输入的树是合法的。 数据范围: \(1\leq n\leq 10^5\) \(1\leq u_i,v_i\leq n ......
Chemistry Andrew 718D 718 and

ABC328F题解

原题链接 洛谷题面 提交记录 闲话 赛场就做了这道和 A,喜提 \(625\) 大分。 带权并查集练手题,有点像银河英雄传说。 题目大意 存在一个长度为 \(N\) 的数列 \(X\),给定 \(Q\) 个三元组 \((a_i,b_i,d_i)\),定义一个好集合为集合 \(S\subseteq\{ ......
题解 328F ABC 328

20223年11月第二题解---------数组

1. 问题H:【C语言训练】排序问题<1> 1.1. 解题思路 题目已经告诉你了,用排序 1.2. 解题方法 1.2.1. 冒泡排序 #include <stdio.h> #define N 10 void bubberSort(int *a, int size);//冒泡排序,升序,即按从小到大的 ......
题解 数组 20223

CF457D Bingo!

题目描述: 有一个\(n×n(n≤300)\)的棋盘和\(1~m(n^2≤m≤100000)\) 这些数字。棋盘首先会被随机生成,即从“填着值域\(1 \sim m\)的数字且\(n^2\)个数字两两不同”的所有方案中随机选一个。 然后你会从\(1\sim m\)中随机选出\(k(n≤k≤m)\)个 ......
Bingo 457D 457 CF

题解:[春季测试 2023] 幂次

题解:[春季测试 2023] 幂次 给定 \(n,k\) ,求有多少个整数 \(i \in [1,n]\) ,满足 \(i=a^b (a,b \in N^+,b \geq k)\) 算法一 \(k \ge 3:\) 发现只需要筛到1e6就没有贡献了,加上 \(set\) 暴力判重即可。 \(k=2: ......
题解 2023

CF895

CF895 div3 A. Two Vessels 题意 有两杯水,一杯有a毫升,另一杯有b毫升,被子的容积无限大。另外还有一个容量为c毫升的杯子,可以用这个杯子在前两个杯子之间舀水,问最少需要几次可以令前两个杯子内的水一样多,舀水的时候不必舀整数毫升。 样例输入 6 3 7 2 17 4 3 17 ......
895 CF

Tenzing and Random Operations CF1842G 题解

设 \(m\) 次选的位置分别为 \(b_{1\sim m}\)。 于是答案为 \(\mathbb E(\prod\limits_{i = 1}^{n}(a_i + \sum\limits_{j = 1}^{m}[b_j \le i]\cdot v)) = \frac{S}{n^m}\)。 首先考虑 ......
题解 Operations Tenzing Random 1842G

CF1322E - Median Mountain Range - 总结

CF1322E - Median Mountain Range 考虑分别对每个位置求出最后的数字。先枚举出这个数 \(x\),并将 \(a_i \ge x\) 的数设为 \(1\),\(a_i < x\) 的数设为 \(0\),然后做题目中的操作,若为 \(0\),则最终结果小于 \(x\),为 \ ......
Mountain Median 1322E Range 1322

P2687 [USACO4.3] 逢低吸纳 题解

双倍经验 分析 这是一道求最长下降子序列的题目,且要统计方案,但是会有重复情况,例如以下的的数据, 4 4 2 2 3 我们可以选择 \(1, 2\), \(1, 2\), \(1, 4\) 这几天来购买,但是 \(1, 2\) 和 \(1, 3\) 本质上是一样的,所以只算一种。 根据上面的说明, ......
题解 USACO4 P2687 USACO 2687

solution-CF1615F

LEGOndary Grandmaster https://www.luogu.com.cn/problem/CF1615F 神题!看到题解一眼就知道自己大概率想不出来了。 主要还是积累两个套路: Trick 1 考虑将原序列的奇数位位置上的数取反,惊讶地发现操作简化为了每次交换相邻两个数。显然地, ......
solution-CF solution 1615 CF

[题解] P9838 挑战 NPC IV

P9838 挑战 NPC IV 定义 \(f(x) = 1 + \log_2 \operatorname{lowbit}(x)\)。 定义一个 \(1 \sim n\) 的排列 \(p\) 的权值是 \(\sum_{l = 1}^n \sum_{r = l}^n \sum_{i \in [l, r] ......
题解 P9838 9838 NPC IV

【2023 #84】 锦城ACM周测 (大二个人赛) 题解

题目难度 \(B<D<E=C<A\) Candy war Question 有 \(N\) 个盒子摆成环形,第 \(i\) 和盒子里面有 \(a_i\) 个糖果,他们开始在 \(1\) 好盒子,然后每个人取一次,可以取\(1\), 或者小于当前盒子内糖果数的一个质数 \(p\), 两个人都取了之后就 ......
个人赛 题解 个人 2023 ACM

CF1853B

此篇题解可以通过 \(1\le t\le 2\times10^5,1\le n,k\le10^{18}\) ,不保证 \(\sum n\le2\times 10^5\) 的数据(绝对不是因为没仔细看数据范围)。 题意 \(t\) 组询问,每组给出 \(n\) 和 \(k\),求有多少个单调不递减且非 ......
1853B 1853 CF

CF1863E

题意 给出具有依赖关系的 \(n\) 个任务,每个任务只能在某一天的第 \(h_i\) 小时做。只要满足了依赖关系,一个小时可以做很多任务。求最小的完成时间。 分析 结合题目条件,很快发现这是一个有多个联通块的 DAG。 拆分一下问题,先考虑怎么求单个联通块的所有开始时间和结束时间,然后再合并起来。 ......
1863E 1863 CF

CF1779G

题面 给出一个大小为 \(n(1≤n≤10^5)\) 的三角形图(\(n=3\) 时如图),每个方向有 \(n\) 层由有向边构成的路径。可以翻转任意条边的方向,求把让图中每个点都可以到达其他所有点的最小翻转次数。 分析 注意到一个关键点:内部的一排点构成一条路径。这意味着如果外围成环,那么整个图满 ......
1779G 1779 CF

CF983E

分析 很明显,有一个贪心的性质,对于每一次选择路线,一定会选择从当前点能走得最远的一条。 这样就得到了一个暴力做法:预处理好每个点向祖先走得最远的一条路,对于每次询问,两个点暴力上跳,在最近公共祖先处特判一下是否可以一下走完即可。 考虑优化这个过程,找最近公共祖先和上跳都可以倍增处理。唯一的问题是最 ......
983E 983 CF

CF573D

分析 遇到难的题都可以考虑一下弱化版。对于这道题,弱化版很简单,就是排序后对应位置的点匹配。那么加入限制后,可能就会需要微调一下(这种微调的想法也是很有价值的)。 考虑什么时候会需要调整,无非就是匹配到了自己的马。既然要调整,那必然会和另一个人的马交换,在这个基础上,还希望距离原来的尽可能近。 不妨 ......
573D 573 CF

「题解」P6791 [SNOI2020] 取石子

anti-game 没有用,能取到 \(n-1\) 的必胜,不能取到 \(n-1\) 的必败,所以现在考虑取走最后石子获胜的情况。 对于一个 \(n\) 来说合法的 \(k\) 一定是一个前缀,并且一定是贪心取最小的(留给对方的机会更小),所以启发将每个 \(n\) 最小的合法的 \(k=a_n\) ......
题解 石子 P6791 6791 2020

ABC 328 题解

A 直接模拟即可。 cin>>n>>m; for(int i=1;i<=n;++i){ int x; cin>>x; if(x<=m)sum+=x; } cout<<sum; B 直接模拟即可。 int n,ans; bool chk(int x,int y){ int dig=x%10; x/=1 ......
题解 ABC 328

ABC328F 题解

blog。提供一个普通并查集 + 启发式合并做法。 考虑直接维护 \(X_i\)。对于 \(X_u-X_v=w\),分四种情况。 \(X_u,X_v\) 都没被维护过。直接钦定 \(X_u\gets w,X_v\gets0\),以后再改。 \(X_u\) 没被维护过,\(X_v\) 被维护过。显然 ......
题解 328F ABC 328

[题解] CF407E k-d-sequence

k-d-sequence 给你一个长为 \(n\) 的序列,求最长的子区间使得它加入至多 \(k\) 个数后,重排后是公差为 \(d\) 的等差数列。 \(n, k \le 2 \times 10^5\),\(0 \le d \le 10^9\)。 公差是 \(d\) 的等差数列模 \(p\) 的值 ......
题解 k-d-sequence sequence 407E 407

ABC328G 题解

blog。剩下几分钟的时候胡出来了,但是时间不够,痛失 AK /dk。 \(N\le22\),显然状压 DP。\(dp_s\) 表示确定 \(s\) 集合的元素所需的代价(这些元素都放在最前面)。 确定了 \(s\) 后,发现会有 \(\operatorname{popcount}(s)\) 个元素 ......
题解 328G ABC 328

[题解] CF505E Mr. Kitayuta vs. Bamboos

Mr. Kitayuta vs. Bamboos 给定 \(n\) 个数 \(h_{1 \dots n}\)。 你需要进行 \(m\) 轮操作,每轮操作为 \(k\) 次修改,每次修改可以选择一个数 \(h_i\) 修改为 \(\max(h_i - p, 0)\)。 每轮操作后每个 \(h_i\) ......
题解 Kitayuta Bamboos 505E 505