atcoder equal 100d arc

AtCoder Beginner Contest 311

AtCoder Beginner Contest 311 First ABC 思路:找到第一个a,b,c都出现的位置 #include<bits/stdc++.h> using namespace std; #define int long long //#define int __int128 t ......
Beginner AtCoder Contest 311

AtCoder Beginner Contest 311

# A - First ABC ```cpp #include using namespace std; #define int long long int32_t main() { ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nu ......
Beginner AtCoder Contest 311

AtCoder Grand Contest 040 E Prefix Suffix Addition

[洛谷传送门](https://www.luogu.com.cn/problem/AT_agc040_e "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/agc040/tasks/agc040_e "AtCoder 传送门") 比较神奇的题。 考 ......
Addition AtCoder Contest Prefix Suffix

重写equals为什么要重写hashCode

我们知道一旦重写了equals方法,就一定要重写hashCode方法。为什么? 因为必须保证重写后的equals方法认定相同的两个对象拥有相同的哈希值 当我们将equals方法重写后有必要将hashCode方法也重写,这样做才能保证不违背hashCode方法中“相同对象必须有相同哈希值”的约定。 那 ......
hashCode equals

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)

# Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311) ## [A - First ABC (atcoder.jp)](https://atcoder.jp/contests/abc311/tasks/abc311_a) * ......
Contest Programming Beginner AtCoder Toyota

Atcoder ARC058E Iroha and Haiku

