codeforces partition artistic 1603

Educational Codeforces Round 129 (Rated for Div. 2)

Educational Codeforces Round 129 (Rated for Div. 2) B可以看作一个无限长的序列由a进行重复拼接,我们直接计算一下是哪个即可。 C判断无解之后直接模拟即可 D IDA*就行每次从大到小搜,实际非常快。 #include<cstdio> #includ ......
Educational Codeforces Round Rated 129

Codeforces Round 906 Div. 1 (CF1889)

貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。 A. Qingshan Loves Strings 2 Description 定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\ ......
Codeforces Round 1889 906 Div

Codeforces Round 907 (Div. 2)

Codeforces Round 907 (Div. 2) B题注意到每次都会至少下降1,所以不会超过30次,直接O(30n)即可 C题感觉可能比D和F还要思维一些。 肯定是尽量多积累combo一些然后一次清空,那么我们能清空的最大值就是当前的最大值,所以每次用小的来累计combo,然后消除当前的最 ......
Codeforces Round 907 Div

Codeforces Round#907 解题报告

只更新 DEF 看了一眼standings榜一居然十二分钟写了一个剖分,感觉有点猛,仔细把代码都看了一遍发现是开黑的。逆天。 比上一场 div2 质量不知道低到哪里去了。 D 对于不同的 \(f(x)\) 一段一段求,\(f(x)\) 一共 \(\log\) 种,指数也是 \(\log\) 种。全都 ......
Codeforces 报告 Round 907

Codeforces Round 906 (Div. 2)A-E1

A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。 时间复杂度:\(O(nlogn)\) 1 void sol ......
Codeforces Round 906 A-E Div

Codeforces Round 906

tilian 代码很长 但是思路很清新 我们发现k=2 意思我们只用考虑sum[i]<=2的地方 不从天入手而是反而考虑这些个 sum[i]<=2 的地方 sum[i]2 这个地方被两个区间cover过 我们可以算出这两个区间的相交的<=2的数量+这两个区间<=1的数量 sum[i]1 这个地方被一 ......
Codeforces Round 906

Codeforces Round 895

提炼 感觉这种题还是很金典的 我们看到乘积 就应该想到其很容易爆 而我们省1的话 也最多就是2e5数量级的 我们为了省事不用算上界 可以直接把这个上界设为1e9 也不会爆LL 只要乘积突破这个上界 我们就肯定要是有旁边的 大于1的数 我们都要吃掉 因为增量都超过了1e9那么多 我们只要算出左右两边 ......
Codeforces Round 895

codeforces 1829G. Hits Different 容斥原理+记忆化搜索

题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d ......
codeforces Different 原理 记忆 1829

CodeForces 1246F Cursor Distance

