题解manga abc 271

[ABC296Ex] Unite 题解

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

[Educational Codeforces Round 118 (Rated for Div. 2)]题解

A 题意: 给定两个数,每一个数有两个属性,第一个属性是p1,第二个属性是p2.表示这个数有p2个后缀0.这个数本身等于p1后面加p2个0.问给你两个这种数,判断大小。 思路: 赛场上想到的:如果最终的长度不一样,可以直接根据长度判断。 如果相等,就把后缀0加上直接比较大小就可以(比较字典序的大小) ......
题解 Educational Codeforces Round Rated

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

2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest题解

题目链接:2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest C. Cinderella(贪心) 思路 答案为大于平均值的数的数量 代码 #include <bits/stdc++.h> using namespace std; using i ......
题解 Subregional ACM-ICPC Contest Moscow

题解 CF1764G Doremy's Perfect DS Class (Extra)

题解 CF1764G Doremy's Perfect DS Class (Extra) 题意 交互库有一个 $1\sim n$ 的排列 $p$,你每次可以想交互库给定三个整数 $l,r,k(1\le l\le r\le n,1\le k\le n)$,交互库会返回 $\lfloor p_l/k\r ......
题解 Perfect Doremy 1764G Class

一些自己做的算法题解

//得到支点下标 function partition(arr, low, high) { const tmp = arr[low]; while (low < high) { //high位置值大于tmp,high自减 while (low < high && arr[high] >= tmp) ......
题解 算法

CF1473D 题解

题目传送门 题目分析 线段树、前缀和、$\text{ST}$ 表题解都有了,我补一发猫树题解吧。 由于每次操作只能将大小改变成跟原来差 $1$,所以只需要知道这段操作中的最大值和最小值,最后所求的答案的范围就被卡住了。对于每一次操作,我们把操作序列拦腰斩断,那么分别求两边的范围,最后减去重复的部分即 ......
题解 1473D 1473 CF

CF1758D 题解

前言 题目传送门! 更好的阅读体验? 用一种非常麻烦的做法把自己写自闭了,和题解区不一样,但是方法困难很多。 思路 代码 属于混乱邪恶了,凑合着看看。 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
题解 1758D 1758 CF

「2019 集训队互测 Day 4」绝目编诗 题解

题目大意 给出一个 $n$ 个点 $m$ 条边的简单无向图,判断是否存在两个长度相同的简单环。 $1 \le n \le 10^4 , 1 \le m \le 10^6$。 思路 考虑暴力怎么做。 我们可以对于每个点,搜出包含这个点的环。 那么我们就有了一个玄学复杂度的暴力。考虑优化。 因为一个无向 ......
集训队 题解 2019 Day

题解:C Future

题目:给n个范围,第i个范围选pi,然后定义特征值k=p1+p2+...+pn。这次的开心度就是A(k%m)。m是给的一个数组A,长度为m。 要求: 就是个全排列组合的问题,找规律。 举个例子,有n个礼物,分别是(L1,R1) (L2, R2) (Ln, Rn) 每个区间取个数然后相加,所有出现的结 ......
题解 Future

[ARC127E] Priority Queue 题解

首先我们每次加入的数必定是一个 $1\sim a$ 的排列,但从排列角度考虑的话非常复杂,因为 $s$ 是一个集合。所以我们考虑最后能剩下哪些数。 考虑最后剩下的集合为 ${a_i}$,其中 $a_i<a_{i+1}$,显然这个集合里面的元素个数为 $A-B$。 那么我们会发现一件事情:我们按上升序 ......
题解 Priority Queue 127E ARC

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

Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 题解

题意 Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 给你 $n$ 和 $k$ ,要求生成一个长度为 $n$ 的数组 $a$,且他的非空正子数组的数量为 $k$ ,非空负子数组的数量 ......

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

题解

calc 使用 cin 读入两个 int 和一个 char,判断即可。 step 因为可以从前面 $K$ 个台阶走过来,所以累加前面 $K$ 个台阶的方案数即可,时间复杂度 $O(NK)$。 令 $f_i$ 表示走到第 $i$ 个台阶的方案数,容易发现 $$\begin{equation*}\beg ......
题解

YBTOJ 5.4例3 最长距离 题解

挂大分!!!!!! 1.一定要看清提干有没有多测 2.多测不清空 爆零两行泪 3.同时线性更新最大值和次大值时记得最大值更新要同时把旧的最大值给次大值 题解 首先可以想到一个最暴力的暴力 : 对于每一个点 暴力枚举所有的点跑LCA 复杂度 $O(n^2logn)$ 显然会炸 然后就有一个优化一点的暴 ......
题解 YBTOJ 5.4

Codeforces Round 863 (Div. 3) E. Living Sequence 题解

题意 Codeforces Round 863 (Div. 3) E. Living Sequence 如果正整数中不能存在 $4$,那么新生成的数中的第 $k$ 个数为多少? 思路 $4$ 不能够选,也就是每一位只能选择 $0,1,2,3,5,6,7,8,9$ 。可以发现,这就是一个九进制。 当需 ......
题解 Codeforces Sequence Living Round

CF698F Coprime Permutation 题解

题意 给定一个未填满的数组 $p$,求有多少种 $1\sim n$ 的排列 $p$ 满足对于任意 $i<j$,都有 $[\gcd(i, j)=1]=[\gcd(p_i, p_j)=1]$,答案对 $10^9+7$ 取模。 题解 部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。 记 $P$ ......
题解 Permutation Coprime 698F 698

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

Codeforces Round 864 (Div. 2) 题解

A. Li Hua and Maze 题目保证了两个点的哈密顿距离至少为 $2$,所以他们不会相邻。 只要有点在角上答案就是 $2$,在边上但不在角上就是 $3$,否则就是 $4$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_contain ......
题解 Codeforces Round 864 Div

AtCoder Beginner Contest 297 题解

A - Double Click 直接模拟就好。 时间复杂度:$O(N)$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include ......
题解 Beginner AtCoder Contest 297

「题解」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

【CF1797C 题解】

题意 这是一道交互题。 定义一个位置 $(x, y)$,移动一步后的位置为 $(x\pm1,y\pm1)$。 你需要找到一个位置 $(x, y)$。 你至多进行 $3$ 次询问,每次询问格式为 ? a b。 交互库会返回 $(x, y)\to (a, b)$ 的最小移动步数。 题解 还是比较有趣的一 ......
题解 1797C 1797 CF

CF1525F 题解

题意 有一个 $n$ 个点的 DAG,现在有 $k$ 波进攻,第 $i$ 波有 $i$ 个人,它们每个人会选择一条 DAG 上的路径,并占领这个路径上的所有点,路径之间是不能相交的。第 $i$ 波进攻前可以做一些准备,可以花 $1$ 秒关闭某个点的所有入边,或关闭某个点的所有出边。第 $i$ 波进攻 ......
题解 1525F 1525 CF

「解题报告」ABC297Ex Diff Adjacent

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