educational codeforces together round

Quasi Binary---codeforces

# Quasi Binary ## 题面翻译 **题目描述** 给出一个数n,你需要将n写成若干个数的和,其中每个数的十进制表示中仅包含0和1。 问最少需要多少个数 **输入输出格式** 输入格式: 一行 一个数 n(1≤n≤10^6) 输出格式: 最少的数的个数,并给出一种方案。 ## 题目描述 ......
codeforces Binary Quasi

Codeforces Round 866 (Div. 2)(A~C)

A. Yura's New Name 题意 在字符串$s$中添加 "" 或者 "^",使得$s$中的任意字符都必须为 "^^" 或者 "^^" 的一部分,求最少要添加的字符数量 思路 当字符串头部为 "_" 时,一定要在前面添加1个字符 "^" 当字符串尾部为 "_" 时,一定要在后面添加1个字符 ......
Codeforces Round 866 Div

Educational Codeforces Round 110 (Rated for Div. 2)

题目链接 C 核心思路 这个题目其实我们可以转换为把当前串转换为完美串有多少种方案呢,也就是我们从前往后一步一步往完美串去构造我们的方案。 这个思路非常巧妙,我刚开始的思路局限于算贡献去了。 完全就脱离了正确的思路。 集合定义 $f[i][0/1]表示的是处理了前i个位置,并且当前位置是0的方案数$ ......
Educational Codeforces Round Rated 110

Codeforces Round 689 (Div. 2, based on Zed Code Competition)D.Divide and Summarize

