ACM题目整理
文章平均质量分 91
各种来源的ACM题目整理。题目包括难题,易错题。题的来源主要是cf、牛客、杭电,以及计蒜客、vjudge(比如kuangbin, codeforces 题单)。希望可以经常进行复习!
zhezhidashi
兄弟会背叛你,女人会离开你,金钱会诱惑你,生活会刁难你,只有数学不会,不会就是不会,怎么学都不会
展开
-
数学专题训练6 计算几何
【代码】数学专题训练6 计算几何。原创 2023-07-16 17:59:37 · 193 阅读 · 0 评论 -
数学专题训练5 贪心
每个位置的绝对差值和最大。 中两个不同的数,使得。原创 2023-07-16 17:58:53 · 196 阅读 · 0 评论 -
数学专题训练4 多项式
1. A*B Problem升级版给你两个正整数 a,ba,ba,b,求 a×ba \times ba×b。1≤a,b≤1061 \le a, b \le 10^61≤a,b≤106#include<bits/stdc++.h>using namespace std;const int N = 3000010;typedef long long ll;const ll mod = 998244353, g = 3;char s1[N], s2[N];ll a[N], b[N]原创 2023-07-16 17:58:18 · 266 阅读 · 0 评论 -
数学专题训练3 数论2
第二种情况:可以减去一个奇数变成第一种情况,然后对手在操作一步变成第二种情况. 直到丢给对手一个奇质数为止。. 然后答案就是这个区间的长度加1. 考虑到最大公约数的单调性用双指针即可.因此只有当前的幂次是偶数的时候才能赢.. 至于环怎么处理,把这个序列复制一遍接在后面变成之前的两倍长度即可.是2的奇数次幂的时候,先手必输。. 就是在差分数组上找到最长的一段子区间他们的最大公约数不为。,问最少需要替换多少次才能使这个序列的所有数字都是一样的.开始能够延伸到最短的距离,且当前的子区间的最大公约数为。原创 2023-07-16 17:57:44 · 156 阅读 · 0 评论 -
数学专题训练3 数论1
1. Problem - 27E - Codeforces给定 n(1≤n≤1000)n(1 \le n \le 1000)n(1≤n≤1000),找到因子个数恰好为 nnn 个的最小正整数. 保证答案不大于 1e181e181e18.和 反素数 的思路是一样的,深搜这个是枚举当前数字可以填的最高幂指数,后面的数的最高幂指数都不会比当前高。因为如果比之前的质数幂指数高,交换二者的次数,乘积会变小,因子个数却不变. 用上这个性质,速度可以提升非常非常多!#include<bits/原创 2023-07-16 17:56:43 · 270 阅读 · 0 评论 -
数学专题训练2 组合计数
1. 硬币购物4 种面值的硬币,第 i 种的面值是 CiC_iCi。nnn 次询问,每次询问给出每种硬币的数量 DiD_iDi 和一个价格 SSS,问付款方式。 n≤103,S≤105n\leq 10^3,S\leq 10^5n≤103,S≤105.如果用背包做的话复杂度是 O(4nS)O(4nS)O(4nS),无法承受。这道题最明显的特点就是硬币一共只有四种。抽象模型,其实就是让我们求方程 ∑i=14Cixi=S,xi≤Di\sum_{i=1}^4C_ix_i=S,x_i\leq D_原创 2023-07-16 17:55:30 · 312 阅读 · 0 评论 -
数学专题训练1 概率dp
有n 个骰子,第i 个骰子拥有dicei面,每面包含12...dicei的点数。同时掷这n个骰子,问掷出来的各个骰子的总点数是多少的概率最高,如果有多个答案,返回最小的那个。数据规模:n为150,每个骰子的面数取值范围为1109列一个表格找规律便可以发现。原创 2023-07-16 17:54:18 · 141 阅读 · 0 评论 -
数据结构专题2
数据结构专题2 - step 1线段树1. Cube - HDU 3584三维的空间中有 nnn 个元素,初始时每个空间元素均为0。更新操作是0变1,1变0,是一个立方体型区域内的所有元素都更新。然后查询是问某个点的元素是0还是1. (1<=n<=100,m<=100001<=n<=100, m <=100001<=n<=100,m<=10000)三维树状数组,维护三维差分数组,所有加法减法都是异或,就可以了。对于 nnn 维差分或者是 nnn原创 2023-07-16 17:51:44 · 753 阅读 · 0 评论 -
数据结构专题1
方法:建立一个按照深度为序的树序列(可以理解为层次优先遍历),并且标记第一种深搜序。按照第一种方法建立树的深搜序,把序列分成一段一段的,每段的颜色都相同。按照第一种方法建立树的深搜序,树状数组维护深搜序,到根节点路径之和的差分数组。描述:树的每个节点都有颜色。在深搜的时候,建立第一种深搜序,并且建立权值可持久化线段树,每一个子结点。 为根节点的子树对应的深搜序. 这样子的话,就可以用树状数组维护。 为根节点的子树的答案,子树所有节点到根节点路径之和都增加了。线段树维护的序列就是深搜序的序列,把。原创 2023-07-16 17:50:17 · 294 阅读 · 0 评论 -
数据结构真题
数据结构真题1. A. Bills of Paradise线段树+并查集四个操作:D x。标记大于等于 x 的第一个未标记的 aia_iai;若没有,则不操作.F x。查询大于等于 x 的第一个未标记的 aia_iai;若没有,则输出 101210^{12}1012.R x。清除小于等于 x 的所有标记;若没有,则不操作。本操作次数不超过10次.C x。查询小于等于 x 的所有未标记数之和;若没有,则输出0.我们先排序,这样子可以很快定位到x。因为单点查询修改,都是大于等于x原创 2023-07-16 17:49:27 · 298 阅读 · 0 评论 -
动态规划题集2
题目:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。N≤9K≤N∗N。原创 2023-07-03 11:01:26 · 201 阅读 · 0 评论 -
动态规划题集01
题目:有一个长为 n 的字符串为涂色目标,不同字母表示不同颜色,一开始均没有颜色,每次可以选择连续的一段染成同一种颜色,颜色会覆盖。问最少染色次数n≥50flr表示把lr染好颜色的最少次数。原创 2023-07-03 11:00:53 · 266 阅读 · 0 评论 -
cf 比赛 04
【代码】cf 比赛 04。原创 2023-07-03 10:58:02 · 129 阅读 · 0 评论 -
cf 比赛 03
【代码】cf 比赛 03。原创 2023-07-03 10:57:12 · 96 阅读 · 0 评论 -
cf 比赛 02
如果可以构造的话,就把这两个字符串输出。1的个数如果是奇数,无解。原创 2023-07-03 10:54:18 · 346 阅读 · 0 评论 -
cf 比赛 01
如果我们只看属性X,那么用字典树中的ncnt个节点建图,将空字符串作为root点,且只给字典串中的结尾部分赋值为1,那么这样一个图的邻接矩阵自乘m步之后,矩阵中root行root列就是长为m的串,所有的划分的方案数。给了一个字典,有几个串,最后要使用这给出的几个串拼一个长为m的串,这样一个串具有以下三个属性(s,X,Y),其中s是长为m的字符串,然后将这个长为m的串使用两种方式划分开,每一种方式划分出来的子串都要是字典中存在的串,第一种划分方式成为X,第二种划分方式成为Y。出处: bilibili。原创 2023-07-03 10:53:32 · 184 阅读 · 0 评论 -
比赛题目训练系列12 (The 2019 ICPC Asia Shanghai Regional Contest) B题
比赛题目训练系列12 (The 2019 ICPC Asia Shanghai Regional Contest)训练网址原创 2021-12-30 09:30:39 · 259 阅读 · 0 评论 -
比赛题目训练系列14 (2020-2021 ICPC, NERC, Northern Eurasia Onsite) D题
比赛题目训练系列14 (2020-2021 ICPC, NERC, Northern Eurasia Onsite)训练系列D. Digits题意,给 nnn 个数字 (n≤105n \le 10^5n≤105),每个数字 ai≤103a_i \le 10^3ai≤103,选出一些数字,使他们的乘积最大,并且满足乘积的末尾数字为 K (K 是输入数据)。输出选择哪些数字。这里讲解一个可以AC但是精度有可能会有问题(出题人没有卡掉)的解法。乘积最大等价于取对数求和后最大(精度就是这样出的问题,下面原创 2021-12-30 09:30:06 · 548 阅读 · 0 评论 -
比赛题目训练系列18 (NWERC 2020)
比赛题目训练系列18 (NWERC 2020)Atomic EnergyAtomic Energy一个原子核在裂变让原子核放出的能量最少. 现在给 t(t≤105)t(t \le 10^5)t(t≤105) 个测试, 每次询问的原子核的大小是 k(k≤109)k(k \le 10^9)k(k≤109).这个题和之前小米那个不一样。小米的是01背包。一开始优先选择性价比最优的,到达一定范围的时候,就开始跑暴力。因此暴力可以预处理,至于暴力的范围,可以猜一猜,至少这个题预处理出 n2n^2n2原创 2021-12-30 09:26:38 · 432 阅读 · 0 评论 -
比赛题目训练系列17 (2020-2021 ACM-ICPC Brazil Subregional Programming Contest)
比赛题目训练系列17 (2020-2021 ACM-ICPC Brazil Subregional Programming Contest)训练网址E. Party Company给一棵树 (n≤105n \le 10^5n≤105),每个节点有一个权值。然后给 mmm 个区间 m≤105m \le 10^5m≤105,以及这个区间内的一个结点。然后问每个点的权值,在这个区间内,并且存在他的一个子结点或者父结点,使得其权值也在这个区间内。还有一个条件,就是子节点的权值小于等于父结点看一遍思路,就明原创 2021-12-30 09:26:08 · 3125 阅读 · 0 评论 -
CF data structure 自制题单(二)
1. Problem - 1567E - Codeforces2. Problem - 1557D - Codeforces3. Problem - 1556E - Codeforces4. Problem - 1553F - Codeforces5. Problem - 1552F - Codeforces6. Problem - 1552E - Codeforces7. Problem - 1537E2 - Codeforces8. Problem - 1535E - Codeforces原创 2021-12-01 10:30:00 · 466 阅读 · 0 评论 -
CF probabilities 自制题单
CF strings 2000 ~ 2200 题单原创 2021-12-01 10:29:11 · 185 阅读 · 0 评论 -
CF data structure 自制题单(一)
CF data structure 2100~2200目标 30 道题原创 2021-09-09 21:29:01 · 387 阅读 · 0 评论 -
CF combinatorics 自制题单(一)
CF combinatorics 自制题单(一)1. Problem - 1557C - Codeforces2. Problem - 1552C - Codeforces3. Problem - 1528B - Codeforces4. Problem - 1508B - Codeforces原创 2021-08-24 11:27:19 · 285 阅读 · 0 评论 -
CF number theory 自制题单(二)
CF number theory 2000 ~ 21001. Problem - B2 - Codeforces给一个长度为 n(n≤106)n(n \le 10^6)n(n≤106) 序列,ai≤106a_i \le 10^6ai≤106. 一次可以让一个位置(此位置的数字必须是正数)的数字减1,相邻的一个位置加1. 问最少进行多少次操作,可以存在 k>1k > 1k>1,使得每个数字都可以被 kkk 整除。注意这个质因数分解直接暴力分解没有问题。kkk 我们只需要枚举 ∑ai原创 2021-09-01 16:56:05 · 140 阅读 · 0 评论 -
2021杭电第二场
1008 I love exam比赛WA到爆炸,犯了个蠢错误这个题不同于分组背包的是,每组物品只能选一个,而且必须选一个. 那么我们可以令 f(i,j,k)f(i,j,k)f(i,j,k) 表示第 iii 门课,花了 kkk 天,挂了 ppp 科。01背包有个 f[i,j]=f[i−1,j]f[i,j] = f[i - 1, j]f[i,j]=f[i−1,j] 转移,表示不选第 iii 个物品,但是在这里由于必须要选一组物品,因此不需要从第 i−1i - 1i−1 层向第 iii 层模拟不选第 iii原创 2021-07-22 20:48:11 · 99 阅读 · 0 评论 -
cf 比赛 04
2021.04.30训练地址The Number of Pairs令 u=gcd(a,b)u = gcd(a, b)u=gcd(a,b),设 lcm(a,b)=k∗ulcm(a, b) = k * ulcm(a,b)=k∗u,则原式可写为 u∗(k∗c−d)=xu * (k * c - d) = xu∗(k∗c−d)=x,那么有整数解,必须要满足 u∣xu | xu∣x. 则我们只需要枚举 xxx 的约数,这样子,就可以求出 kkk 了。k=x/u+dck = \frac{x/u+d}{c}k=原创 2021-05-11 22:02:11 · 172 阅读 · 2 评论 -
比赛题目训练系列19 (Central Europe Regional Contest 2013) C题
C. Magical GCD题意:给一个序列 (n≤105n \le 10^5n≤105),问连续字段的gcd乘区间长度,这个东西的最大值是多少。一个比较慢的方法是,我们枚举左端点,然后找到 gcd 改变的地方,由于每个 gcd 改变的时候,都是除以了若干个质因数。改变的地方的数量是 log 级别的。一开始是用线段树处理出来了这些东西,但是超时了,复杂度是 O(n∗log3n)O(n * \log^3 n)O(n∗log3n).但是,用 ST 表没有问题,因为 ST 表是 O(1)O(1)O(.原创 2021-12-30 09:25:27 · 387 阅读 · 0 评论 -
cf 比赛 03
2021.04.28训练地址B. Bananas in a Microwave题意:一开始的时候手里的数是0这个题一开始想复杂了. 其实很简单. 我们想一个性质,我们用背包dp做这个题,从大到小枚举体积 j. 然后状态转移是从前往后推(不是之前的那个找前驱状态).那么,我们对体积做变换(就是两个操作)。如果所得的体积之前已经出现过,就 break。这样子并不会影响。因为如果 v1→v2→v3v_1 \rightarrow v_2 \rightarrow v_3v1→v2→v3,如果从 v1原创 2021-05-02 22:31:18 · 171 阅读 · 0 评论 -
比赛题目训练系列16 (2021浙江省赛)
比赛题目训练系列16 (2021浙江省赛)训练地址D. Shortest Path Query给至多 10510^5105 个点,至多 2∗1052 * 10^52∗105 条双向边(边有权重). 边有一个限制,就是两个顶点的编号,一个一定是另一个的二进制下的前缀。现在给至多 10510^5105 个询问,给定两个结点,问两结点之间最短距离是多少.任意两点之间 s,ts, ts,t 的距离的最小值,等于从 sss 到两者所有公共祖先,再到 ttt 的最小值.我们先预处理出所有以此节点为 root原创 2021-04-26 23:18:06 · 1303 阅读 · 3 评论 -
cf 比赛 01
2021.04.21训练网址B. Cut and Stick题意:我们发现,只要知道一个区间内那个数字出现的最多,设出现次数最多的数字出现了 numnumnum 次,区间的长度是 lenlenlen。那么,如果 2∗num≤len2 * num \le len2∗num≤len,答案就是1;否则答案就是 2∗num−len2 * num - len2∗num−len.那么,我们发现,我们只关心 num>⌈len2⌉num > \lceil \frac{len}{2}\rceilnu原创 2021-05-04 11:10:21 · 255 阅读 · 0 评论 -
比赛题目训练系列15 (2020牛客暑期多校训练营(第一场))
比赛题目训练系列15 (2020牛客暑期多校训练营(第一场))训练网址B-Suffix Array原创 2022-01-01 09:41:20 · 198 阅读 · 0 评论 -
比赛题目训练系列13 (2020ICPC·小米 网络选拔赛热身赛)
比赛题目训练系列13 (2020ICPC·小米 网络选拔赛热身赛)训练网址原创 2021-12-30 09:27:29 · 210 阅读 · 0 评论 -
比赛题目训练系列11 (2020ICPC·小米 网络选拔赛第二场)
比赛题目训练系列11 (2020ICPC·小米 网络选拔赛第二场)训练网址原创 2021-12-30 09:29:39 · 235 阅读 · 0 评论 -
比赛题目训练系列09 (2020 ICPC 亚洲网上区域赛模拟赛)
比赛题目训练系列09 (2020 ICPC 亚洲网上区域赛模拟赛)训练网址原创 2021-04-10 15:02:59 · 311 阅读 · 0 评论 -
CF刷题——2500难度的几道题
1.D. Beautiful numbers题意:Beautiful Numbers定义为这个数能整除它的所有位上非零整数。问[l,r]之间的Beautiful Numbers的个数。数位 DP: 数位 DP 问题往往都是这样的题型,给定一个闭区间 [l,r][l,r][l,r],让你求这个区间中满足某种条件的数的总数。我们将问题转化成更加简单的形式。设 ansians_iansi 表示在区间 中满足条件的数的数量,那么所求的答案就是 ansr−ansl−1ans_{r} - ans_{l - 1原创 2021-12-30 09:37:48 · 606 阅读 · 0 评论 -
比赛题目训练系列07 (2020ICPC 江西省赛)
比赛题目训练系列08 (2020ICPC 江西省赛)训练网址A. A Simple Math ProblemB. Apple签到#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;ll N, M;int main(){ int T; scanf("%d", &T); while原创 2021-04-04 21:09:56 · 434 阅读 · 0 评论 -
比赛题目训练系列08 (2019 China Collegiate Programming Contest Qinhuangdao Onsite)
比赛题目训练系列07 (2019 China Collegiate Programming Contest Qinhuangdao Onsite)训练网址A. Angle Beats给定一个点,问有多少条点对,可以与这个点构成一个直角三角形。思路很简单,就是非常卡时间。我们分为 AiA_iAi 是否作为直角边分类讨论。把所有的边存在哈希表中,然后查找。省时间策略:不用map,用unordered_mapunordered_map里面不要存pair,更不要存三元组,存一维的元素,省空间省原创 2021-04-05 14:47:56 · 335 阅读 · 0 评论 -
比赛题目训练系列06 (2020 ICPC 济南)
比赛题目训练系列05 (2020 ICPC 济南)训练网址A. Matrix EquationC. Stone GameD. Fight against involutionF. Gcd ProductG. Xor Transformation题意:给了一个X和Y,让每次选择一个A(0<=A<X)与X异或,让构造不超过5步使X变成Y,注意X异或后会变化我们很容易看出如果 (X ^ Y) < X,可以直接输出这个答案否则,X 的二进制位数一定大于 Y(可用反证法证明)原创 2021-04-02 16:02:11 · 246 阅读 · 1 评论 -
比赛题目训练系列05 (2020-2021 ACM-ICPC, Asia Seoul Regional Contest)
比赛题目训练系列04 (2020-2021 ACM-ICPC, Asia Seoul Regional Contest)训练网址E. Imprecise ComputerG. Mobile RobotH. NeedleI. Stock AnalysisJ. SwitchesK. Tiling PolyominoL. Two Buildings原创 2021-03-28 20:36:42 · 693 阅读 · 1 评论