- 博客(17)
- 收藏
- 关注
原创 Educational Codeforces Round 123 (Rated for Div. 2) 题解(A-E)
1644A - Doors and Keys题意:333 种颜色的门和钥匙,需要先遇到小写字母的钥匙后打开大写字母的门,问能不能通过去。简单模拟即可,当存在一个小写字母的时候记录一下,遇到大写字母的时候检查其对应的小写字母是否存在。参考实现 1:char s[7];int main() { int T; read(T); while (T--) { read(s); bool vis[3] = {0, 0, 0}, flg = 1;
2022-02-23 14:57:02
835
原创 Codeforces Round #772 (Div. 2) 题解 (A-F)
1635A - Min Or Sum题意:给定一个序列 aaa,每次可以将 aia_iai 和 aja_jaj 替换成 xxx 和 yyy,要求 ai∣aj=x∣ya_i\mid a_j = x\mid yai∣aj=x∣y,问若干次操作后能达到的最小的序列和。注意到将 (ai,aj)→(ai∣aj,0)(a_i, a_j)\to (a_i\mid a_j, 0)(ai,aj)→(ai∣aj,0) 是最优的做法,我们可以通过这样的操作,让尽可能多的数字等于 000,然后保留一个 a1∣a
2022-02-21 01:32:59
475
原创 AtCoder Beginner Contest 237 题解(A - Ex)
A 可以投机取巧一下强制转为 int 之后是否与原来相等。B 略,C 随便观察一下即可,略。D 可以实现一个 deque 或者倒序考虑问题,略。E 建出图后发现是一个带有负权边的最短路模型,跑个 SPFA 可以过,略。ABC237F - |LIS| = 3给定 NNN 和 MMM,求满足以下条件的正整数序列的个数:长度为 NNN,每个元素 ∈[1,M]\in[1, M]∈[1,M]。其 LIS 的长度恰好为 333。3≤N≤10003\le N\le 10003≤N≤1000,3≤M≤10
2022-02-08 14:12:12
826
原创 AtCoder Beginner Contest 234 题解(A-Ex)
在我的博客内阅读。A,B 略。C 考虑将 KKK 二进制表示下的每个 111 换成 222 即可。D 维护一个小根堆在线维护前 KKK 大元素即可。E 发现首项只可能是 a1a_1a1 或 a1+1a_1 + 1a1+1,随后枚举公差判断是否可行即可,细节略多。ABC234F - Reordering题意:给定一个字符串 SSS,问选出里面的部分字母并重排后能得到多少种不同字符串。∣S∣≤5000|S|\le 5000∣S∣≤5000,模 99824435399824435399824435
2022-01-10 20:31:06
661
原创 AtCoder Beginner Contest 233 题解(A-Ex)
A、B 略。ABC233C - Product实际上就是一个简单 dp,但是数组上范围比较大,需要用 map 维护下标以及转移点。答案爆 long long,需使用 __int128。using i128 = __int128;vector<map<i128, i128>> mp;int main() { i128 n, X; read(n, X); mp.resize(n + 1); mp[0][1] = 1; FOR(i, 1,
2021-12-27 21:17:18
934
2
原创 AtCoder Beginner Contest 232 题解(A-H)
A,B 略。C 建出一张图的邻接矩阵然后用 next_permutation 枚举排列判断是否能建立映射即可。D 简单网格 dp,注意边界条件。ABC232E - Rook PathH×WH \times WH×W 的网格,你初始在 (x1,y1)(x_1, y_1)(x1,y1),要求做 KKK 次操作后位置变为 (x2,y2)(x_2, y_2)(x2,y2)。每次操作形如:移动横坐标,从 (x,y)(x, y)(x,y) 移动到 (x′,y)(x', y)(x′,y),其中 1≤x
2021-12-20 20:24:17
1020
2
原创 AtCoder Beginner Contest 231 题解(A-G)
A,B 略,C 简单二分。ABC231D - Neighbors建出图来,若图有环或者有点的度数大于 222,则不合法。否则合法。ABC231E - Minimal payments由于 Ai−1∣AiA_{i - 1}\mid A_iAi−1∣Ai,所以对于一个 AiA_iAi 可以只考虑两种方案:用这个 AiA_iAi 尽可能凑,或者用更大的面值付然后要找零。using ll = long long;int n;ll a[65], x, ans;unordered_map<
2021-12-15 20:53:29
847
原创 洛谷 P7429 [THUPC2017] 气氛(行列式,高斯消元,计算几何)
推广我的个人博客Before we start前置知识:行列式的几何意义高斯消元求行列式没了。Descriptionttt 组数据(1≤t≤1001\le t\le 1001≤t≤100),问 n−1n - 1n−1 维空间中的 n+1n + 1n+1 个点构成的凸包的广义体积。点的坐标一定是 000 或 111。Solution首先,这 n+1n + 1n+1 个点肯定是参与构成了整个凸包的,因为点的坐标一定为 000 或 111。而我们想想 n−1n -1n−1 维空间中 nnn
2021-08-02 23:13:44
339
原创 AtCoder Regular Contest 120 解题报告
本文同步发表在 YangTY’s BlogARC120A - Max Add需要想一两分钟的贪心ARC120B - Uniformly DistributedDescription给定 H×WH \times WH×W 的方格,其中一些涂了红色,一些涂了蓝色,一些什么都没涂。问对于剩余的格子,有多少种涂色的方案使得从 (1,1)(1,1)(1,1) 到 (H,W)(H,W)(H,W) 上的所有路径经过的红格子数量都相等。Solution不难发现,对于一个从右上到左下的副对角线,其要么全为红色,
2021-05-27 23:14:38
455
原创 AtCoder Regular Contest 119 解题报告
本文同步发表在 YangTY’s BlogARC119A - 119 × 2^23 + 1给定 nnn(1≤n≤1×10181\le n\le 1\times 10^{18}1≤n≤1×1018),将 nnn 分解为 a×2b+ca \times 2^b + ca×2b+c 的形式,求 a+b+ca + b + ca+b+c 的最小值。bbb 从 000 到 616161 枚举即可。ARC119B - Electric BoardDescription给定两个 01 串 SSS 和 TTT,每次
2021-05-27 23:13:44
354
原创 AtCoder Regular Contest 118 解题报告
本文同步发表在 YangTY’s BlogARC118A - Tax Included Price打表可做。ARC118B - Village of M PeopleDescription给定 KKK,NNN 和 MMM 以及 KKK 个 AiA_iAi,构造 BiB_iBi,使得 ∑Bi=M\sum B_i = M∑Bi=M 且maxi∣BiM−AiN∣\max_i\left|\frac{B_i}{M} - \frac{A_i}{N}\right|imax∣∣∣∣MBi−N
2021-05-27 23:12:38
278
原创 AtCoder Regular Contest 117 解题报告
本文同步发表在 YangTY’s BlogARC117A - God Sequence傻逼构造ARC117B - ARC Wrecker题目。注意到可以排序之后做,方便考虑。然后可以考虑做差分,不难发现直接把差分数组用乘法原理合并即可。#include <cstdio>#include <cctype>#include <algorithm>#include <functional>#define FOR(i, a, b) for (int
2021-05-27 23:11:31
203
原创 AtCoder Regular Contest 116 解题报告
本文同步发表在 hexo 博客ARC116A - Odd vs Even给定 TTT(T≤2×105T\le 2\times 10^5T≤2×105)个正整数 nnn(1≤n≤10181\le n\le 10^{18}1≤n≤1018),问 nnn 的奇约数多还是偶约数多。(约数均为正约数)很明显,如果 n mod 2=1n\bmod 2 = 1nmod2=1,则答案为奇约数多。否则考察约数们怎么来的。对于一个偶数 nnn 我们总能将其这样拆分:n=2k×pn = 2^k\times pn=2k×p
2021-05-27 23:09:32
387
原创 ABC202F - Integer Convex Hull 题解
本文同步发表在 hexo 博客Description平面内 NNN 个坐标均为整数的点,其中任意三点不共线,令所有点 PiP_iPi 构成一个全集 UUU,子集 S⊆US\subseteq US⊆U 且 ∣S∣≥3|S|\ge 3∣S∣≥3。问凸包面积为整数的子集 SSS 的个数模 109+710^9 + 7109+7 的值。3≤N≤803\le N\le 803≤N≤80。Solution比较神奇的题目。考虑 Andrew 算法的执行流程:将所有点按照先 xxx 轴升序后 yyy 轴升序排序
2021-05-27 23:08:08
259
原创 Codeforces Round #706 (Div. 2)
1496A - Split it!题意给定 SSS 和 kkk,要求把 SSS 拆分为a1+a2+⋯+ak+ak+1+R(ak)+R(ak−1)+⋯+R(ai)a_1 + a_2 + \cdots + a_k + a_{k + 1} + R(a_k) + R(a_{k - 1}) + \cdots + R(a_i)a1+a2+⋯+ak+ak+1+R(ak)+R(ak−1)+⋯+R(ai)的形式,其中 R(a)R(a)R(a) 表示 AAA 的反串,例如 R(abcd)=dcbaR(
2021-03-11 16:07:01
683
原创 CF1493D GCD of an Array
题意给定 nnn 个数 a1⋯na_{1\cdots n}a1⋯n,进行 qqq 次单点乘法操作,满足 1≤n,q,ai≤2×1051\le n,q,a_i\le 2\times 10^51≤n,q,ai≤2×105,求每次操作完后 gcdi=1nai mod (109+7)\displaystyle\gcd_{i = 1}^na_i\bmod (10^9 + 7)i=1gcdnaimod(109+7)。题解讲讲我的考场思路。我们知道 gcd 实际上就是所有的质因子取最小次数再乘起来,想到
2021-03-07 01:25:15
662
原创 多项式合集
多项式合集文章目录多项式合集拉格朗日插值问题背景结论推导拉格朗日插值与范德蒙矩阵开始全家桶之前形式化定义界快速傅里叶变换(FFT)复数基础从欧拉公式到单位圆多项式的表示法单位复数根DFTIDFT位逆序置换多项式乘法的实现针对多项式乘法:三次变两次优化快速数论变换(NTT)原根NTTFFT/NTT 优化卷积的一些例子[洛谷 P3338 [ZJOI2014]力](https://www.luogu.com.cn/problem/P3338)[洛谷 P3723 [AH2017/HNOI2017]礼物](http
2021-02-20 19:14:29
1175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人