题解atcoder agc 004

P1387 最大正方形 题解

### 注意细节 通过二维前缀和判定矩形内是否全为1,计算和等于长度的平方就判断为是 复杂度$\Theta (n^2\log{n})$ ```cpp #include #define N (int)(105) using namespace std; int mp[N][N]; int s[N][N ......
题解 正方形 正方 P1387 1387

Codeforces Round 886 (Div. 4) 题解 A - H

## [A](https://codeforces.com/contest/1850/problem/A). To My Critics ### 题目大意 给定三个数,你可以挑俩数加起来,问这仨数有没有可能加起来大于等于 $10$ . ### 解题思路 我们找其中最大的两个数相加与 $10$ 比较即 ......
题解 Codeforces Round 886 Div

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

Codeforces Round 886 (Div. 4) 全题题解

我关注的人中正式参与**比赛排名公示**: | # | Who | = | Penalty | * | [A](https://codeforces.com/contest/1850/problem/A) | [B](https://codeforces.com/contest/1850/probl ......
题解 Codeforces Round 886 Div

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

题解 P9474 [yLOI2022] 长安幻世绘

看到极差,不难想到双指针。 显然,如果 $[l,r]$ 的位置都被覆盖,那么其中最多可以选 $\lceil\frac{r-l+1}{2}\rceil$ 个数。 我们先将所有数离散化,排序,双指针卡取值范围。 `set` 里面存 `pair` 类型变量,表示覆盖的区间。 每次将值为 $r$ 的数的位置 ......
题解 P9474 9474 2022 yLOI

题解链接

# 积跬步,至千里 tag:二分 [洛谷P1314聪明的质检员](https://www.cnblogs.com/week-end/articles/17431642.html) [洛谷P1024一元三次方程求解](https://www.cnblogs.com/week-end/articles/ ......
题解 链接

题解:【ICPC WF 2021 H】 Prehistoric Programs