洛谷传送门 CF 传送门 发现一个性质:能跳不超过 \(j\) 步到达 \(i\) 的所有点形成一段区间。设这这段区间为 \([L_{i, j}, R_{i, j}]\)。 那么答案即为: \[\sum\limits_{i = 1}^n \sum\limits_{j = 0} n - R_{i, j ......
CodeForces Distance Cursor 1246F 1246

Codeforces Round 906 (Div. 2) A-E1

比赛地址 A. Doremy's Paint 3 题意:给出一个数组\(b\),问能否通过重新排序使得数组满足\(b_1+b_2=b_2+b_3=...=b_{n-1}+b_{n}\) Solution 首先判断元素个数 如果是1,则满足条件 如果是2,需判断不同元素个数的差是否小于等于1 其余的均 ......
Codeforces Round 906 A-E Div

Codeforces Round 904 (Div. 2) C. Medium Design(前缀和+差分)

Codeforces Round 904 (Div. 2) C. Medium Design 思路: 因为出现的线段应该为不相同的线段,所以最小值应该为 \(1\) 或 \(m\) 因此我们可以通过差分储存线段范围内的加值,再用前缀和表示这个范围内的最大加值 sl为不包含\(1\)的线段的差分,sr ......
前缀 Codeforces Design Medium Round

CodeForces 1887D Split

洛谷传送门 CF 传送门 \(a_l, a_{l + 1}, \ldots a_r\) 是好的当且仅当 \(\exists k \in [l, r - 1], \max\limits_{i = l}^k a_i < \min\limits_{i = k + 1}^r a_i\),称此时的 \(k\) ......
CodeForces 1887D Split 1887

Codeforces Round#905 解题报告

按理来说最近开始了一天一套 div2 计划,第一天做了一套 Div1,第二天做了 hustfc,第三天因为要赶 latex 期末考试,所以什么也没做。 明天写一下 hustfc 比较牛的几题。 A 暴力怎么做,是不是加加加,然后判断。 B 本质上是让长度为 \(i\) 的后缀全是 \(0\) 那么找 ......
Codeforces 报告 Round 905

Codeforces Round 904 (Div. 2)

A. 没想到是暴力,做的很晚 B. 手玩一下即可 C. Medium Design 给定一个长为 \(n\) 的数组 \(a\) ,和若干条线段 \([l_i,r_i]\) ,你可以选择这其中的任何若干条线段,并让 \(a_l\sim a_r\) 均 \(+1\).请你计算可以得到的 \(\max( ......
Codeforces Round 904 Div

「题解」Codeforces Round 905 (Div. 3)

before 终于有一篇题解是一次性更所有题的了。 A. Morning Problem A. Morning Sol&Code 根据题意模拟即可。 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { retu ......
题解 Codeforces Round 905 Div

分区函数 Partition By 与 row_number() 的用法 & 排序rank()的用法详解(获取分组(分区)中前几条记录)

partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。 准备测试数据: create t ......
row_number 函数 Partition number rank

Codeforces Round 905 div2 F题

记答案为\(ans_i\),表示从1到i次修改出现的字典序最小的数组a, \(c\)数组表示\(ans_i\)出现之后,所有修改的累加和。用一个vector存一下\(ans_i\)之后的所有修改。从1到q遍历每一次修改时,对\(c\)数组进行区间赋值操作,如果\(c\)数组中第一个不为0的数<0,那 ......
Codeforces Round div2 905 div

「解题报告」Codeforces Round 653 (Div. 3)

A. Required Remainder You are given three integers \(x, y\) and \(n\). Your task is to find the maximum integer \(k\) such that \(0 \le k \le n\) that ......
Codeforces 报告 Round 653 Div

Codeforces Round 905 (Div. 2)

Preface 周日晚上Div1,2,3同乐,但我不想打Div1,同时第三个号由于只打了两场没够到Div2的门槛,因此刚好打不了Div2,遂玩了一晚上LOL 今天补了下这场题感觉难度偏低,E之前的题都比较签,F刚开始没想到转化成差分最小准备去写扫描线+线段树了,后面发现其实可以写的很简单 A. Ch ......
Codeforces Round 905 Div

CodeForces 946F Fibonacci String Subsequences

洛谷传送门 CF 传送门 duel 的时候差点不会 2400 了。 套路地,考虑每个 \(F(x)\) 中与 \(s\) 相同的子序列的贡献。设这个子序列为 \(F(x)_{p_1}, F(x)_{p_2}, F(x)_{p_3}, \ldots, F(x)_{p_n}\)。 我们想要它成为一个子序 ......

Codeforces 1862G 题解

传送门 题解 因为有这个操作:将序列 \(a\) 加上 \(\{n, n - 1, \cdots, 1\}\),考虑差分。 那么显然每次操作会将差分数组中的每个元素减去 \(1\),如果差分数组中有 \(0\),就会把 \(0\) 删除。 所以可以发现差分数组中剩下的一定是操作前的最大值。 由于操作 ......
题解 Codeforces 1862G 1862

Educational Codeforces Round 127(CF1671 D~E) 题解

D. Insert a Progression 题目链接 可以瞪出来的一个结论就是当我们在位置 \(p\) 插入了一个数 \(x\) 时,如果存在一对 \(l,r\) 满足 \(l<p\),\(r>p\) 且 \(x\in[a_l,a_r]\),那么我们插入的这个 \(x\) 就不会对序列的答案产生 ......
题解 Educational Codeforces Round 1671

Codeforces Round 886 (Div. 4) 题解

link 我为什么还要 vp div4 场。。。 A 直接找最大的两个判断一下。 void solve() { int a[3]; cin >> a[0] >> a[1] >> a[2]; sort(a, a + 3); if(a[2] + a[1] >= 10) cout << "YES\n"; ......
题解 Codeforces Round 886 Div

Codeforces Round 905 (Div. 3)

Codeforces Round 905 (Div. 3) A. Morning 解题思路: 首先\(4\)个数字都要打印出来,所以\(ans\)起始值为\(4\)。 接着就是从左向右移动绝不回头,鼠标移动的距离和就是两两数字之差。 注意:这里\(0\)位置其实是\(10\). 代码: #inclu ......
Codeforces Round 905 Div

Codeforces Round#905 解题报告

由于是解题报告不是过题报告,所以理所当然的放弃了后三题代码的写。 感觉这场 Div1 D 是 cyh 的菜,E 是 gjk 的菜。我负责菜。 只写 Div1 题的题解。 A 双指针可以做 \(m=1\) 你发现随便换 \(a_1\) 答案最多减少 \(1\),而且 \(a_1\) 越趋向于减少,所以 ......
Codeforces 报告 Round 905

Codeforces Round 905 (Div. 2) D1. Dances (Easy version)(贪心+二分)

Codeforces Round 905 (Div. 2) D1. Dances (Easy version) 思路: 对于 \(a\),它的头默认为 \(1\),则 \(a_0\) = \(1\) 对于排完序的 \(a\) 与 \(b\) 数组 最优为从 \(a\) 的结尾删除,从 \(b\) 的 ......
Codeforces version Dances Round Easy

「解题报告」Codeforces Round 905 (Div. 3)

A. Morning You are given a four-digit pin code consisting of digits from \(0\) to \(9\) that needs to be entered. Initially, the cursor points to the ......
Codeforces 报告 Round 905 Div

Codeforces Round 905 (Div. 2) C. You Are So Beautiful(数据结构)

Codeforces Round 905 (Div. 2) C. You Are So Beautiful 定义: 设数组 abcd 子数组定义:从原数组砍去前面若干元素,后边若干元素,剩余的数组。如:bc、ab 子序列定义:从原数组删除若干元素,剩余元素拼凑一起,组成的数组。如:ac、bd 思路: ......

Educational Codeforces Round 144(CF1796 D~E) 题解

D. Maximum Subarray 题目链接 十分钟秒了一道 *2000,非常爽,但是个人感觉确实非常简单。 下面令 \(b_i=a_{i}-x\),\(b_i'=a_i+x\) 。 因为 \(k<=20\),因此考虑一个复杂度与 \(k\) 相关的做法。 不妨 dp:设 \(f_{i,j,0/ ......
题解 Educational Codeforces Round 1796

Codeforces Round 905 (Div. 3)

E. Look Back 因为每次都是2,可以推出x<=y2^(n),转化成 x/y<=2^(n),求n直接取对数即可 注意: 1.答案很大要开LL 2.不要直接乘,会爆LL,直接利用原式即可,如果后面的大,就减去大多少的对数 3.记得向上取整 点击查看代码 #include<bits/stdc++ ......
Codeforces Round 905 Div