约数 区间codeforces divisors

Educational Codeforces Round 156 (Rated for Div. 2) ABCD

Educational Codeforces Round 156 (Rated for Div. 2) ABCD A. Sum of Three 题意:给定正整数 \(n\),判断是否存在正整数 \(a\),\(b\),\(c\) 满足: \(a+b+c=n\)。 \(a\),\(b\),\(c\) ......
Educational Codeforces Round Rated ABCD

Codeforces Round 904 (Div. 2)

\(A. Simple Design\) https://codeforces.com/contest/1884/submission/233628914 \(B. Haunted House\) https://codeforces.com/contest/1884/submission/2336 ......
Codeforces Round 904 Div

区间dp

1.acwing 282石子合并问题 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int n; 5 const int N = 310; 6 int s[N]; 7 int f[N][N]; 8 9 int main () 10 { 11 ......
区间

Codeforces Round 910 (Div. 2) - D

目录D. Absolute Beauty Codeforces Round 910 (Div. 2) D. Absolute Beauty 观察可知,只要当交换的 \(i\) 和 \(j\) 满足 $ max(a_i, b_i) < min(a_j, b_j)$ 或者 $ min(a_i, b_i) ......
Codeforces Round 910 Div

【区间 dp】UVA1331 最大面积最小的三角剖分 Minimax Triangulation 题解

UVA1331 区间 dp。 有一个很经典的问题:给定一个凸多边形,求它的最优三角剖分,对每个三角形规定一个权函数 \(f(i,j,k)\),求所有剖分方案中最大的权值。 发现这个东西不好直接入手。但是这个东西与矩阵最优链乘是相似的。考虑区间 dp。因为随意的转移是难以维护的,维护区间信息就等于强制 ......
题解 区间 Triangulation 面积 Minimax

CodeForces 合集第三弹

这个合集主要是近期的 CodeForces 比赛题。 1898. Codeforces Round 910 (Div. 2) https://codeforces.com/contest/1898 A. Milica and String 很容易发现答案不超过 \(1\),然后分类讨论当前 B 的个 ......
CodeForces

Codeforces Round 785 (Div. 2)

A - Subtle Substring Subtraction /* * __ ~~~~~~~~~~~ ___ * . . ~~// ...... __--~ ~~ * -. \_|// |||\\ ~~~~~~::::... /~ * ___ _ _-~o~ \/ ||| \\ _/~~- * ......
Codeforces Round 785 Div

Codeforces Round 908 (Div. 2)

Preface 补一下之前期中考落下的CF yysy因为这学期又开始断电了,所以除了周五周六晚上的CF可能都不一定会去打,都会以后面补题为主 A. Secret Sport 由于题目保证给出的状态合法,因此直接输出最后一个字符即可 #include<cstdio> #include<iostream ......
Codeforces Round 908 Div

Codeforces Round 910 (Div. 2)

Codeforces Round 910 (Div. 2) 基本情况 做A题的速度比之前快多了,大概20分钟搞定。 B题想了一个贪心错解,想用链表实现,但是不熟练,实现太慢,而且还被hack了。 但是自己hack掉了,造数据上进步。 B. Milena and Admirer 贪心思路 发现一个大于 ......
Codeforces Round 910 Div

Codeforces Round 910 (Div. 2)

\(A. Milica and String\) https://codeforces.com/contest/1898/submission/233431132 \(B. Milena and Admirer\) https://codeforces.com/contest/1898/submis ......
Codeforces Round 910 Div

Codeforces Round 909 (Div. 3)

Codeforces Round 909 (Div. 3) 基本情况 第一次在 CF 上 AC 了超过一道题。(毕竟是Div3) B 题卡住了很久。 D 没有深入思考。 [B. 250 Thousand Tons of TNT](Problem - B - Codeforces) 一开始死活过不了的 ......
Codeforces Round 909 Div

关于区间连续段问题 (析合树)

有部分题目需要处理关于区间连续段的问题(一般来说,对于一个排列,如果一个区间的值连读,就为一个连续段。)区间连续段看似不太好维护,其实有一种处理它的利器:析合树。(也可能只是析合树的思想),就能方便的维护这一个东西。 析合树 其实这个名字不重要 ......
区间 问题

Educational Codeforces Round 13 E

tilian 最开始看错了以为是 可以任意选择两人or选择一人胜出 但题意是 可以选择下一个擂主是谁 考虑dp的话 我们显然需要记录一个state以及当前擂主是谁 转移就是 dp[state][i]=max(dp[state][i],dp[state(1<<j)][j]*a[i][j]+dp[sta ......
Educational Codeforces Round 13

Codeforces Round 909 (Div. 3) A-E

Codeforces Round 909 (Div. 3) A. Game with Integers 题意: 两人轮流操作,可以加一或减一,若结果能被3整除则输出First,否则输出Second 思路: 若n不能被3整除,则第一个人可以直接通过加一或减一使结果被3整除,反之则一定不能 代码: #i ......
Codeforces Round 909 A-E Div

练习记录-cf-Codeforces Round 909 (Div. 3)(A-G)

好久没打div了 然后思维太差 现在被抓回来继续打了QWQ 终于被我逮到一场G数据结构的 ak了 既然ak了就开心地写下题解 别被hack别被hack别被hack 这场挺简单的 之前打的div3都好难qaq A. Game with Integers 题意:给一个数字,两人轮流操作,可以+1或者-1 ......
cf-Codeforces Codeforces Round 909 A-G

cf1864C. Divisor Chain

https://codeforces.com/contest/1864/problem/C 思维越来越僵化了 假如\(n=2^k\),直接每次/2就行。 否则,我们可以考虑如何转化成上面的情况 令\(n=2^k x\),那么我们显然可以转移到\(n=2^k (x-1)\),因为x是奇数,所以2的次幂 ......
Divisor Chain 1864 cf

用矩阵乘法推导区间覆盖区间历史和

区间加区间历史和,在网上的博客已经烂大街了。但还没有区间覆盖区间历史和。 众所周知,我们一般把线段树上维护的分类为信息与懒标记。用矩阵乘法的角度来看就是 I 和 T 两个矩阵。 线段树上,我们要处理信息与信息合并,信息与懒标记合并,懒标记与懒标记合并。 信息与信息合并就是矩阵相加。其他两个是乘。 于 ......
区间 乘法 矩阵 历史

CodeForces 1709F Multiset of Strings

洛谷传送门 CF 传送门 考虑若确定了所有 \(c_s\),如何计算集合最大大小。 下文令原题面中的 \(f\) 为 \(m\)。 发现我们可以类似倒推地确定。比如若 \(n = 3\),\(c_{00} = \min(c_{000}, c_{001})\),\(c_{01} = \min(c_{0 ......
CodeForces Multiset Strings 1709F 1709

区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明

区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。 算法设计思路 红黑树的拓展 在红黑树上维护结点属性\(min, max\): \(min\)表示该结点及其所有后代结点中的区间低端的最小值。 \(max\)表示该结点及其所有后代结点中的区间高端的最大值。 在插入时,对结点路上 ......
区间 复杂度 正确性 算法

CodeForces 1895G Two Characters, Two Colors

洛谷传送门 CF 传送门 要求最大化收益加上支出,又因为每个字符有染红和染蓝两种选择,考虑最小割模型。可以看成是一开始先获得 \(r_i + b_i\) 的收益,然后对于每个 \(0\),连边 \((S, i, b_i), (i, T, r_i)\);对于每个 \(1\),连边 \((S, i, r ......
CodeForces Characters Two Colors 1895G

Educational Codeforces Round 94 (Rated for Div. 2) D. Zigzags 题解

题意 给你一个数组 \(a1,a2…an\) 请计算有多少个四元组 \((i,j,k,l)\) 符合以下条件: \(1 <= i < j < k < l <= n\) \(a_i=a_k \ \&\&\ a_j=a_l\) \(4<=n<=3000,1<=a_i<=n\) \(input\) 2 5 ......
题解 Educational Codeforces Zigzags Round

蓝桥杯管道 -- 二分, 区间覆盖

蓝桥杯管道 -- 二分, 区间覆盖 原题链接 参照执梗大佬的代码, 我太菜了wuwuwu...... import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.S ......
蓝桥 区间 管道

CodeForces 1895E Infinite Card Game

洛谷传送门 CF 传送门 容易转化成经典的有向图博弈模型。每张牌建一个点,若 \(x\) 能打败 \(y\) 就连一条 \(x \to y\) 的边。入度为 \(0\) 的点为必败态,之后类似拓扑排序倒推即可。 具体就是若存在边 \(u \to v\),若 \(u\) 为必败态则 \(v\) 为必胜 ......
CodeForces Infinite 1895E 1895 Card

代码随想训练营第三十六天(Python)| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: intervals.sort(key=lambda x: x[0]) count = 0 for i in r ......
区间 训练营 随想 字母 代码

CodeForces 1895F Fancy Arrays

洛谷传送门 CF 传送门 看到题目感觉很怪,没有什么很好的直接做的办法。于是考虑容斥,\(\min a_i \le x + k - 1\) 的方案数减去 \(\max a_i < x\) 的方案数即为答案。 前者的方案数是好算的。注意到只要确定了 \(\min a_i\) 和差分数组 \(a_i - ......
CodeForces Arrays 1895F Fancy 1895

Codeforces Round 907 (Div. 2)

\(A. Sorting with Twos\) https://codeforces.com/contest/1891/submission/232689614 \(B. Deja Vu\) https://codeforces.com/contest/1891/submission/232690 ......
Codeforces Round 907 Div

Codeforces Round 906 (Div. 2)

A. 简单题 B. 简单题 C. 比赛时没做出来,赶着回宿舍,过了几天来补发现很简单秒掉 D. Doremy's Connecting Plan 给定n个结点的图,每个点有一个权值a[i],开始时图上没有边,如果与点i相邻的点(包括点i)的权值的和记为Sum_i. 给定一个常数c,如果 Sum_i+ ......
Codeforces Round 906 Div

Codeforces Round 809 (Div. 2) D1. Chopping Carrots (Easy Version) 题解

题意 Codeforces Round 809 (Div. 2) D1. Chopping Carrots (Easy Version) 给两个整数\(n, k\), 一个数组 \(a\), 要求构造一个同样长度的数组 \(p\), 使得 \(\max\limits_{1 \le i \le n}\ ......
题解 Codeforces Chopping Carrots Version

P8317 [FOI2021] 幸运区间

P8317 [FOI2021] 幸运区间 题目传送门 分治 + dfs 首先可以发现 \(k\) 和 \(d\) 很小,所以是可以搜索的。 那么就考虑如何枚举区间,显然 \(n^2\) 枚举是会超时的,所以就考虑分治来求。 求的过程中就分成三种情况来处理:在左边一半,在右边一半,以及跨越中间点。显而 ......
区间 P8317 8317 2021 FOI