abc

ABC249F 题解

前言 题目传送门! 更好的阅读体验? 很好玩的贪心。 思路 如果第 $i$ 次操作为覆盖操作,那么 $1 \sim i-1$ 次操作都是无效的,原因显然。 这启示我们从后往前扫(前面的会被忽略,后面的不会啊!)。 在此基础上,就是分类讨论一下(假设当前的最大答案为 $sum$): 当前操作是覆盖操作 ......
题解 249F ABC 249

[ABC296Ex] Unite 题解

考虑状压 dp。 设 $f_{i,j,s}$ 表示当前正在决策坐标为 $(i,j)$ 的格子,且列状态为 $s$。其中列状态维护了当前轮廓线上的连通块,我们可以使用最小表示法来简单维护。 (为什么不用广义括号序列?因为其涉及到 $5$ 个可选值,由于 $m\le 7$,所以这两个都需要用到八进制,而 ......
题解 Unite ABC 296 Ex

AtCoder Regular Contest 110 E Shorten ABC

洛谷传送门 AtCoder 传送门 考虑把 $\text{A}$ 看成 $1$,$\text{B}$ 看成 $2$,$\text{C}$ 看成 $3$,那么一次操作相当于选择一个 $a_i \ne a_{i+1}$ 的 $i$,将 $a_i$ 和 $a_{i+1}$ 替换成一个数 $a_i \opl ......
AtCoder Regular Contest Shorten 110

ABC214G/S2OJ1504

ABC214G/S2OJ1504 又是我不会的/hanx 做了一天/ng 直接做显然是不行的,所以考虑转化题意,对于 $\forall i$ ,连边 $(A_i,B_i)$ ,现在题意就变成给边染色了,这样统计的就是不合法的,考虑容斥,一个很 $\text{naive}$ 的容斥是 总数-不合法,发 ......
1504 S2OJ ABC 214 2OJ

ABC297Ex - Diff Adjacent

ABC297Ex - Diff Adjacent 题目链接。 $\text{difficulty}=4.5,3$。 $\text{tags}=多项式,生成函数,容斥$。 首先如果直接计数不相邻的那么至少需要记录当前的和以及最后一个数是什么,复杂度无法接受。那么考虑容斥。 接下来对于一个固定的序列 $ ......
Adjacent Diff ABC 297 Ex

abc248_e K-colinear Line 题解

K-colinear Line 题意 平面直角坐标系上给出 $n$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i)$。 请求出平面上有多少条直线穿过 $n$ 个点中的至少 $k$ 个点。如果有无数条这样的直线,输出 Infinity。 数据范围 $1 \leqslant K \leqslan ......
题解 K-colinear colinear Line abc

abc247_f Cards 题解

Cards 题意 有 $N$ 张卡片,每张卡片上都写有两个数字,第 $i$ 张卡片上的数字分别为 $P_i, Q_i$。 同时,$P = (P_1, P_2, \dots, P_N)$ 和 $Q = (Q_1, Q_2, \dots, Q_N)$ 都是 $(1, 2, \dots, N)$ 的全排列 ......
题解 Cards abc 247

AT_abc195_e

博弈论dp dp[i][j]表示到了第 i 轮,此时数为j,对 当前的人对 j 数进行操作 1表示T赢,0表示A赢 初始化:dp[n+1][0]=1,T赢的条件,其余memset -1 博弈论dp用记忆化搜索dp 此时dfs( pos , num ) 将向 dfs(pos+1,num*10%7) 或 ......
AT_abc 195 abc AT

ABC 297 DE

https://atcoder.jp/contests/abc297/tasks/abc297_d ###D - Count Subtractions 题目大意: 给定一个n和一个m,每次如果n>m,n-=m;如果n<m,m-=n; 问我们多少次操作才能使n=m? Sample Input 1 3 ......
ABC 297 DE

「题解」ABC296Ex Unite

考虑一行一行往下 dp,一个状态需要记录每个格子是否是黑色,对于黑色还有记录其并查集。爆搜跑一下本质不同状态数不是很多,dp 就行了。 $m=7$ 的时候状态数只有 324. #include<cstdio> #include<vector> #include<queue> #include<cst ......
题解 Unite ABC 296 Ex