题目中的式子转化一下即存在一位 $i$ 使得到 $i$ 时的后缀和存在 $X + Y + Z, Y + Z, Z$,再发现 $X + Y + Z\le 17$,考虑状压。 设 $f_{i, j}$ 为填了 $i$ 个数当前后缀和中存在的数的状态为 $j$(只存 $0\sim X + Y + Z$ 的 ......
Atcoder Iroha Haiku 058E ARC

AtCoder Beginner Contest 311 G One More Grid Task

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc311_g "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc311/tasks/abc311_g "AtCoder 传送门") 考虑一维怎么做。 ......
Beginner AtCoder Contest More Grid

Atcoder ABC311F Yet Another Grid Task

发现 $(i, j)$ 若为黑色则就会有一个 $(i, j)$ 为最高点的阶梯形的图形被染黑(阶梯形指对于 $1\le i\le x$ 第 $i$ 列第 $x - i + 1$ 行及以下都是黑色)。 那么能发现其实每个列只需要记录最高的黑色点行数即可,因为及其以下的点肯定都是黑色。 考虑设 $f_{ ......
Atcoder Another 311F Grid Task

Atcoder ABC311G One More Grid Task

可以想到枚举最小值同时算出包含其的最大矩阵和。 考虑枚举行的上下界,再枚举最小值然后求出最大的列的范围,因为 $a_{i, j}\ge 1$ 列的范围越广矩阵和也越大。 考虑如何算出列的范围,令第 $i$ 列在选中的行的范围内的最小值为 $mn_i$,则对于 $mn_i$ 的列 的范围 $[l, r ......
Atcoder 311G More Grid Task

「解题报告」Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)

比赛地址:[Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311) - AtCoder](https://atcoder.jp/contests/abc311) 后记:大家都太强了%%%,如果我做不出第四题就要掉分了。。。 ## ......
Contest Programming Beginner AtCoder 报告

ARC134F Flipping Coins

pb 讲课没讲的题,感觉很牛逼啊!但不是牛逼在多项式,因为多项式大家应该都会。 考虑从前往后扫的过程,只要有正面就翻成反面,所以最后只有可能是当 $p_i #define int long long using namespace std; namespace vbzIO { char ibuf[( ......
Flipping Coins 134F ARC 134

Atcoder ARC058B Iroha and a Grid

考虑从第 $b$ 列与第 $b + 1$ 之间分开这个矩阵,钦定 $(i, b)$ 下一步必须走到 $(i, b + 1)$,可以发现这样是不会漏算或算重的。 于是就可以用乘法原理算出这个 $i$ 的贡献:$\binom{(i - 1) + (b - 1)}{i - 1}\times \binom{ ......
Atcoder Iroha 058B Grid ARC

ARC125F Tree Degree Subset Sum

感觉挺不错的一道题,不过课上 pb 好像没有讲。 显然树的具体形态对题目影响不大,那么我们知道 $\sum\limits_{i=1}^nd_i=2n-2$ 即可扔掉树的条件。即: > 给定 $n$ 个 $d_i$,和为 $2n-2$,求 $(x,y)$ 满足 $0\le x\le n$ 且 $\ex ......
Degree Subset 125F Tree ARC

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)——D

https://atcoder.jp/contests/abc311/tasks/abc311_d ## 思路 题目说如果当前方向的下一个点能走,那么就一直走,否则才能转向。根据题意模拟即可,这道题的难点在于,碰到已经走过的点到底要不要走。如果当前方向走到底,其中的点之前全部都走过那么就不能再走了。 ......
Contest Programming Beginner AtCoder Toyota

练习记录-AtCoder Beginner Contest 311-(A-E)

写的还挺顺的 F之后补 A - First ABC 找abc三个字母什么时候出现了一次 输出即可 B - Vacation Together 题意:最长的几个人一排里面均有时间 #include<bits/stdc++.h> #define close std::ios::sync_with_std ......
Beginner AtCoder Contest 311 A-E

AtCoder Beginner Contest 311

## **E - Defect-free Squares** >给你一个$n \times m$的方格矩阵,矩阵上有一些洞,然后让你求出所有的不含洞的正方形数量 > >$1 \leq n,m \leq 3000$ ### 题解:二维前缀和 + 二分答案 >* 我们先考虑一维上的问题,假设一维上有些位 ......
Beginner AtCoder Contest 311

AtCoder Beginner Contest 311 A-E题解

# A - First ABC ## 题意 给一个长度为N的仅由ABC三个字符组成的字符串S,问S中ABC三个字符第一次出现的位置的最大值。 ## 题解 使用`map`判重,记录当前不同的字符串的个数`cnt`,当`cnt`等于3时,输出此时的下标+1作为答案。 ## Code ```cpp #in ......
题解 Beginner AtCoder Contest 311

AtCoder Beginner Contest 311

## [A - First ABC (abc311 A)](https://atcoder.jp/contests/abc311/tasks/abc311_a) ### 题目大意 给定一个字符串,问最短的一个前缀,包含`A B C`这三个字符。 ### 解题思路 注意到这个前缀的末尾字母一定是这三个 ......
Beginner AtCoder Contest 311

Atcoder Regular Contest 154 E - Reverse and Inversion

只要你发现是诈骗题就好办了。不要像我那样傻傻地瞪一个小时然后才发现那俩 sigma 里的东西相减是有性质的。 先考虑计算单个 $f(p)$,一眼的树状数组……吗?考虑最终答案式子里 $i$ 的系数:$\sum\limits_{jp_i]-\sum\limits_{j>i}[p_jp_i]+\sum\ ......
Inversion Atcoder Regular Contest Reverse

Atcoder Regular Contest 124 E - Pass to Next

首先第一步是一个浅显的观察:我们要求的是**所有可能的最终序列的贡献之和**,如果能改为计算**所有操作序列的贡献之和**那问题会简单很多,并且我们惊奇地发现,如果一组 $x_i$ 全大于 $0$,那么把它们全减去 $1$ 以后得到的答案序列不会改变,而对于任意一种可能的最终序列,必然存在一组 $\ ......
Atcoder Regular Contest Pass Next

AT_arc101_d [ARC101F] Robots and Exits 题解--zhengjun

思路不错。 首先考虑把每个机器人转化为 $(a_i,b_i)$ 两个参数。 表示向左 $a_i$ 步会进入左边的出口,向右 $b_i$ 会进入右边的出口。 > 注:此时其他只能进入唯一的出口的机器人不影响答案,不考虑。 记 $c_i=0/1$ 表示 $i$ 号机器人是进入左边还是右边出口。 然后考虑 ......
题解 101 zhengjun AT_arc Robots

「解题报告」freee Programming Contest 2023(AtCoder Beginner Contest 310)

比赛地址:[freee Programming Contest 2023(AtCoder Beginner Contest 310) - AtCoder](https://atcoder.jp/contests/abc310) 后记:原本写了比较详细的题解,但是,突发意外情况,它没了,所以这份题解略 ......
Contest Programming Beginner AtCoder 报告

ARC163D Sum of SCC

### Description 给定 $N,M$,求对于所有 $N$ 个点的,满足恰有 $M$ 条从小连向大的边,即 $\sum\limits_{(u,v)\in E}[u 给竞赛图每个 SCC (强连通分量)缩点后,剩下的是由一条**极长**的链与某些前向边组成的图。 于是 SCC 的数量能够转换 ......
163D ARC 163 Sum SCC

AGC020F Arcs on a Circle

先考虑只能放**整点**的情况,不难想到考虑 dp。 对于环上的 dp,考虑**断环成链**,即钦定一条线段的左端点为**起点**。这里我们令长度**最长**的线段的左端点为环的起点。 这样做有一个好处:我们不用考虑**一条线段把环末尾覆盖再覆盖开头的空**的情况,而当我们钦定一个长度较小的线段作为 ......
Circle 020F Arcs AGC 020

ARC098D Donation

捐钱太亏了,我们倒序考虑,于是就变成了抢钱。 于是对于一个点的限制 $(a_u,b_u)$,令 $c_u=\max\{0,a_u-b_u\}$,表示到这个点之前你至少拥有的钱数,并且到了这个点之后会抢到 $b_u$ 的钱。 考虑建立 $\text{Kruskal}$ 重构树使得树上每条边 $fa_u ......
Donation 098D ARC 098

Atcoder Grand Contest 057 D - Sum Avoidance

先来找些性质: - $A$ 中最小的元素 $M$ 肯定是最小的不是 $S$ 的因子的数,由于 $\text{lcm}(1,2,3,\cdots,43)>10^{18}$,所以 $M\le 43$。 - 对于每个 $0\le iS)break; for(int j=1;j>1; if(calc(mid ......
Avoidance Atcoder Contest Grand 057

AtCoder Grand Contest 049 E Increment Decrement

[洛谷传送门](https://www.luogu.com.cn/problem/AT_agc049_e "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/agc049/tasks/agc049_e "AtCoder 传送门") 好题。同时考查了 ......
Decrement Increment AtCoder Contest Grand

[ARC104E] Random LIS 题解

# [ARC104E] Random LIS 题解 [Link](https://atcoder.jp/contests/arc104/tasks/arc104_e) 吐了,一下午就写了这一个题……主要是题解都说的很草率。然后上课的时候貌似讲的方法不是很能做(也许是我太菜了),总之我得写篇题解整理整 ......
题解 Random 104E ARC 104

equals重写用来比较对象是否相等

public class Test{ public static void main(String[] args){ //创建两个时间对象 MyTime t1 = new MyTime(2008,8,8); MyTime t2 = new MyTime(2008,8,8); //通过equals判断 ......
对象 equals

Java中equals与==的区别

基础知识在对于我们的工作学习时,是非常重要的。 判断两个对象是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals方法。 ##### 基本数据类型 - int 整型 - short 短整型 - long 长整型 - byte 字节型 - char 字符型 - float 单精度浮点型 ......
equals Java