divisor 1864c chain cf
CF1020 Codeforces Round 503 (by SIS, Div. 2)
CF1020A New Building for SIS 分类讨论 \(a,b\) 两个端点的几种情况就好了,特判 \(t_a=t_b\) 的情况。 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> usi ......
CF1036 Educational Codeforces Round 50 (Rated for Div. 2)
CF1036A Function Height 答案为 \(\lceil \frac{k}{n}\rceil\)。 #include<iostream> #include<cstdio> using namespace std; long long n,k; int main() { scanf(" ......
CF1072 Codeforces Round 517 (Div. 2, based on Technocup 2019 Elimination Round 2)
CF1072A Golden Plate 第 \(i\) 个矩形的周长为 \(2(w - 4(i - 1))+2(h - 4(i - 1))-4\),枚举 \(i\) 求和。 #include<iostream> #include<cstdio> using namespace std; int n ......
CF1079 Codeforces Round 522 (Div. 2, based on Technocup 2019 Elimination Round 3)
CF1079A Kitchen Utensils 令 \(c_i\) 表示餐具 \(i\) 出现的数量,最小的餐具套数为 \(t=\lceil \frac{\max\{c_i\}}{k}\rceil\),按照这个计算就好了。 #include<iostream> #include<cstdio> # ......
CF1162 Codeforces Round 557 (Div. 2) [based on Forethought Future Cup - Final Round]
CF1162A Zoning Restrictions Again 每个位置越高越好,暴力模拟即可。 #include<iostream> #include<cstdio> using namespace std; const int N=55; int n,h,m; int a[N]; int m ......
CF957 Codeforces Round 472 (rated, Div. 2, based on VK Cup 2018 Round 2)
CF957A Tritonic Iridescence 如果原序列中有两个相同的字符,显然不合法。 如果开头或者结尾为 ?,或者有两个连续的 ?,或者一个 ? 两边的字符不同显然合法。 否则一定不合法。 #include<iostream> #include<cstdio> using namesp ......
CF992 Codeforces Round 489 (Div. 2)
CF992A Nastya and an Array 答案为非零数的个数。 #include<iostream> #include<cstdio> #include<map> using namespace std; const int N=100005; int n; int a[N]; map< ......
CF996 Codeforces Round 492 (Div. 2) [Thanks, uDebug!]
CF996A Hit the Lottery 直接贪心尽可能的分配到 \(k_5\),剩下的依次分配给 \(k_4,k_3,k_2,k_1\)。 #include<iostream> #include<cstdio> using namespace std; int n; int k[6]; int ......
CF364D Ghd 题解
CF364D Ghd 题解 题目大意 给定一个长度为 \(n\) 的序列 ,你需要从中选出一个元素个数不少于 \(\left\lceil{\frac{n}{2}}\right\rceil\) 的子序列,使得这个子序列中所有元素的 \(\gcd\) 最大。 分析 数据范围吓人。 \(10^6\),但是 ......
[题解] CF1882D - Tree XOR
CF1882D - Tree XOR 知识点:换根 DP 。 主要难点是要思考如何操作使得代价最小,这个过程是一个贪心的过程。想到怎么操作,计算答案的过程就是一个板子换根了。 题意 给定一颗 \(n\) 个节点的树,点 \(i\) 具有权值 \(a_i\) 。现在需要你不断执行以下操作,使得树上所有 ......
[题解]CF1878E Iva & Pav
CF 是没题考了吧,每场都出二进制拆位。 思路 首先我们可以二分 \(r\),因为 \(r\) 越大,按位与一定只会小于等于 \(r\) 小的情况。 那么,我们可以用 \(num_{i,j}\) 记录 \(a_j\) 第 \(i\) 位的二进制情况。 如果我们对 \(num_{i,j}\) 做一个前 ......
CF1878 A-G 题解
前言 赛时代码可能比较难看。 A 判定 \(a\) 中是否有 \(k\) 即可。 赛时代码 B 奇怪的构造题。 令 \(a_1=1,a_2=3\),其他项由上一项加一开始枚举判定可行性即可,可以简单证明时间复杂度为 \(O(n)\)。 赛时代码 C 容易发现当 \(x\in \left[\dfrac ......
CF1861E Non-Intersecting Subpermutations
原题 翻译 一道很显然是 \(dp\) 的题 我们设 \(f_{i,j}\) 表示钦定了前 \(i\) 个数,其中 \([i-j+1,i]\) 这些数中没有重复(就是说有成为 \(1\sim K\) 的排列的可能性)时的成本之和 我们可以用刷表法来表示这个 \(dp\) 的转移方法: \[\begi ......
CF1878D Reverse Madness
观察式子发现结论。 有这样一个结论,由 \(x\) 得到的反转区间 \([a,b]\) 的对称轴就是 \(x\) 所在的题给区间 \([l,r]\) 的对称轴,且 \([a,b]\subset [l,r]\)。 这个结论有什么用?如果没有这个结论,我们离线 \(q\) 次询问得到的是一系列散乱的反转 ......
CF1791G2 Teleporters (Hard Version) 题解
CF1791G2 Teleporters (Hard Version) 题解 题目大意 题意挺清楚的,给个传送门吧。 分析 比较简单的贪心题,很容易就能看出来是贪心,也很容易就能看出来贪什么。 我没做简单版(Teleporters (Easy Version)),但是我去看了一眼。那个也非常简单,不 ......
CF1777E
problem & blog 反转的边最大权值最小,想到二分。 于是二分代价即可。 反转代价小于二分的代价的边可以反转,所以再建一条反向边即可。 在 DAG 中,存在一个点可以到达所有的点的条件是入度为 \(0\) 的点有且只有一个。 所以二分判断的时候将可以反转的边转化为无向边,然后缩点,形成 D ......
CF1882 div.2 做题记录
A 题面 扫一遍,令 \(b_i\rightarrow b_{i-1}+1\),若 \(b_i=a_i\),\(b_i\rightarrow b_i+1\)。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define ......
CF1882C Card Game
某种程度上的抽卡游戏? 有这样一个结论:一个后缀中\([i+1,n]\) 中所有的正数都可以被取到,所以维护一个正数后缀和 \(s_i\),枚举每个位置 \(i\),如果 \(i\) 为奇数,答案对 \(a_i+s_{i+1}\) 取 \(\max\),否则对 \(s_{i+1}\) 取 \(\ma ......
CF1879D Sum of XOR Functions
异或和按位处理的典型例题。 要求所有子区间异或和乘区间长度的总和,朴素的方法是 \(O(n^2)\) 地枚举区间,显然无法通过。 因为涉及异或和,而异或运算不进位,故自然地想到把 \(a_i\) 写成二进制形式,单独研究每一位的贡献,最后再合并。这是处理此类问题的一般思路。 1. 二进制拆分 比方说 ......
Educational Codeforces Round 155 D (CF1879_D)
题目大意 给一个长度为 \(n\) 的数组,求 \(\Sigma_{i=1}^{n} \Sigma_{j=i}^{n} 区间异或和 \times (j-i+1)\) 其中 \(n\leq 3e5,~a[i]\leq 1e9\) 分析 首先注意到由 \(l\) 到 \(r\) 的区间异或和可以转化为 ......
CF1106D Lunar New Year and a Wander 题解
CF1106D 题解 暑期学校军训第一天模拟赛的题,相对而言比较简单 题意: 题意其实很简单,就是有一个无向图,需要你从\(1\)号节点出发,然后一次遍历所有的点,输出其中字典序最小的遍历 思路 说说思路吧,这题既然要遍历图上所有点,那首先就会想到 \(\texttt{BFS}\) 或 \(\tex ......
CF1863 题解
CF1863 题解 A 条件很简单:如果总共的 '+' 号加上开始上线人数不到 \(n\) 人,就不可能。实时记录人数,如果某一时刻大于等于 \(n\) 人在线上,就一定是。剩余情况则可能。 #include<bits/stdc++.h> using namespace std; int main( ......
CF1869D1 Candy Party (Easy Version)
Link 首先我们想这样的问题,为什么强调是\(2^x\) 呢?我们记平均值是 \(avg\),然后可以注意到,应该有一下式子被满足 \(a_i-2^{x_i}+2^{y_i}=avg\),移项,可以得到\(a_i-avg=2^{y_i}-2^{x_i}\),而这个式子中\(x_i\)和\(y_i\ ......
cf1879 edu 做题记录
A 题面 判断有没有两维均大于等于第一个人的人即可。有就无解,否则答案为 \(s_1\)。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define ll long long #define pii pair<int, ......
CF1868C Travel Plan
注意到树的深度很小,所以路径长度也很小,可以先 DP 出每种路径长度的数量。 令 \(f_{i,j,0/1}\) 表示深度为 \(i\) 的满二叉树,长度为 \(j\) 的路径,一个端点不一定/一定在根结点的数量。跨越左右子树的转移就暴力枚举两侧深度。当然这里可以直接算。 但原树只是完全二叉树。观察 ......
开学补题(cf版)(第四周)
Problem - G - Codeforces 题意:给你一个字符串,里面只包含A或者B两个字符 然后给你两种操作,一种是把AB变成BC,另外一种是把BA变成CB 然后问你给定的字符串最多可以变多少次 题解:我们可以发现无论你怎么搞,都要消耗一个a,所以看看B的附近有多少个A就有几次 但是假如B不 ......
CF_EduRound155小丑寄
一句话总结:A题理解错了,数据又水,所以寄了。 过程: 22:35 开题。 22:40 怎么还没加载出来??急急急 22:42 哦,严格大于,但是主宾对调了,乐乐乐乐乐乐乐,cout << ans;\(\rightarrow\)cout << ans - 1; 22:45 一 发 过 。 。 。 2 ......
[CF1810G] The Maximum Prefix
题目描述 You're going to generate an array $ a $ with a length of at most $ n $ , where each $ a_{i} $ equals either $ 1 $ or $ -1 $ . You generate this a ......
[CF704D] Captain America
题目描述 Steve Rogers is fascinated with new vibranium shields S.H.I.E.L.D gave him. They're all uncolored. There are $ n $ shields in total, the $ i $ -t ......