ABC217G

记 $f_{i,j}$ 表示前 $i$ 个数分成 $j$ 组的方案数。 首先你可以新增一个组,将当前这个数扔进去。那么 $f_{i,j} \leftarrow f_{i-1,j-1}$。 如果我们不新增一个组,那么我们可能的选择组别个数就是 $j - \frac{i-1}{m}$ ,因为在此之前已经 ......
217G ABC 217

ABC216G

将区间按照右端点排序,贪心的往最右边填 $1$,不难发现这样一定是正确的。感性理解一下就是越往右的位置对于后面的区间贡献越大。 而且每个点最多只会被放置一个 $1$,所以我们可以暴力的找到下一个可以填的位置,并填入 $1$,可以使用线段树维护,复杂度是 $\mathcal{O}(n \log n)$ ......
216G ABC 216

「解题报告」ABC297Ex Diff Adjacent

如果 joke 还在,这题应当会出现在他的鲜花里吧。 虽然确实不难,但是我还是不理解 5:00 切的是什么人才。 题目一眼看上去就很生成函数。先不管长度总和,先考虑求方案数。这个限制看起来就很容斥,我们钦定多少对数相等,其它任意填。那么答案的生成函数就是: $$F(x) = \frac{1}{1 - ......
Adjacent 报告 Diff ABC 297

AcWing 第 98 场周赛 ABC

https://www.acwing.com/activity/content/competition/problem_list/3128/ ###4947. 大整数 题目大意: 给定n,k。输出n个k。 输入样例: 3 2 输出样例: 222 #include<bits/stdc++.h> usi ......
AcWing ABC 98

AtCoder ABC239 E - Subtree K-th Max

AtCoder ABC239 E - Subtree K-th Max 题目描述 给定一棵 $n$ 个节点的树,$i$ 节点的权值为 $x_i$,根节点编号为 $1$。 现有 $Q$个询问,每个询问给定 $v,k$,求节点 $v$ 的子树第 $k$ 大的数。 输入输出样例 5 2 1 2 3 4 5 ......
AtCoder Subtree K-th ABC 239

AtCoder ABC286 C - Chinese Restaurant

AtCoder ABC286 C - Chinese Restaurant 题目描述 有 $N$ 个人从 $0$ 开始编号, 按逆时针顺序间隔均匀地坐在转盘周围。 在开始时, 第 $p_i$ 盘菜在第 $i$ 个人的前面。 现在, 你可以进行以下操作 $0$ 次或多次。 将转盘逆时针旋转 $\dfr ......
Restaurant AtCoder Chinese ABC 286

AtCoder ABC294 F - Sugar Water 2

AtCoder ABC294 F - Sugar Water 2 题意 有 $2$ 排糖和水。 第 $1$ 排有 $N$ 瓶糖和 $N$ 瓶水。糖分别有 $A_i$ 克,水分别有 $B_i$ 克。 第 $2$ 排有 $M$ 瓶糖和 $M$ 瓶水,糖分别有 $C_i$ 克,水分别有 $D_i$ 克。 ......
AtCoder Sugar Water ABC 294

AtCoder ABC295 D - Three Days Ago

AtCoder ABC295 D - Three Days Ago 题目描述 给出一个数字串,问有多少子段满足,可以以某种方式将这个子段重排,将子段分成两个完全相同的部分。 样例输入输出 20230322 4 $(1, 6) (1, 8) (2, 7) (7, 8)$ 都可以满足条件 分析 如果要满 ......
AtCoder Three Days ABC 295

ABC212G

ABC 212 G 直接做不好做,考虑将 $x,y$ 替换成某个幂的形式来试图去掉底数。 记 $g$ 为 $P$ 的原根,那么 $x,y$ 一定可以表示成 $g$ 的某个在模意义下的幂,不妨设 $x \equiv g^{i} (\bmod P),y \equiv x^{j}(\bmod P)$。 那 ......
212G ABC 212

牛客小白月赛61 ABCE*

https://ac.nowcoder.com/acm/contest/46597 ###A-超市里扫货 #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<LL,LL> PII; const ......
ABCE

abc296-F

题目链接:https://atcoder.jp/contests/abc296/tasks/abc296_f 思维题,自己想的时候真没啥思路,看了很多题解才渐渐明白,也能大致证明正确性。 前置知识: 交换一个排列中的两个元素一次,会改变它的奇偶性。 思路: 1.当两个数组的数的数量都不相等时,肯定是 ......
abc 296

牛客小白月赛62 ABC

https://ac.nowcoder.com/acm/contest/47266#question ###A-幼稚园的树 输入 2 6 1 10 100 200 120 230 5 230 200 7 5 1 2 3 4 5 10 5 2 1 输出 31 40 130 230 150 225 1 ......
ABC

ABC295(D~G)

Tasks - AtCoder Beginner Contest 295 这篇是超级抽象的简要tj,看不懂不要骂我这个蒟蒻QWQ D - Three Days Ago (atcoder.jp) $f_i$表示$[1,i]$的所有数的奇偶情况,如果$b$有奇数个,那么$f_i|=2^b$,特别的,$f ......
ABC 295

ABC295 E

ABC295 E 给你一个长度为 $N$ 的序列 $A$ 满足 $\forall i\in [1,N],A_i\in[0,M]$,其中 $M$ 是一个给定的常数 执行以下两种操作 不断把序列中的一个 $0$ 换成在 $[1, M]$ 中均匀随机的一个数,直到序列中没有 $0$ 对整个序列升序排序 求 ......
ABC 295

洛谷 P8762 [蓝桥杯 2021 国 ABC] 123 题解

为什么可以使用前缀和,这里提供解释: 初读题目,我们发现这个数列很迷惑,似乎不能使用数学方法来解。 $$ 1,1,2,1,2,3,1,2,3,4,\cdots $$ 但是,我们可以想到 数形结合 的方式,我们将数列看作一个三角形,于是他变成了: $$1$$ $$1,2$$ $$1,2,3$$ $$1 ......
蓝桥 题解 P8762 8762 2021

AcWing 第 97 场周赛 ABC(dfs)

https://www.acwing.com/activity/content/competition/problem_list/3088/ 果然绩点成绩和竞赛水平总得寄一个(to me ###4944. 热身计算 #include<bits/stdc++.h> using namespace st ......
AcWing ABC dfs 97

[ABC273D] LRUD Instructions

题目链接 题解 模拟题。 观察题目,我们发现,无论问的是前/后/左/右,你都只会在一条直线上走,那对于这条直线,我们可以记录所有这条直线上的障碍物,然后找到距离当前点最近的障碍物,也就是说我们只能走到那个障碍物那块。 虽然数据范围高达 $10^9$,但是 $n\le10^5$,所以用 $map$ 套 ......
Instructions 273D LRUD ABC 273

abc295-G

题目链接:https://atcoder.jp/contests/abc295/tasks/abc295_g 题目意思:给你一颗以1为根的有向树,询问有两种情况: 第一种询问是在u,v中加一条边,保证v是可以到u的。 第二种询问是问u所能到的最小的节点的序号是多少。 大致思路: 每加一条边,会在新图 ......
abc 295

abc295-E

题目链接:https://atcoder.jp/contests/abc295/tasks/abc295_e 一道数学好题,做完后深受启发。 思路:设$A_k$处的值为$x$,则答案为:$E(x) = \Sigma_1^m ip(x = i) = 1p(x=1)+2p(x=2)+....+mp(x= ......
abc 295

ABC291题解(D-G)

ABC291 D - Flip Cards Solution: 考虑DP,定义状态$F_{i,0}$为第$i$张卡片正面朝上的方案数,$F_{i,1}$为第$i$张卡片背面朝上的方案数,每次check是否相同然后转移即可 int f[N][2]; int a[N]; int b[N]; void s ......
题解 ABC 291 D-G