128f frog jump abc

ABC286

[[ABC286C] Rotate and Palindrome](https://www.luogu.com.cn/problem/AT_abc286_c) 容易发现两种操作互不干扰,所以考虑枚举换位操作个数,再计算出相应的替换操作个数,最后取最小值即可。 复杂度 $O(n^2)$。 [[ABC2 ......
ABC 286

ABC285

[[ABC285D] Change Usernames](https://www.luogu.com.cn/problem/AT_abc285_d) 依据题意直接连边,判断有没有环即可。 复杂度 $O(n)$ [[ABC285E] Work or Rest](https://www.luogu.co ......
ABC 285

ABC284

[[ABC284D] Happy New Year 2023](https://www.luogu.com.cn/problem/AT_abc284_d) 暴力肯定不行,尝试简单讨论一下。 1. 如果 $q > \sqrt n$,那么 $p^2 \sqrt n$,那么 $p < \sqrt n$,因 ......
ABC 284

题解 [ABC276F] Double Chance

很容易想到分类。 我们可以把 $1$ 到 $i-1$ 的球分为两类,一类是权值小于 $val_i$,另一类是权值大于 $val_i$。 对于第一类,$sum$ 加上小于 $val_i$ 的球的个数乘以 $val_i$。 对于第二类,$sum$ 加上所有大于 $val_i$ 的球的权值。 这显然可以用 ......
题解 Double Chance 276F ABC

ABC310

## T1:[Order Something Else](https://atcoder.jp/contests/abc310/tasks/abc310_a) 模拟 代码实现 ``` n, p, q = map(int, input().split()) d = list(map(int, inpu ......
ABC 310

ABC抽象类笔记

python抽象类的介绍 python的abc模块提供了对抽象类的支持,通过继承ABC类,可以实现定义一个抽象父类,这个父类可以提前定义好一些抽象接口,可以通过继承抽象父类并实现这些接口方法来定义不同的类 比如我们定义一个图形类 from abc import ABC, abstractmethod ......
笔记 ABC

[AtCoder ABC302] F - Merge Set

Problem Statement If we add edges between every pair of sets that have shared elements, there will be O(N^2) edges to traverse. Instead, we can add N ......
AtCoder Merge ABC 302 Set

abc310f <dp + bitmask>

### 题目 [F - Make 10 Again](https://atcoder.jp/contests/abc310/tasks/abc310_f) ### 思路 [参考](https://www.cnblogs.com/legendstane/p/freee-programming-cont ......
bitmask 310f abc 310 lt

abc310e <公式递推(dp?)>

### 题目 [E - NAND repeatedly](https://atcoder.jp/contests/abc310/tasks/abc310_e) ### 思路 ![image](https://img2023.cnblogs.com/blog/3165412/202307/316541 ......
公式 310e abc 310 lt

abc310d <dfs暴搜-分组方案数 / bitmask表示集合+dp>

### 题目 [D - Peaceful Teams](https://atcoder.jp/contests/abc310/tasks/abc310_d) **参考:** https://www.cnblogs.com/legendstane/p/freee-programming-contest ......
bitmask 方案 310d abc 310

[abc309 G] Ban Permutation

### [G - Ban Permutation](https://atcoder.jp/contests/abc309/tasks/abc309_g) 首先看到绝对值,很烦,考虑取掉绝对值得到$p_i\leq i-X$或$p_i\geq i+X$ 然后我们就自然而然有了一个暴力的想法,设$dp[i ......
Permutation abc 309 Ban

[abc309 F] Box in Box

# [F - Box in Box](https://atcoder.jp/contests/abc309/tasks/abc309_f) 首先,每个长方体的$h,w,d$都是可以任意互换的,所以我们考虑用$a_0,a_1,a_2$来代替它们($a_0\leq a_1\leq a_2$) 然后可以发 ......
Box abc 309 in

ABC310

[**A**](https://atcoder.jp/contests/abc310/tasks/abc310_a) ## 题意 给你$n,p,q$ 给你一个$n$长度的数组$D$ ,返回$\min(D_i+q,p)$ ~~~C++ #include using namespace std; typ ......
ABC 310

[ABC310E] NAND repeatedly 题解

怎么都是 dp 做的,就我是手玩出来的吗/oh。 首先关于 $\operatorname{NAND}$ 有一个经典技巧:$x\barwedge 0=1,x\barwedge 1=\neg x$。 发现一个 $0$ 会将值强制置 $1$,而一个 $1$ 会将值取反,于是 $f(l,r)$ 的值只取决于 ......
题解 repeatedly 310E NAND ABC

6194: jump and jump 深搜/广搜/动态规划

描述 寒假在家里无聊极了,小w看到地上的瓷砖,想出了一个游戏。这个游戏是这样子的,一共有n个格子,刚开始在起点的时候可以跳到第1个到第k个格子中的一个上面,之后在每个格子上只能向前跳相对应的长度。请问至少需要多少步可以恰好跳到最后一个格子呢? 输入 第一行输入两个整数n和k(1<=n<=100000 ......
jump 动态 6194 and

[ABC310F]Make 10 Again

[[ABC310F]Make 10 Again](https://atcoder.jp/contests/abc310/tasks/abc310_f) ## 题意 给定 $N$ 个骰子,每个骰子会随机的出现数字 $1$ 到 $A_i$ , 求能够从 $N$ 个骰子中选若干个, 使他们的点数之和为 $ ......
Again 310F Make ABC 310

ABC243F

发现直接记录有哪些奖品被选是不可能的,所以考虑转换一下思路:设 $dp_{i,j,p}$ 为只考虑前 $i$ 个奖品,抽了 $j$ 次,有 $p$ 种不同奖品的的概率。 这个状态相当于是维护一个操作(抽奖)序列。考虑每次加入 $q$ 个第 $i$ 种奖品,就相当于是将原序列和一个由 $q$ 个 $i ......
243F ABC 243

abc089 <前缀和>

### 题目 [D - Practical Skill Test](https://atcoder.jp/contests/abc089/tasks/abc089_d) ### 思路 - 计算出所有结点在跳转过程中的前缀和, 从而O1查询 - 根据数据范围, 实际上不需要二分, 直接开相同大小的数组 ......
前缀 abc 089 lt gt

abc088 <bfs 最短路>

### 题目 [D - Grid Repainting](https://atcoder.jp/contests/abc088/tasks/abc088_d) ### 思路 - bfs找到从起点到终点的最短路, +1(起点), 即为至少留下的白色块的个数 - 则答案 = 总白色块数 - (最短路+1 ......
abc 088 bfs lt gt

abc086d <二维前缀和 同余>

### 题目 [D - Checker](https://atcoder.jp/contests/abc086/tasks/arc089_b) ### 思路 - 坐标对 2k 取余, 通过二维前缀和计算满足条件的个数; - 也可对 k 取余, [参考](https://www.luogu.com.c ......
前缀 086d abc 086 lt

abc085d <贪心>

### 题目 [D - Katana Thrower](https://atcoder.jp/contests/abc085/tasks/abc085_d) ### 思路 - 关键: 连续使用ai与投掷bi并无冲突, 可先使用ai再投掷bi - 找到ai中的最大值maxa; 首先从大到小使用bi中比 ......
085d abc 085 lt gt

abc084d <素数筛 前缀和>

### 题目 [D - 2017-like Number](https://atcoder.jp/contests/abc084/tasks/abc084_d) ### 思路 - 筛出数据范围`1e5`范围内的素数 - 检查每个素数是否为 2017-like - 对`1~1e5`内的2017-lik ......
素数 前缀 084d abc 084

abc083d <思维 贪心>

### 题目 [D - Wide Flip](https://atcoder.jp/contests/abc083/tasks/arc088_b) ### 思路 参考[live4m的博客](https://blog.csdn.net/weixin_44178736/article/details/1 ......
思维 083d abc 083 lt

abc082d <bitset 状压dp>

### 题目 [D - FT Robot](https://atcoder.jp/contests/abc082/tasks/arc087_b) ### 思路 - 动态规划的方式记录每次行动后, 机器人在坐标系中所有可能位置 - 通过bitset对状态进行压缩, 即每个位置有机器人true or 没 ......
bitset 082d abc 082 lt

[ABC135D] Digits Parade

> [Digits Parade の 传送门](https://www.luogu.com.cn/problem/AT_abc135_d) ## Solution 首先看到 > $1\le |S|\le 10^5$ 考虑 DP。 定义 $f_{i,j}$ 表示前 $i$ 个位置的数除以 $13$ 的 ......
Digits Parade 135D ABC 135

ABC222D-Between Two Arrays(前缀和优化dp)

题意:给定两个递增数列A和B,构造一个ai <= ci <= bi 的递增数列C,询问满足条件的C的个数。 普通dp会超时,用前缀和优化 n=int(input()) a=list(map(int,input().split())) b=list(map(int,input().split())) ......
前缀 D-Between Between Arrays ABC

[ABC134E] Sequence Decomposing

[Sequence Decomposing の 传送门](https://www.luogu.com.cn/problem/AT_abc134_e) ### 前置知识 > [multiset](https://zh.cppreference.com/w/cpp/container/multiset) ......
Decomposing Sequence 134E ABC 134

ABC309G Ban Permutation

### Problem > 求有多少个 $1$ 至 $n$ 的排列 $P$,满足对于任意 $i$ 都有 $|i-p_i|\ge X$。 > $1\le n\le 100$,$1\le X\le 5$。 ......
Permutation 309G ABC 309 Ban

abc081d <思维 构造>

[D - Non-decreasing](https://atcoder.jp/contests/abc081/tasks/arc086_b) ``` // https://atcoder.jp/contests/abc081/tasks/arc086_b // // 两种情况非常容易构造 : 全整 ......
思维 081d abc 081 lt

abc080d <区间重叠>

[D - Recording](https://atcoder.jp/contests/abc080/tasks/abc080_d) ``` // https://atcoder.jp/contests/abc080/tasks/abc080_d #include #include using na ......
区间 080d abc 080 lt