regionals multiply contest problem
The 2023 CCPC Online Contest (The 2nd Universal Cup, Stage 3: Binjiang)
题解: https://files.cnblogs.com/files/clrs97/CCPC-Online-2023-%E9%A2%98%E8%A7%A3.pdf Code: A. Almost Prefix Concatenation #include<cstdio> #include<cstr ......
The 2023 ICPC Asia EC Regionals Online Contest (I) - Problem C. Multiply Then Plus
离线询问,建立时间线段树,那么每条直线存在的时间是一个区间,对应时间线段树上$\mathcal{O}(\log n)$个节点,每个询问对应时间线段树上某个叶子到根的$\mathcal{O}(\log n)$ 个节点。 对于时间线段树中的某个节点,它代表的直线集合是静态的,问题转化为静态区间查询。对于 ......
The 2023 ICPC Asia EC Regionals Online Contest (I) - Problem H. Range Periodicity Query
对于一个周期长度$p$来说,如果它不是$S_k$的周期,那么它一定不是$S_{k+1}$的周期,因此可以二分出分界线$t_p$满足它是$S_p,S_{p+1},S_{p+2},\dots,S_{t_p}$的周期,但不是$S_{t_p+1}$的周期。对于一个询问$(k,l,r)$,问题等价于寻找区间中 ......
The 20th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple
题解: https://files.cnblogs.com/files/clrs97/2023_ZJCPC_Tutorial.pdf Code: A. Look and Say #include<bits/stdc++.h> using namespace std; int main() { ios ......
The 2023 ICPC Asia Hong Kong Regional Programming Contest (The 1st Universal Cup, Stage 2:Hong Kong)
题解: https://files.cnblogs.com/files/clrs97/2022Hong_Kong_Tutorial.pdf Code: A. TreeScript #include <bits/stdc++.h> using namespace std; using LL = lon ......
The 2022 ICPC Asia Hangzhou Regional Programming Contest
题解: https://files.cnblogs.com/files/clrs97/2022ICPCHangzhouTutorial.pdf Code: A. Modulo Ruins the Legend #include<bits/stdc++.h> using namespace std; ......
题解 P9701【[GDCPC2023] Classic Problem】
题如其名,确实挺经典的。 我们称边权在输入中给定的边为特殊边,其它边为平凡边。称特殊边涉及到的点为特殊点,其它点为平凡点。 显然,对于连续的若干平凡点 \([l,r]\),他们内部的最优连边方式就是连成一条链,花费 \(r-l\) 的代价。我们先把这样的代价加到答案中,然后将极长连续平凡点缩成一个点 ......
题解 CF1034C【Region Separation】/ SS221116D【Xiong AK 10 IOI】
很妙的性质题!全是意识流证明见过吗? problem 每次选一个非空边集删掉,谓之曰砍树。砍树后需要满足每个连通块的点权和相同。 在一个方案中可以砍很多次树,都要满足砍树后的要求。一共有多少种合法方案呢? \(n\leq 10^6,1\leq a_i\leq 10^9\)。 solution 假如我 ......
AtCoder Grand Contest 036 F Square Constraints
洛谷传送门 AtCoder 传送门 本质是 \(p_i \in [l_i, r_i]\) 的计数问题。 当 \(1 \le i \le n\) 时,\(l_i\) 才可能不等于 \(1\)。考虑容斥,设钦定 \(m\) 个不满足条件(上界为 \(l_i - 1\)),其余任意(上界为 \(r_i\) ......
2017 China Collegiate Programming Contest Final (CCPC-Final 2017)
Preface 今天打学校统一要求的这场CCPC2017Final,直接被打爆了,各种数学题搞得人生活不能自理 主要是H徐神开场就秒出了正确的思路,然后一心认准高斯消元然后一直想+写+调到结束都没卡过去 比赛最后20min的时候祁神想到了更好写的基于施密特正交化的方法,可以碍于时间有限没调出来 不过 ......
AtCoder Beginner Contest 288 Ex A Nameless Counting Problem
洛谷传送门 AtCoder 传送门 考虑到规定单调不降比较难搞。先设 \(g_t\) 为长度为 \(t\) 的满足条件的序列个数(可重且有顺序)。求这个可以设个 dp,\(f_{d, i}\) 表示考虑到从高到低第 \(d\) 位,当前 \(t\) 个数中有 \(i\) 个仍然顶上界,并且之前的位都 ......
AtCoder Grand Contest 056 D Subset Sum Game
洛谷传送门 AtCoder 传送门 考虑若 \(n\) 是奇数怎么做。枚举 Alice 第一次选的数 \(a_i\),然后考虑把剩下的数两两结成一个匹配,若 Bob 选了其中一个,Alice 就选另一个。容易发现排序后奇数位和它右边的偶数位匹配最优。那么设奇数位的和为 \(A\),偶数位的和为 \( ......
AtCoder Beginner Contest 178 E
AtCoder Beginner Contest 178 E E - Dist Max 曼哈顿距离最大点对 \(ans = max(|x_i-x_j|+|y_i-y_j|)\) 考虑去绝对值,4种情况。sort一下取max即可。 #include <bits/stdc++.h> using name ......
2022 China Collegiate Programming Contest (CCPC) Weihai Site
Preface VP到自己学校出的题了可海星,不得不说学长们出的题比起昨天VP的CCPC2022广州做起来要舒服地多 这场前面写题都很顺基本都是一发过,中期的medium也没怎么卡思路和卡机子,一道一道地慢慢出 最后一个小时徐神RushF可惜没Rush出来,然后我和祁神坐在下面把B的做法给搞出来了, ......
The 2022 ICPC Asia Shenyang Regional Contest
C. Clamped Sequence 因为\(n\)的范围不大,并且可以猜到\(l,r\)中应该至少有一个在\(a_i,a_i-1,a_i+1\)上。所以直接暴力枚举\(l\)或\(r\)然后暴力的计算一下 #include <bits/stdc++.h> using namespace std; ......
AtCoder Beginner Contest 322
A - First ABC 2 解题思路 签到 Code #include <bits/stdc++.h> using namespace std; typedef long long LL; void solve() { int n; cin >> n; string s; cin >> s; i ......
AT_abc254_h [ABC254Ex] Multiply or Divide by 2 题解
打篇题解巩固一下。 题意 给你两个集合 \(A\) 和 \(B\),对于任意 \(A\) 集合中的元素,我们可以进行 \(2\) 种操作:\(a_i\gets \left\lfloor\frac{a_i}{2}\right\rfloor\) 或 \(a_i\gets 2\times a_i\)。问最 ......
AtCoder Beginner Contest 322
A - First ABC 2 (abc322 A) 题目大意 给定一个字符串,找到最先出现ABC的位置。 解题思路 直接查找判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long; int mai ......
2022 China Collegiate Programming Contest (CCPC) Guangzhou Onsite
Preface 好难啊这场广州站,不愧是5题金4题铜的超恶劣站,中档题普遍难度较高 但我感觉主要原因还是题目出的太偏向于DP了,AI是本质差不多的树上换根DP,M又是个数位DP,导致像我这种不擅长DP的人直接中期坐牢 但好在祁神大力切出了medium~hard的K题,然后最后一小时我把一直在想的A题 ......
The 2022 ICPC Asia Xi'an Regional Contest
C. Clone Ranran 最优解一定是先复制,在做题。最多只需要复制大约 30 次,直接枚举即可 #include <bits/stdc++.h> using namespace std; #define int long long int a , b, c; void solve(){ ci ......
2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite
Preface 久违地VP一场,由于CCPC桂林在即因此最近就自主VP一下去年的CCPC 这场打的时候全队不在状态,签完到后我就因为A题一个corner case没考虑到卡了快两个小时 然后好不容易搞过去徐神上来有狂WA E题,最后也是喜提+11 后面写的D题也是需要特判,好家伙又是快到比赛结束才看 ......
Gym 104270 The 2018 ICPC Asia Qingdao Regional Programming Contest (The 1st Universal Cup, Stage 9: Qingdao)
A. Sequence and Sequence B. Kawa Exam 可以发现,对答案会产生影响的只有割边,把所有边双缩起来,然后就是一个森林。 考虑一个树的时候怎么做,就是对于每条边求出这条边两端的众数个数,考虑线段树合并,每次动态维护子树内的众数和子树外的众数。 #include<iost ......
AtCoder Regular Contest 123 F Insert Addition
洛谷传送门 AtCoder 传送门 用 \((x, y)\) 表示 \(Ax + By\),那么这个等价于 SB 树。 那么直接在 SB 树上二分,遍历一遍找到 \(n\) 个点就好了。可以采用类似线段树查询的方式。 于是现在还剩下一个子问题:给定 \(a, b\),求 \(ax + by \le ......
[ABC256Ex] I like Query Problem
原题传送门 题意 区间整除,区间推平,查询区间和。 大家好啊,我喜欢暴力乱搞,所以这题我用暴力乱搞 AC 了。 首先观察到操作 \(1\) 的性质:首先保证了除数至少为 \(2\)(不然是 \(1\) 或者 \(0\) 的话也没啥意义啊),所以对一个数不断进行操作的话,每次数的大小至少会减少一半,减 ......
Problem - 616C - Codeforces
Problem - 616C - Codeforces C. The Labyrinth 如果是直接对\(*\)去跑dfs或者bfs的话无疑是会超时的 既然如此,那我们可以去对 \(.\) 跑搜索,将各个连通的 \(.\) 块标号并计算出连通块内的点的数量,然后去遍历\(*\)的时候只需要上下左右跑 ......
2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite GCHMAD
2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite 目录2022 China Collegiate Programming Contest (CCPC) Mianyang OnsiteVP 情况G - Let Them E ......
The 2021 China Collegiate Programming Contest (Harbin) JBEIDG
The 2021 China Collegiate Programming Contest (Harbin) 目录The 2021 China Collegiate Programming Contest (Harbin)VP概况J - Local MinimumB - Magical Subseq ......
Gym 104172 The 2023 ICPC Asia Hong Kong Regional Programming Contest (The 1st Universal Cup, Stage 2Hong Kong)
A. TreeScript 令 \(f_u\) 表示 \(u\) 及 \(u\) 子树中的节点都创建的最小数量。 如果 \(u\) 只有一个儿子,那么可以将子树最后一个节点存储在当前的 \(u\) 中,答案就是 \(f_v\)。 若 \(u\) 有多个儿子: 令 \(t=\max\limits_{v ......
AtCoder Regular Contest 127 F ±AB
洛谷传送门 AtCoder 传送门 非常妙的题。 先直观感受一下,显然当 \(M\) 大到一定程度后,\([0, M]\) 的所有数都能被取到。考虑 \(V \gets V + Ax + By\),其中 \(V + Ax + By \in [0, M]\)。如果 \(x, y\) 都是正数显然可以取 ......
KEYENCE Programming Contest 2019
A - Beginning 排序以后判断一下是否为 \(1,4,7,9\) 即可。 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=10; int a[N]; int m ......