题解codeforces round 1805

CodeTON Round 5 ( Div1+Div2 ) C. Tenzing and Balls (DP)

CodeTON Round 5 ( Div1+Div2 ) C. Tenzing and Balls 思路:设f[i]为从 1~i 能删去的最多数 f[i] = max( f[i-1] , i - j + 1+ f[j-1] ) ( a[j]=a[i] , 删去i到j , 再加上前 j-1 可删去的 ......
Div CodeTON Tenzing Balls Round

【NewStarCTF 2023】题解week1

easy_RE 先exeinfo 没有壳,直接上ida 看到有关键信息,但没有显示完,按f5反编译一下 拼接一下输入,注意字符串的部分字母由近似数字代替,提交 KE 运行一下,看到是KE,想着可能是壳的意思?exeinfo看一下 upx壳,尝试upx脱壳 呃呃 权限好像不对 尝试了一下用管理员权限打 ......
题解 NewStarCTF week1 2023 week

题解 DIFERENC - DIFERENCIJA

题目描述 给出一个长度为 \(n\) 的序列 \(a_i\),求出下列式子的值: \[\sum_{i=1}^n \sum_{j=i}^n (\max \limits_{i \le k \le j} a_k-\min \limits_{i \le k \le j}a_k) \]即定义一个子序列的权值为 ......
题解 DIFERENCIJA DIFERENC

题解: CF768D Jon and Orbs

题解: CF768D Jon and Orbs 一句话体面:有k种不同的物品,每天等概率任取一种(不一定是新的种类)。q组询问,每组给出一个p,问取完这k件物品的概率不小于\(\frac{p}{2000}\)的最小天数 不用说,肯定是概率DP了 1.定义 :\(f_{i,j}\) 表示前\(i\)天 ......
题解 768D Orbs 768 Jon

Educational Codeforces Round 156 (Rated for Div. 2) - A B C D

目录A. Sum of Three A. Sum of Three 如果说给定的数为 n 如果 \(n \le 6\) 或 \(n = 9\) 时,无法分解 如果 $n %% 3 != 0 $ 时,可以 ......
Educational Codeforces Round Rated 156

CF1842G Tenzing and Random Operations 题解

题意 给定一个长度为 \(n\) 的正整数序列 \(a\),对该序列进行 \(m\) 次操作,定义每次操作如下: 从 \(\left[1, n\right]\) 中等概率选取一个 \(i\),对于 \(j \in \left[i, n\right]\),执行操作 \(a_j \leftarrow a ......
题解 Operations Tenzing Random 1842G

Educational Codeforces Round 156 A-D

A. Sum of Three 思路1: 1.把数拆成1,2,n-3 2.如果(n-3)%3==0,那么拆成1,4,n-5,可证明n-3如果可被3整除,那么再左移两位一定除不尽 思路2: 1.如果n是奇数,那么可取一个数为2,其他两数为相邻数,如果两数其中一位被整除,那么两者往外走 2.如果n为偶, ......
Educational Codeforces Round 156 A-D

p4801题解

解题思路: 确实是一道很好的贪心,但由于加上了水这个影响因素,使题目复杂度上升了不少。(考虑的东西多了嘛) 输个入。 对饼干温度无脑排序。 求最小值。 求最大值(用双指针做,后面会讲)。 解题过程: 先输入(这个步骤就不用我讲了) int a[1000005]; long long n,ws; lo ......
题解 p4801 4801

Educational Codeforces Round 156 (Rated for Div. 2)

Preface 沉迷Galgame不打CF懒狗闪总出列! 这场在大物课上口胡了前四个题,回去写了也都很顺,然后E题本来做不来的,看了眼昨天校队群里的消息就会做了 F题什么东西直接弃 A. Sum of Three 当\(n\bmod 3\ne 0\)时,用\((1,2,z)\)来凑;否则当\(n\b ......
Educational Codeforces Round Rated 156

Codeforces Round 706 (Div. 2) A. Split it!

给一个长度为 \(n\) 的字符串 \(s\) 。给定一个正整数 \(k\) 。询问 \(s\) 能否等于 \(a_1 + a_2 + \cdots + a_k + a_{k + 1} + R(a_k) + R(a_{k - 1}) + \cdots + R(a_{1})\) 。 其中 \(a_i\ ......
Codeforces Round Split 706 Div

Codeforces Round 707 (Div. 2, based on Moscow Open Olympiad in Informatics) B. Napoleon Cake

按以下 \(n\) 次操作制作蛋糕。 叠上第 \(i\) 块面包,然后浇上 \(a_i\) 单位的奶油。可以使当前往下 \(a_i\) 块面包沾上奶油。 输出空格隔开的 \(n\) 个数,第 \(i\) 个的 \(0/1\) 代表第 \(i\) 块面包是否沾有奶油。 比较显然的思路可以进行差分修改。 ......

Codeforces Round 834 (Div. 3)

A. Yes-Yes? #include <bits/stdc++.h> using namespace std; #define int long long using pii = pair<int, int>; using vi = vector<int>; const string T = " ......
Codeforces Round 834 Div

Educational Codeforces Round 109 (Rated for Div. 2) B. Permutation Sort

给一个长为 \(n\) 的排列 \(a\),你可以执行以下操作:选择一个子数组并且按任意顺序重排,但这个子数组不能是数组本身。 询问最少经过多少次操作可以使得排列 \(a\) 变为升序。 定义操作次数为 \(ans\) 。 若数组已经有序,\(ans = 0\) 。 若 \(a_1 = 1\) 或者 ......

CF906C Party 题解

Party DP 是门艺术。 \(n\leq 22\) 一眼状压。但是怎么状压就比较困难,因为同一个 \(f[x]\) 可以代表成千上万种含义。 这里我们采用,设 \(f[x]\) 表示当 \(x\) 集合中所有的点都处于同一个团内的最小代价。 则我们有 \(f[x \operatorname{or ......
题解 Party 906C 906 CF

[AGC013D] Piling Up 题解

Piling Up 一个很好的思路就是设 \(f[i][j]\) 表示当前进行了 \(i\) 步,并且盒子中剩下了 \(j\) 个白球的方案数,然后直接 DP 即可。 但是这样是有问题的,它没有考虑到重复计算的问题。 我们不妨令 \(+\) 符号表示取出黑球,\(-\)符号表示取出白球。 则一种方式 ......
题解 Piling 013D AGC 013

CF1423N BubbleSquare Tokens 题解

BubbleSquare Tokens 神仙构造题。 首先,我们令所有点初始都没有放币,所有边上都放了一个币。则此时每个点的权值即为它的度数。 然后,我们考虑从小到大计算每个点的权值。对于每个点 \(i\),我们枚举它所有相邻且编号比它小的点,假如该点上没有币,就把币从连接两点的边上移到另一端的点上 ......
题解 BubbleSquare Tokens 1423N 1423

CF888F Connecting Vertices 题解

Connecting Vertices 这个奇怪的限制(两条边不能有交点)让我们想到什么? 对于任何一种方案,不存在 \(x_0<x_1<y_0<y_1\),其中连边 \((x_0,y_0),(x_1,y_1)\)。 也就是说,对于任何一段区间 \([i,j]\),如果里面所有点全都连通: 要么 \ ......
题解 Connecting Vertices 888F 888

CF53E Dead Ends 题解

Dead Ends \(n\le10\),我还是第一次见到这么小的状压 我们设 \(f[S][s]\) 表示:将集合 \(S\) 内的点连成一棵树,且集合 \(s\) 里的节点是叶子节点的方案数。 则有 \[f[S\cup\{j\}][\{s\setminus i\}\cup\{j\}]+=f[S] ......
题解 Dead Ends 53E CF

CF1178F2 Long Colorful Strip 题解

Long Colorful Strip 中间如果有那些地方看不懂,可以先去看看前面一道,这是我的题解。 首先,每一次染色,最多把一整段连续的同色格子,分成了三段。 并且,明显我们可以把连续的同色格子,直接看作一个。 这就意味着,在这么压缩后,有 \(m<2n\)。 这就意味着 \(O(m^3)\) ......
题解 Colorful 1178F Strip 1178

[ARC143D] Bridges 题解

[ARC143D] Bridges 题意:给定 \(2n\) 个点和 \((u_1,v_1) , \cdots , (u_m,v_m)\),选择让 \(u_i\) 连 \(v_i+n\) 或 \(v_i\) 连 \(u_i+n\),以最小化图中桥的个数。 有种技巧叫拆点,把一个点拆成入点和出点,看这 ......
题解 Bridges 143D ARC 143

洛谷P5444 [APIO2019] 奇怪装置 题解

奇怪装置 找到循环就很简单了。 很显然 \(y\) 是每 \(B\) 次一循环的,对于每个相邻的 \(y\) 循环 \(x\) 的值均相差 \(B+1(\bmod A)\)。 因此总的循环就是 \(B+1\) 对于 \(A\) 的循环乘上 \(B\)。 即 \(\frac{A}{\gcd(A,B+1 ......
题解 装置 P5444 5444 2019

CF1178F1 Short Colorful Strip 题解

Short Colorful Strip 考虑设 \(f[i,j]\) 表示:假设区间 \([i,j]\) 里面一开始所有格子的颜色都是相同的,那么,染成目标状态共有多少种染法。 我们找到 \([i,j]\) 中最小的那个颜色,设为 \(mp\)。则显然,我们下一步要染上 \(mp\) 这种颜色。 ......
题解 Colorful 1178F Short Strip

洛谷P4158 [SCOI2009] 粉刷匠 题解

所有的 \(DP\) ,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1: 我们考虑设 \(f[i][j][k]\) 表示:当前 \(DP\) 到第 \(i\) 块木板的第 \(j\) 个位置,共涂了 \(k\) 次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到 ......
题解 P4158 4158 2009 SCOI

洛谷P3300 [SDOI2013] 城市规划 题解

[SDOI2013] 城市规划 题意:给你一个 \(6 \times n\) 的网格题,单点修改,询问区间联通块数,\(n \le 10^5\)。 解:看起来就很显然的一道题......线段树每个点用一个 ufs 维护连通性; 我为了方便思考把图转成横着的了。 写起来真是毒瘤...... 重点在于: ......
题解 城市规划 城市 P3300 3300

Educational Codeforces Round 110 (Rated for Div. 2) Array Reodering

给一个长为 \(n\) 的数组 \(a\) 。 定义一对 \(pair(i, j)\) 是 \(good\) 的当且仅当 \(1 \leq i < j \leq n\) 且 \(gcd(a_i, 2 \cdot a_j) > 1\) 。 如果你可以以任意顺序重排数组 \(a\) ,找到最多的 \(g ......
Educational Codeforces Reodering Array Round

Codeforces Round 902 Div 1 (CF 1876)

A. Helmets in Night Light 按花费 sort 一下,\(b<p\) 就让他用 \(b\) 的花费告诉别人,剩下的人一开始用 \(p\) 的花费告诉即可。 B. Effects of Anti Pimples 发现一个数会被所有它的因数贡献,\(O(n\sqrt{n})\) 随 ......
Codeforces Round 1876 902 Div

【ABC320C】题解

AtCoder Beginner Contest 320 Problem C - Slot Strategy 2 (Easy) 题解 题目简述 给定 \(3\) 个长度为 \(m\) 的转盘,转动过后三个转盘分别可以在不同的时间停下,求停下时所有转盘都显示相同数字的最小时间。 思路 由于这题 \(m ......
题解 320C ABC 320

【ABC320D】题解

AtCoder Beginner Contest 320 Problem D - Relative Position 题解 题目保证不矛盾,就可以直接 vector 建图,然后 dfs 一遍,边权为 \((w_x,w_y)\) 表示坐标的差,从 \(u=1\) 开始搜索,设点 \(u,v\) 有一条 ......
题解 320D ABC 320

Educational Codeforces Round 156 (Rated for Div. 2)

Educational Codeforces Round 156 (Rated for Div. 2) A. Sum of Three 解题思路: 如果\(n \leq 6 或 n =9\),无解。 若\(n \% 3 == 0,t = \lfloor\frac{3}{n}\rfloor\): 若\ ......
Educational Codeforces Round Rated 156

题解 Frog 3

题目描述 将一个序列分成若干段,每一段的价值为 \((h_i-h_j)^2+C\),求价值和的最小值。 具体思路 设 \(f_i\) 表示前 \(i\) 个数分成若干段的价值和的最小值,并且 \(j+1 \sim i\) 被分成了一段。 那么 \(f_i\) 的状态应该由 \(f_j\) 转移过来。 ......
题解 Frog