题解1203 div cf

Codeforces Round 834 (Div. 3)

Codeforces Round 834 (Div. 3) A - Yes-Yes? 思路:判断每种情况即可 #include<bits/stdc++.h> using namespace std; //#define int long long //#define int __int128 #de ......
Codeforces Round 834 Div

题解 AcWing 359.创世纪

题目描述 给你一个 \(n\) 个点 \(n\) 条边的有向图,若选了当前节点,那么当前节点的儿子节点至少有一个不能选。求最多能选多少个点。 具体思路 显然是一棵基环树,因此考虑基环树 dp。 我们先不管环的条件,先考虑朴素的树形 dp。 设 \(f_{x,0}\) 表示 \(x\) 节点不选,最多 ......
题解 创世纪 AcWing 359

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

2023.9-10CF做题记录

Codeforces Round 898 (Div. 4) (CF1873) Coinred001,堂堂出道( 前面的水题打得太慢了(因为缺乏经验) A. Short Sort 水题,手动枚举6种情况是最快的能AC的。 B. Good Kid 看数据范围,\(O(n^2)\) 枚举即可。(Div4不 ......
2023.9 2023 10 CF

题解: 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

题解 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

[CF1870F] Lazy Numbers

Lazy Numbers 我觉得本题难度在于银剑的构造...... 我们把 k 进制下的数去掉前导零放在 Trie 树上,并且越高位的深度越小,这样我们看出某个节点的 dfs 序就是排名,称排名减数值为 va。我们需要求 va=0 的点数。 不难发现某一深度从左往右的 va 单调不降,所以可以二分求 ......
Numbers 1870F 1870 Lazy CF

CF1054D Changing Array

题意 给定 \(n\) 个小于 \(2 ^ k\) 的数。 可以任意让若干数 \(xor\) \(2 ^ k - 1\)。 问使得最终区间 \(xor\) 不为 \(0\) 的最大个数。 Sol 考虑前缀异或和。 记异或和的数组为 \(s\)。 现在一个区间的贡献变为 \(s_r \oplus s_ ......
Changing 1054D Array 1054 CF

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

CF 1877 D

D. Effects of Anti Pimples 第一步先把所有的数据进行预处理,将单个位置选为黑色元素时的得分计算出来存入到数组\(b\)中。时间复杂度为\(O(nlog(n))\)。 之后将\(b\)进行排序,然后答案即为\(\sum\limits_{i=1}^{n}b[i]*2^{i-1} ......
1877 CF

CF1886C Decreasing String

单调栈的应用。 显然可以 \(O(n)\) 地找到 \(pos\) 所属的 \(s_i\) 段,所以我们只需要得到 \(s_i\) 即可。不难发现,删除元素的规则应该是从 \(1\) 到 \(n\) 枚举每个元素,删除它前面“紧邻的”比他大的元素(例如对于 eadcb 中的 b 删除掉 dc)。 赛 ......
Decreasing String 1886C 1886 CF

CF 1877 C

C. Joyboard 这道题需要进行分类讨论。 当\(k=1\)时,即构造的数组中所有元素皆为\(0\)才成立,所以输出\(1\)。 当\(k=2\)时,只有\(a[n+1]<=n\)或\(a[n + 1]=x\)(其中\(n|x\))才成立,所以答案是\(n+\lfloor \frac{n+m} ......
1877 CF

CF2400计数

感觉其他都没它重要,开写。 CF1628D1/2 看题解前: 游戏挺好玩,玩着玩着就可以推出式子:\(f_{i,j}=\frac{f_{i-1,j}+f_{i,j}}{2}\) 边界情况大概是 \(i=j\) 时 \(f_{i,j}=i\),\(j=0\) 时 \(f_{i,j}=0\) 直接暴力递 ......
2400 CF

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

[CF1508D] Swap Pass

D - Swap Pass 先将所有\(a_i==i\)的点都直接去掉 考虑将\(i\)向\(a_i\)连边,那么就会形成一个个的环 考虑只有一个环的情况,那么我们任意固定一个点\(x\),一直交换\(a_x\)与\(a_{a_x}\)直到\(a_x==x\),因为所有所有边都交于一点,所以这肯定是 ......
1508D 1508 Swap Pass CF

[CF1672G]Cross Xor

G - Cross Xor 对于\((n\&1)\&\&(m\&1)\)的情况,所有行、列的异或和的必须相等(异或和指当前行/列中所有元素的异或和) 每次修改的点\((x_1,y_1)\),\((x_2,y_1)\),\((x_1,y_2)\),\((x_2,y_2)\)使得所有行和列的异或和不会改 ......
1672G Cross 1672 Xor CF

CF1876E Autosynthesis

Description 给定一个序列 \(a_1, a_2, \ldots, a_n\),构造一个长度为 \(k\) 序列 \(b_1, b_2, \ldots, b_k\),其中 \(k\) 为任意正整数,使得: 在 \(a\) 序列中删除下标为 \(b_1, b_2, \ldots, b_k\) ......
Autosynthesis 1876E 1876 CF

[CF1394D] Boboniu and Jianghu

D - Boboniu and Jianghu 设\(dp[i][0/1]\)表示当前链从下往上是不增/减的,那么当\(u\)与\(v\)(其中\(fa[v]=u\))的\(b\)不相同时,\(dp[v][0/1]\)的第二维转移的状态是确定的,否则就是不确定的,这时直接强制其取\(0\),然后向每 ......
Boboniu Jianghu 1394D 1394 and

[CF878E]Numbers on the blackboard

E - Numbers on the blackboard 最后的答案肯定为\(\sum_{l\leq i\leq r} 2^{p_i}\times a_i\) 然后这个\(p\)满足以下限制: \(p_i=0\)(\(i=l\)) \(1\leq p_i\leq p_{i-1}+1\)(\(l<i ......
blackboard Numbers 878E 878 the

[CF1580D]Subsequence

D - Subsequence 发现\(f(i,j)\)不好处理,考虑将其转换成另一个函数 考虑笛卡尔树,\(\min(a_i,a_{i+1},...,a_j)\)就是在笛卡尔树上,\(i\)和\(j\)的\(lca\) 那么就可以将问题转移到笛卡尔树上,设\(dp[x][c]\)表示以\(x\)所 ......
Subsequence 1580D 1580 CF

[CF1285F]Classical?

F - Classical? 考虑先加上\(gcd(a_i,a_j)=1\)的限制 从大到小扫集合里的数,若扫到数\(x\)发现存在\(y>x\)且\(gcd(x,y)=1\),则所有\(x<t<y\)的\(t\)都不会再对答案有贡献了,因此使用栈存储扫过的元素,当扫到\(x\)时,只要栈中有与\( ......
Classical 1285F 1285 CF

CF906C Party 题解

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

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