题解1525f cf

P1457 [USACO2.1] 城堡 The Castle 题解

分析 感觉没有蓝题难度 一道 bfs 题目,相较于大部分 bfs 题,它较为复杂,但分析一下还是很好水过的。 建立墙时,可以用三维数组,\(wall_{~i, ~j, ~pos}\) 表示 第 \(i\) 行第 \(j\) 列 \(pos\) 方向有墙。 观察发现,\(8 = 2^3,4 = 2^2 ......
题解 城堡 Castle USACO2 P1457

CF1796D 做题笔记

题目链接 一眼题,但这个 $k$ 迷惑了我很久。 由于我初始的思路没考虑 $x<0$,所以我们先默认 $x>0$。 考虑任意一个是最优答案的最大子段和,如果它的长度 $<k$ 那么它的每个元素一定都加上了 $x$,如果它的长度 $>k$,那么它的 $k$ 个元素一定加上了 $x$,剩余的一定减去了 ......
笔记 1796D 1796 CF

Shuffle 题解

Shuffle 题目大意 给定一个长度为 \(n\) 的 01 序列 \(a\),你可以进行至多一次以下操作: 选定 \(a\) 的一个连续段,满足连续段内恰好有 \(k\) 个 \(1\),将该连续段任意排列。 问能产生多少种不同的 01 序列。 思路分析 (这题 \(n\) 完全可以开到 \(1 ......
题解 Shuffle

开学过半 (cf补题和算法训练)

Problem - A - Codeforces 题意: 给你一个n/2个元素的b数组,然后让你构造出一个n个元素的排列数组 其中这些p数组里的数有以下要求 注意这个p数组要求你搞字典序最小,也就是最好小的元素在前面 如果b = [4,3,6],那么可以从中得到的词法最小排列是p = [1,4,2, ......
算法

【多校联考NOIP#2】比赛复盘 && 题解

A. 黑白染色 这类题没有做过,第一次做,很有新意。 染色的时候,如果一个点的出边中有2个同色点,那么就有一条路中有三个同色点,是不合法的。 不妨先把所有点染成一个颜色,然后再选点染成另一个颜色。 使用一个队列,先把所有的点入队。 每次取出队头 \(u\) ,如果发现他不合法: 1.自己颜色取反 2 ......
题解 amp NOIP

【题解 P3586】 LOG

[POI2015] LOG 题目描述 维护一个长度为 \(n\) 的序列,一开始都是 \(0\),支持以下两种操作: U k a 将序列中第 \(k\) 个数修改为 \(a\)。 Z c s 在这个序列上,每次选出 \(c\) 个正数,并将它们都减去 \(1\),询问能否进行 \(s\) 次操作。 ......
题解 P3586 3586 LOG

题解 AcWing 359.创世纪

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

【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

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

[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

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