题意: 我们给定包含n个正整数的数组,我们可以对这个数组执行一些操作之后,可以让数组内元素的和成为我们想要的数。 我们对数组的执行操作一共分为三个步骤,第一个步骤是我们首先计算出数组的中间值mid。这里mid的定义不是中位数也不是均值,而是最大值和最小值的均值。也就是mid = (min + max ......

阶梯网格计数模型 & Codeforces 1770G - Koxia and Bracket 题解

更差的阅读体验(bushi) 其实 2022 年省选前联考出过类似的套路,但当时太鸽了就没有总结。 阶梯网格计数问题是指以下一类问题: 问题:给定一个 $n$ 列阶梯状网格图,第 $i$ 列高度为 $c_i$(保证 $c_i$ 不降),每次可以向上或向右走一步,不能超出网格边界(即所有经过的点 $( ......
题解 网格 阶梯 Codeforces 模型

Math.ceil,Math.round,Math.floor区别

Math.ceil,Math.round,Math.floor区别 //向上取整 System.out.println("amt1=" + Math.ceil(71.01)); //四舍五入 System.out.println("amt2=" + Math.round(71.01)); //向下取 ......
Math round floor ceil

codeforces #864 div2 B

GCD Partition 这道题首先要解决一个问题,要把区间分成几块,可以证明分成两块是更优 首先我们假设把区间分成了m(>= 2)块 b1, b2, b3, ...,bm,则答案是gcd(b1, b2, b3,..., bm),则b1,b2是 gcd(b1, b2, b3,..., bm)的倍数 ......
codeforces div2 864 div

Educational Codeforces Round 147 (Rated for Div. 2) A ~ C

A. Matching 题意:   给定一个字符串,将其中的 ‘?’ 替换成数字,不含前导0,如果字符串前导为0,输出0.。 分析:   每个地方有10种可能方案,在特判一下第一位就行了。 ......
Educational Codeforces Round Rated 147

Educational Codeforces Round 147 (Rated for Div. 2)

Educational Codeforces Round 147 (Rated for Div. 2) 链接 Educational Codeforces Round 147 (Rated for Div. 2) A题 如果第一位数是0,直接打印0 如果第一位数是'?',有9个数可以选择,如果其他位 ......
Educational Codeforces Round Rated 147

[Educational Codeforces Round 147 (Rated for Div. 2)](https://codeforc.es/contest/1821)题解A~D

A: 思路: 首字母如果是0,直接输出0。 如果首字母是?,提供九种方案,之后每一个?提供10种方案。 void solve(){ string s; cin>>s; if(s[0]=='0'){ cout<<"0"<<endl; return ; } int ans=1; for(int i=0; ......

Codeforces #900D. Unusual Sequences(容斥原理,dp)

原题链接:https://codeforces.com/contest/900/problem/D 求序列a的个数,满足$\sum_{i=1}^{len}=y$并且$gcd(a_1,a_2...a_{len})=x$ 其中序列的长度不限 答案对$1e9+7$取模 首先可以分析出,当$x$不整除$y$ ......
Codeforces Sequences 原理 Unusual 900

练习记录-cf-Educational Codeforces Round 147 (A-D)

打的很烂的一场 C想了很久 D的贪心没有贪好 赛后一小时补起来了 谁是nc 我是nc! A. Matching 问有多少种情况能匹配 就计算?的个数 x10x10...... 如果第一个是? 那么就是9x10x10... 如果第一个是0 不能有前导0 就输出0 #include<bits/stdc+ ......

Codeforces Round 550 (Div. 3) F. Graph Without Long Directed Paths(dfs/染色)

https://codeforces.com/contest/1144/problem/F 题目大意: 给定n个点,m条边; 每一条边都连接了两个点。 现在需要我们染色,要求是做到所有有向图不包含长度为2或者更长的路径。 input 6 5 1 5 2 1 1 4 3 1 6 1 output YE ......
Codeforces Directed Without Round Graph

Educational Codeforces Round 132 (Rated for Div. 2)

题目链接 C 核心思路 这个题目有点经典,对于括号需要肯定第一个想法是想到栈。然后看有多少可以匹配。这里我们也照样采用栈的一个思考方式。 也就是使用$s1$来记录左括号减去右括号的数量,其实也就是已经匹配了的括号的数量。然后$s2$表示的是还不可以确定的问号的数量。 但是有一个边界:那就是)这样是不 ......
Educational Codeforces Round Rated 132

Codeforces Round 850 (Div. 2, based on VK Cup 2022 - Final Round) E. Monsters (hard version) 线段树二分

传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** * ......
线段 Round Codeforces Monsters version

Educational Codeforces Round 89 (Rated for Div. 2)

题目链接 C 核心思路 我们需要保证任意一个点出发都需要回文,所以我们的斜对角先必须的一致,什么意思呢:看下这个样例把。 1 0 1 0 1 0 1 0 1 比如这种(2,1)和(1,2) 就必须要和(2,3)的和(3,2)的相等。 这个斜对角的点有一个规律就是横纵坐标加起来就是相等的。 比如其中一 ......
Educational Codeforces Round Rated Div

Educational Codeforces Round 113 (Rated for Div. 2)

题目链接 B 核心思路 这个题目我觉得很好。 首先分析下吧,如果有人需要执行操作二那么我们肯定就是给他们都打上平局是最优的。 那么如果有人需要执行操作一呢,那么我们就可以把这些需要执行操作1的都搞一起。然后是他们成一个环。这样肯定就保证了每个人都会赢上一次。 C 核心思路 这个题目的性质其实就是我们 ......
Educational Codeforces Round Rated 113

Codeforces Round 866 (Div. 2)

A. Yura's New Name 一个简单的 dp,状态是$f[i][0/1]$表示前$i$位变成合法的且最后一位是^或_的最小代价。 如果是_只能从^转移过来,如果是^则都可以转移过来 #include <bits/stdc++.h> using namespace std; void sol ......
Codeforces Round 866 Div

Codeforces Dp

Zero Remainder Sum 采用辅助数组 $ ndp[m + 1][\frac{m}{2}][k] $ 来求出每一行中在当前第 $ i $ 列,取了 $ j $ 个物品,总和模 $ k $ 的余数是 $ t $ 的最大和是多少。用 $ dp[n + 1][k] $ 来转移每一行的状态。 # ......
Codeforces Dp

Codeforces 1810G - The Maximum Prefix(DP)

挺小清新的一道计数题。 首先先分析下这个“最大前缀和”,按照最朴素的思路就是扫一遍每个前缀,然后记录一下当前的 $sum$ 与前面的 $mx$,但是如果你一直陷在这个思路上你就似了,因为按照这个思路做,你 DP 状态里需要记录 $sum$ 和 $mx$ 两个维度,算上下标一维总共是 $n^3$,并且 ......
Codeforces Maximum Prefix 1810G 1810

Codeforces 793G - Oleg and chess(网络流+优化建图)

很 trivial 的一道题,评到 3400 非常不理解。 首先一眼二分图匹配,关键点在于建图。显然需要数据结构优化,关键是怎么个优化法,很 trivial 的想法是考虑每一行,将极长的白格对应的连边用线段树优化掉,但是这样显然是不行的,因为一个黑白交错的图就可以把它卡成 $n^2$。 考虑借鉴二维 ......
Codeforces chess 网络 793G Oleg

Codeforces Round 625 (Div. 1, based on Technocup 2020 Final Round) A. Journey Planning(dp)

https://codeforces.com/contest/1320/problem/A ###A. Journey Planning 题目大意: 给定一组数,问我们ai-aj==i-j的时候就可以把ai的值加起来,问我们可以凑到的最大总值是多少? input 6 10 7 1 9 10 15 o ......
Round Codeforces Technocup Planning Journey

Codeforces Round 866 (Div. 2) ABC

https://codeforces.com/contest/1820 ###A. Yura's New Name 题目大意: 给定一个字符串,每次这个表情^^或者这个表情^_^就是合法的 问我们这个字符串至少要添加多少东西使得怎么看都是合法的? input 7 ^______^ ___^_^^^_ ......
Codeforces Round 866 ABC Div

Codeforces Round 866 (Div. 2)(持续更新)

Preface 不知道为什么现在对不想打游戏刷B站什么的一点兴趣都没有,打开HBR就只想清下体力下线去写题 但学校的DS专题能抢一血的题都被抢的七七八八了,剩下几个难得要死都是些我OI时期都不会的东西(吉司机线段树、划分树之类的) 然后突然想起来昨天这场CF还没写博客,E明天再抽个时间想一下然后写吧 ......
Codeforces Round 866 Div

Codeforces Round 832 (Div2)

Swap Game Alice 和 Bob 两个人在玩游戏。 有一个长度为 $n$ 的序列 $a$,Alice 和 Bob 两人轮流完成一个操作,Alice 先开始。 每个人可以将数列的第一个数减 $1$,并将它与后面序列的一个数进行交换,如果一个人操作之前发现当前序列中的第一个数为 $0$,这个人 ......
Codeforces Round Div2 832 Div

Codeforces Round 764 (Div. 3) -- E. Masha-forgetful

** 题目大意:取去模板串中的子串可以组成一个给定的目标串,每个子串可以用无数次, 输出组成的所需的串的信息 题目中的取得子串必须 “>= 2” 很好的提示了我们, 想到一个式子 2 * x + 3 * y 可以等于任何数, 所以从之前的串都取长度为2, 为3。 在进行匹配。 ** struct n ......

Codeforces Round 856 (Div2)

Counting Factorizations 任何一个正整数 $m$ 都可以被唯一的分解为 $p_1^{e_1} \cdot p_2^{e_2} \ldots p_k^{e_k}$ 的形式。将正整数 $m$ 的唯一质数分解转化为一个长度为 $2k$ 的 可重集合 记为 $f(m)$。 $$ f(m ......
Codeforces Round Div2 856 Div

Codeforces Round 866 (Div. 2) A~C

这场,非常快落!是难得对中国选手友好的时间(17:05) A观察一下,发现在连续的___中插入^就好,然后特判一下首尾,发现很像小学奥数的那个植树问题哇( 注意特判一下只有一个^ #include<bits/stdc++.h> using namespace std; void solve(){ s ......
Codeforces Round 866 Div

骗分记录(1)-INOH Round 1

这场比赛算是骗分的最高境界了——排名#16! 首先看T1。 第一眼总司令。得到 $10$ pts。但作为骗分高手,不可能就此结束。于是继续。 注意到Sub0 $T=3$。每一组数据只有 $2$ 种情况 Yes 和 No。所以一共只有 $8$ 种情况。根据测试发现测试点#1 $n=8$,于是再枚举答案 ......
Round INOH

Codeforces Round 770 (Div. 2)题解

A 题目: 给定一个串,我们拥有他的一个反串,进行k次操作,每一次把当前的串加上反串加在后面,或者加在前面,问最后我们可以得到最多几种序列? 思路: 模拟一下会发现,当一个串是回文的,最终的结果一定是1。 如果最开始的串不是回文的,经过一次操作之后也会变为回文串。(所以k==0时输出1.k>0时输出 ......
题解 Codeforces Round 770 Div