[题目链接](https://www.luogu.com.cn/problem/P9446) ```cpp #include #define ld long double #define ui unsigned int #define ull unsigned long long #define i ......
题解 Prehistoric Programs ICPC 2021

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

cf 题解

Mihai and Slavic were looking at a group of $n$ frogs, numbered from $1$ to $n$, all initially located at point $0$. Frog $i$ has a hop length of $a_i ......
题解 cf

P7074 [CSP-J2020] 方格取数 题解

题目: 题目描述 设有 n*m 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中的整数,求它能取到的整数之和的最大值。 输入格式 第一行有两个整数 n, m。 接下来 ......
题解 方格 P7074 CSP-J 7074

CF875F Royal Questions题解

首先题目显然可以建模为一个二分图的最大权匹配问题。我们将王子放在左侧,公主放在右侧。根据贪心的思想,将公主按价值从大到小排序,每次搜索交错树;若找到未匹配节点,直接增广,否则丢弃该节点。这样我们就得到了一个 $O(m(m+n))$ 的算法。但这个复杂度显然不够优秀,我们要寻找加速它的方法。 首先直接 ......
题解 Questions Royal 875F 875

AtCoder Beginner Contest 311

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

第二次比赛部分题解

P7060 [NWRRC2014] Alarm Clock #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int arr[10]={6,2,5,5,4,5,6,3,7,6}; bool check= ......
题解 部分

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

2023“钉耙编程”中国大学生算法设计超级联赛(2)部分题解

### 2023“钉耙编程”中国大学生算法设计超级联赛(2)部分题解 #### 7.20 ##### 1002 Binary Number 可以发现,每个位置最多修改两次,再多了没有意义。 当k为0时,无法修改直接输出。 当n为1时,看k的奇偶性,若为奇数则将其翻转输出,否则直接输出。 当n不为1时 ......
钉耙 题解 算法 联赛 部分

P9473 [yLOI2022] 西施江南 题解

# Description 给定一个长为 $n$ 的序列 $\{a_n\}$,判断他们的最大公约数与最小公倍数的乘积是否等于序列中所有数的乘积。 对于所有数据,$1\leq n\leq5\times10^5$,$1\leq a_i\leq10^8$。 # Solution 设 $\displayst ......
题解 P9473 9473 2022 yLOI

洛谷 P9474 [yLOI2022] 长安幻世绘 题解

给定序列,选取一个恰好为给定长度的元素在原序列中不相邻的子序列,使得该子序列极差最小。排序后双指针,用 set 维护区间解决。 ......
题解 P9474 9474 2022 yLOI

P1833 樱花 题解

# 二进制拆分 做法:把每一个物品根据2的多少次方拆分,因为任何数都可以转化为二进制数 核心思想:把每一个物品拆成很多个,分别计算价值和所需时间,再转化为01背包求解 最后一点:完全背包可以把他的空间记为999999,不要太大,一般百万就足够了 还有一点:cin和scanf**不可以混用** # 代 ......
题解 P1833 1833

P1757 通天之分组背包 题解

## 思路 分组背包模版题,不多说。 # 代码 ```cpp #include #define ll long long #define ld long double using namespace std; inline void read(int &x) { x=0; short flag=1; ......
题解 背包 P1757 1757

P1679 神奇的四次方数 题解

## 思路 先枚举出 $n$以内的4次方数 然后dp. # 代码 ```cpp #include #define ll long long #define ld long double #define min(x,y) (x'9') { if(c=='-')flag=-1; c=getchar(); ......
题解 P1679 1679

P1616 疯狂的采药 题解

## 思路 这道题和 [NOIP2005 普及组] 采药的思路差不多 不同的是,这道题是完全背包,采药则是01背包。 转移方程为:```dp[j]=max(dp[j],dp[j-w[i]]+v[i]);//滚动数组优化``` # 代码 ```cpp #include #define ll long ......
题解 P1616 1616

第二次比赛出题题解

# 第二次比赛题解 ## [P1138 第 k 小整数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)](https://www.luogu.com.cn/problem/P1138?contestId=120025) **主要了解set的用法,set会自动去重和排序** ```c ......
题解

P1048 [NOIP2005 普及组] 采药 题解

## 思路 01背包模版题 转移方程为:```dp[j]=max(dp[j],dp[j-ti]+wi);//滚动数组优化``` # 代码 ```cpp #include #define ll long long #define ld long double using namespace std; ......
题解 P1048 1048 NOIP 2005

P1060 [NOIP2006 普及组] 开心的金明 题解

## 思路 ### 01背包模版题,唯一不同的是加了一个条件就是价格与重要度的乘积。 转移方程为:```dp[j]=max(dp[j],dp[j-w[i]]+w[i]*v[i]);``` 这里加了滚动数组优化。 ## 代码 ```cpp #include #define ll long long # ......
题解 P1060 1060 NOIP 2006

AT_agc002_f [AGC002F] Leftmost Ball 思考--zhengjun

思维 + dp。 如果像题意那样先放球再染色的话不是很好做。 所以考虑有 $n$ 个白球,$n$ 种其他颜色的球各 $k-1$ 个。 那么限制就是说对于每个前缀,白球的个数 $\ge$ 其他颜色球的种数。 所以就可以设 $f_{i,j}$ 为放了 $i$ 个白球,$j$ 种颜色的 $k-1$ 个球的 ......
002 Leftmost zhengjun AT_agc 002F

【大联盟】20230626 集查并(dsu) 题解 AT_toyota2023spring_final_g 【Git Gud】

【大联盟】20230626 集查并(dsu) 题解 AT_toyota2023spring_final_g 【Git Gud】 zyx /bx ## 题目描述 [here](https://atcoder.jp/contests/toyota2023spring-final/tasks/toyota ......

JOI2013 JOIOI の塔 (Tower of JOIOI)题解

# Description 给定一个由 `J`、`O`、`I` 组成的字符串,求最多能拆分成多少 `JOI` 或 `IOI`。 对于所有数据,$1\leq \vert S\vert\leq 10^6$。 # Solution 先处理出 $\text{pre}_i$ 为前缀 `J` 和 `I` 的数量 ......
题解 JOIOI Tower 2013 JOI