codeforces country binary ralph

codeforces div1A

A. Circular Local MiniMax 题目翻译:给我们一个数组(循环的也就是1和n是相邻的),我们可以对数组进行任意调序,对于每个数b[i]要求满足b[i] < b[i - 1] && b[i] < b[i + 1] 或者满足b[i] > b[i - 1] && b[i] > b[i ......
codeforces div1A div1 div 1A

Codeforces Round 869 (Div.1 & Div.2) 题解

2A. Politics 因为编号为 $1$ 的人一定不会离开,那么最后留下的人一定要和编号为 $1$ 的人的所有参数都一致,所以计数即可。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext ......
题解 Codeforces Div Round 869

Codeforces Round 825 (Div. 2)——B

#include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" inline int gcd(int a, int b) { return b > 0 ? gcd(b, a % b) : a; ......
Codeforces Round 825 Div

Codeforces Round 863 (Div. 3)———E

题意:给定一个k,问由012356789组成的数字第k大的是多少 链接:Problem - E - Codeforces #include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" /* 思 ......
Codeforces Round 863 Div

Codeforces Round 855 (Div. 3)--E

题意: 给定一个k,可以任意次交换满足 | i - j | = k 或 | i - j |=k+1 的两个位置的元素 很容易发现有区间内的字符是可以任意交换的,但是一个个字符考虑太混乱了(就是这样子把脑袋搞晕了),从左考虑那么(1,n - k)这个区间可以任意交换,从右考虑(k + 1, n)这个区 ......
Codeforces Round 855 Div

Codeforces Round 855 (Div. 3)--D

题意: 给定一个字符串,删除其中连续两个字符,问有多少种不同字符串的情况 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" //开始时假设每个点都对答案有贡献,考虑什么时候没有贡献 ......
Codeforces Round 855 Div

Codeforces 1804H - Code Lock(状压 dp)

对于一种排列方案,答案显然等于相邻字符在环上对应的劣弧长度之和。 然后其实你可能会想到很多状压 / 折半搜索方法,包括但不限于枚举一半的信息然后折半搜后一半,但稍加思考会发现这些方案都避不开记录元素之间的相对顺序,而但凡涉及到这一点,复杂度都是阶乘起步。因此我们只能另辟蹊径。 考虑 $k$ 是偶数的 ......
Codeforces 1804H 1804 Code Lock

Codeforces 1799H - Tree Cutting(树形 dp)

思考的时候一直卡在不会在低于 $O(n)$ 的时间内储存一个连通块的 $siz$ 有关的信息,看了洛谷题解之后才发现我真是个小丑。 树形 DP。对于一条我们需要操作的边 $(i,fa_i)$,我们将其分为保留子树和删除子树两种类型,对于删除子树,我们在判定其是否合法时候改为判定删除的连通块大小是否为 ......
树形 Codeforces Cutting 1799H 1799

Codeforces 1815E - Bosco and Particle

首先,对于每个 $s_i$,我们只用保留其最小周期,证明显然。 同时以多个光电门为研究对象显然状态数过多,不方便统计。考虑一下连接不同光电门的纽带是什么:显然是相邻光电门之间的空隙。对于每个光电门 $i$,如果我们只保留 $i$ 作为唯一的光电门,那么显然有 $0\to 1$ 和 $1\to 2$ ......
Codeforces Particle 1815E Bosco 1815

Educational Codeforces Round 1

A. Tricky Sum 公式求出1 到 n的和,然后枚举二等整次幂。 #include <bits/stdc++.h> using namespace std; #define int long long void solve(){ int n; cin >> n; int sum = ( 1 ......
Educational Codeforces Round

Educational Codeforces Round 145 (Rated for Div. 2)

Preface 补题 A~D都能秒出,E没看出性质被薄纱了,F感觉是个丁真题随便讨论下就过了 后面看了下F的标算是个倍增,感觉Tutorial对性质挖掘的还不够的说 A. Garland SB题,设出现次数最多的颜色个数为$cm$,若$cm\le 2$则答案为$4$;若$cm=3$则答案为$6$,若 ......
Educational Codeforces Round Rated 145

CodeForces-858#C 题解

正文 ♦最坏时间复杂度:$\mathcal{O}(\lvert S\rvert)$ 本题十分简单,但请注意两个条件要同时满足。 因为要求分割的次数越少越好,所以只要连续的辅音字母长度不大于 2 就不需要分割。 由于辅音字母太多,只需要标记元音字母即可。 #include<iostream> #inc ......
题解 CodeForces 858

Codeforces Round 854 补题总结

Codeforces Round 854 补题总结 前言 昨天做这套题很不顺,今天补完题大概总结一下。 总结 Recent Actions 按题意模拟即可,考虑到前 $n$ 个数一定始终在后 $m$ 个数的前面,所以说当当前队列中如果没有出现 $x$ 而在第 $i$ 轮放进了 $x$,那么当前在队首 ......
Codeforces Round 854

Codeforces Round 868 Div 2

A. A-characteristic (CF 1823 A) 题目大意 要求构造一个仅包含$1$和 $-1$的长度为 $n$的数组 $a$,使得存在 $k$个下标对 $(i, j), i < j$满足 $a_i \times a_j = 1$。 解题思路 当有$x$个 $1$, $y$个 $-1$ ......
Codeforces Round 868 Div

Codeforces Round 868 (Div. 2)

Preface 恭迎废物hl666终于回到了他忠诚的蓝名之位 本来这场25min切完前三题而且没挂的时候感觉状态不错的,然后D被自己的一个假做法坑了1h 最后ztc想出了大概的构造方法后已经来不及写了,一些细节没考虑好直接爆炸 本来当时就有弃D开E的想法的,但可以E的题意在公告出来之前就已经读错了, ......
Codeforces Round 868 Div

二叉树Binary Tree

二叉树Binary Tree 1. 树的一些常用术语 2. 二叉树的概念 树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树; 二叉树的子节点分为左子节点和右子节点; 以下三种均为二叉树: 若该二叉树的所有叶子节点都在最后一层,且节点总数n == $2^k$ - 1,k为层数,则称为满二叉 ......
Binary Tree

Codeforces Round 868 (Div. 2) A-E题解

比赛地址 这把真不在状态,麻了,看来还得再练 A. A-characteristic 题意:给出n和k,要求构造只含1和-1数组a,存在k对(i,j)(i≠j),有a[i]*a[j]=1 Solution 令构造的数组有x个1和y个-1,那么其对于答案的贡献有 $$ x*(x-1)/2+y*(y-1 ......
题解 Codeforces Round 868 A-E

Codeforces Round 867 (Div. 3)(A~D)

A. TubeTube Feed 题意 给定时间 $t$ ,每个视频有一个价值 $b_i$,观看一个视频需要 $a_i$ 秒,跳过一个视频需要花费$1s$,求能观看完的价值最大的视频编号 思路 从前到后遍历即可,当 $a_i$ 小于 $t$,并且 $b_i$ 比当前价值 $val$ 大时,更新答案 ......
Codeforces Round 867 Div

Codeforces Round 867 (Div. 3)

Codeforces Round 867 (Div. 3) A - TubeTube Feed #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<string,int>PSI; co ......
Codeforces Round 867 Div

Codeforces Round 866 (Div. 1) C. The Fox and the Complete Tree Traversal (构造)

传送门 题目大意: ** 给定一个有n个点的树,我们可以任意选择一个点作为起点,这个点可以跳到跟自己距离为1或者距离为2的点,已经到达的点不能再到达(最终必须回到起点),询问是否存在一种方案可以从一个点出发经过所有的点最终再回到这个点来。** ** 输入一个整数n。紧接着输入n-1条边。** 大致思 ......
Codeforces Traversal Complete Round Tree

Codeforces Round 847 (Div. 3) G.Tokens on Graph (构造)

传送门 题目大意 ** 给定一个无向图,我们定义图中有四种点,一种是黑色的点表示终点,并且黑色的点始终是1号点,一种是红色的点,一种是灰色的点,最后一种就是没有颜色的点。** ** 游戏规则:我们必须移动任意一个灰色的点到相邻的点上,如果灰色的点移动到了红色的点上,那么我们可以移动其他灰色的点继续上 ......
Codeforces Tokens Round Graph 847

Codeforces Round 867 (Div. 3)

A. TubeTube Feed #include <bits/stdc++.h> using namespace std; int main() { int q; cin >> q; while (q--) { int n, t, res = -1, id = -1; cin >> n >> t; ......
Codeforces Round 867 Div

Educational Codeforces Round 147 (Rated for Div. 2)

Preface 补题 这周比赛挺少,不过后面可能就很少有时间补以前的比赛了的说 现在除了要做学校的集训专题外,还要刷一下蓝桥杯国赛的题,可以说是很忙碌了 而且由于JAVA的期末考试要来了,为了熟悉下语法以后补题的时候前面的题目可能会用JAVA来写(其实我写的JAVA看起来和C++真没啥区别) A. ......
Educational Codeforces Round Rated 147

Codeforces 1801G - A task for substrings(ACAM)

首先,显然答案等于 $[1,r]$ 中符合条件的子串个数减去 $[1,l-1]$ 中符合条件的子串个数减去跨 $l-1,l$ 的子串个数。前面两部分的处理是容易的,直接建出 ACAM 然后每加入一个字符就在上面条转移边即可。 考虑怎么处理跨中间的贡献。相当于我们要找 $[1,l-1]$ 的一段后缀与 ......
Codeforces substrings 1801G 1801 ACAM

Codeforces 1781G - Diverse Coloring(构造)

vp 时候想到大致思路了,但是死活调不对,赛后套取 cf 的数据调了好久才过/ll 首先直觉告诉我们答案不会太大。稍微猜一猜可以猜出除了四个点的菊花之外答案都是 $n\bmod 2$,下面我们来通过构造证明这件事情。 首先,链的情况是 trivial 的,直接根据奇偶性间隔染色即可。如果不是链,那么 ......
Codeforces Coloring Diverse 1781G 1781

Educational Codeforces Round 147(A~E)(补提记录)

Educational Codeforces Round 147(Rated for Div. 2) A: 题意: 每个问号都能被替换成0~9,求替换每个问号后所能的到的数的数量 注:所得到的序列不能有前导0 思路:先判断第一位是什么,作为特判,为0,则不能得到任何数输出0,为?则答案×9再依次枚举 ......
Educational Codeforces Round 147

Codeforces Round 867 (Div. 3)(A-C)

#A. TubeTube Feed 签到题 ##思路 往后走,每次减一,记录当前所能得到最大的bi ###完整代码 #include<bits/stdc++.h> using namespace std ; #define ll long long inline ll read(){ ll s=0 ......
Codeforces Round 867 A-C Div

Codeforces 103446A - Strange Functions(凸包)

首先,根据 $\arctan$ 函数的性质,一个函数在 $x$ 处的取值是所有 $n$ 个函数中最小的,当且仅当 $|k_i\sec(x-a_i)|$ 是所有 $n$ 个函数中最小的。 和差角公式把 $\sec$ 拆开得到 $|\dfrac{k_i}{\cos(x)\cos(a_i)+\sin(x) ......
凸包 Codeforces Functions 103446A Strange

Codeforces 1804G - Flow Control(势能分析)

成功把这道小清新题做成了一道大数据结构题,我的评价是我是小丑。 首先显然要离散化对时间轴扫描线。这个除以 $2$ 下取整的操作显然启示我们往势能的方向思考,也就是我们希望能够找到某个变量,使得这个变量的均摊变化次数在可接受范围内。但是直接以每个元素的值为势能好像也不太对,因为一次全局除以 $2$ 之 ......
势能 Codeforces Control 1804G 1804

Educational Codeforces Round 147

A 题意 思路 有前导零结果直接为0,出现在第一位的**?贡献为9**,其他地方的**?贡献为10**。 代码 #include<bits/stdc++.h> using namespace std; using ll=long long; char s[10]; int main() { int ......
Educational Codeforces Round 147