题解codeforces round 871

Codeforces 847 Div3 题解A-G

Codeforces 847 Div3 题解A-G 好久不打了,这几周忙着写各种作业,然后发现代码力跟不上了。今天复健一下吧。反正也是比较碎片的时间,马上新的作业就会被布置下来,n久没打了就来看下。所以这次先捡div3复键一下,之后暑假等实习了到时候得认真上上div2,不然秋招g咯。 A. Poly ......
题解 Codeforces Div3 847 A-G

Codeforces Round 864 (Div. 2)

Codeforces Round 864 (Div. 2) 赛前就留了3个cpp,结果就做出来3个。 不得不说lihua确实呃呃。 A 题面的描述方法以及给出的样例好有迷惑性啊, 其实答案根本不会超过4,把某一个格子周边全部围起来就行了。也就是下面最后2个花括号里面的内容。 int main() { ......
Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题解

Codeforces Round 864 (Div. 2) 中文题解 A. 李华与迷宫 在 $(x_1,y_1)$ 或 $(x_2,y_2)$ 周围放障碍,更优的那个就是答案。换句话说,定义: $$ f(x,y)= \begin{cases} 2,&(x,y)\text{在角上}\ 3,&(x,y) ......
题解 Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题面

Codeforces Round 864 (Div. 2) 中文题面 A. 李华与迷宫 有一个大小为 $n\times m$ 的矩形迷宫。称两个格子相邻,当且仅当它们有一条公共边。定义一条路径为若干相邻空格子的序列。 每个格子初始为空。李华可以在若干个格子中放置障碍物。他希望知道最少需要放置多少个障 ......
Codeforces Round 864 Div

SYUCTACM2023 bfs训练题解

迷宫 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; const int mod = 1e9 + 7; char s[105][105]; int vis[105][105]; int dx[4] = {1, ......
题解 SYUCTACM 2023 bfs

NSSCTF Round#11 Basic 密码学专场

闲来无事很久没做题了做一做这次的密码学专场,简单记录一下 ez_enc 题目提示了不是培根密码,然后只出现了AB并且没有间隔,猜想是二进制,将A变为0,B变为1,转字符串就能够得到flag MyGame from Crypto.Util.number import * import os impor ......
密码学 专场 密码 NSSCTF Basic

Mondriaan's Dream 【POJ2411】 题解

Mondriaan's Dream 【POJ2411】 题解 ——By Zy 注:原题中的 $h,w$ 在本文中使用 $n, m$ 代替。 一. 题意分析: 题目要求给定一个一定大小的 矩形 棋盘,求出使用 $1\times 2$ 大小的木条填充一共有多少种方案。 读题,发现数据范围 $(1\le ......
题解 Mondriaan Dream 2411 POJ

ARC130D ZigZag Tree 题解

题目链接 考虑这棵树在满足条件下是什么样子的? 我们发现如果对于一棵树黑白染色,白色表示周围的点大于自身,黑色的点反之,是满足条件的。同时,将黑白点反色也是满足条件的。 我们考虑进行 $\text{dp}$ ,设 $dp_{i,j,0/1}$ 表示以点 $i$ 为根的子树,$i$ 点权值的排名是 $ ......
题解 ZigZag 130D Tree ARC

【牛客小白月赛70】A-F题解【小d和超级泡泡堂】【小d和孤独的区间】【小d的博弈】【小d和送外卖】

比赛传送门:https://ac.nowcoder.com/acm/contest/53366 难度适中。 🎈 作者:Eriktse 🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中…… ......
题解 泡泡堂 区间 泡泡 A-F

Edu Round 板刷计划 4. Educational Codeforces Round 4 题解

Change Log: 2023.04.06 开坑. A - The Text Splitting 弱智题. 枚举分出来多少个长度为 $p$ 的串,则能计算出长度为 $q$ 的串有多少个,若合法则直接输出即可. 无解输出 -1. Sample submission. B - HDD is Outda ......
板刷 题解 Round Educational Codeforces

codeforces 1804D Accommodation

https://codeforces.com/problemset/problem/1804/D 解题思路 每个楼层是独立的,考虑怎么解决一层就可以了。 求最大值就是尽量避免1和1合并,也就是尽量在不存在连续1的子序列中进行合并,如果还有需要合并的就只能用1和1合并。求最小值就是尽量合并1和1。由于 ......
Accommodation codeforces 1804D 1804

Educational Codeforces Round 146 (Rated for Div. 2)

A. Coins #include <bits/stdc++.h> using namespace std; #define int long long int read() { int x = 0, f = 1, ch = getchar(); while ((ch < '0' || ch > ' ......
Educational Codeforces Round Rated 146

【题解】P4898 [IOI2018] seats 排座位

思路 线段树。 题意可以转化成每次判定有多少个前缀满足所有结点构成矩形。 首先排除确定矩阵坐标再数答案的做法,因为太难。 所以考虑如何对前缀进行判定。 一个简单的想法是维护前 $i$ 个点中 $x, y$ 坐标的最值,但这样只能暴力看矩阵中的所有元素,跑得很慢。 不妨思考一下合法的条件: 前 $i$ ......
题解 座位 P4898 seats 4898

[ARC127D] Sum of Min of Xor 题解

先把 $i$ 对 $j$ 的约束去掉。没有 $\min$ 的情况是 trival 的,发现瓶颈在于如何比较两个数之间的大小。 可以发现,对两个二进制数,我们本质上是想要找到它们第一个不同的位置。于是考虑从最高位开始,将 $(a_i,b_i)$ 按最高位分组为 $(0,0),(0,1),(1,0),( ......
题解 127D of ARC 127

【题解】CF472G Design Tutorial: Increase the Constraints

《正解分块 + FFT 跑 1min,__builtin_popcount 暴力跑 10s》 《没人写正解,CF 也不卡》 思路 正解:分块 + FFT 乱搞:__builtin_popcount 首先我们知道哈明距离可以用一种 $O(|字符集| |S|)$ 的算法求。 具体考虑枚举字符集中的每一个 ......
题解 Constraints Tutorial Increase Design

Codeforces Round 857 (Div. 2) A - Likes

Codeforces Round 857 (Div. 2) A - Likes 题意 有 $n$ 个人给你点赞或取消赞,其中 $x$ 表示 $x$ 号人给你点赞, $-x$ 表示 $x$ 号人给你取消赞。在 $n$ 个单位时间中的每一时刻,都会有一个人进行一次操作。请你安排一种顺序,使得你获得的总点 ......
Codeforces Round Likes 857 Div

【题解】臭气弹

用次数乘上 $P/Q$ 来构建增广矩阵,进行高斯消元。在算出每个点被摧毁的概率与所有点的期望出现次数。 由于每个点爆炸概率相同,所以每个点被摧毁的概率就是这个点的期望出现次数 $/$ 所有点的期望出现次数。 #include<bits/stdc++.h> using namespace std; c ......
题解 臭气

Codeforces Round 863 (Div. 3)

Codeforces Round 863 (Div. 3) CF传送门 Solution A. Insert Digit 找到第一个比 $d$ 小的数位,插到它前面即可。 B. Conveyor Belts 关键在于:给出坐标 $(x,y)$,如何确定该点在第几层? 首先把坐标换算成以中心为原点的坐 ......
Codeforces Round 863 Div

Educational Codeforces Round 124 (Rated for Div. 2)

题目链接 C 核心思路 其实还是得根据样例,首先我们先自己分析出来。现根据边地数目来分析。 我们其实不难发现四个端点必须得连上边。 边数为2.那么只有两条竖线。方案数是一种 边数为3,那么就一条竖线还有就是一把叉这里交换位置就是两条了。还有就是平行四边形和一条斜线,也是可以交换位置的。这里就有四种。 ......
Educational Codeforces Round Rated 124

LibreOJ526. 「LibreOJ β Round #4」子集

简要题意 给出一个长度为 $n$ 的序列 $a$。你需要选出它的一个子集 $S$。使其满足对于任意两个元素 $i,j$。满足: $$ \gcd(i,j)\cdot\gcd(i+1,j+1)\neq1 $$ 输出满足条件的子集大小的最大值。 $1 \leq n \leq 500,1 \leq a_i ......
LibreOJ 子集 Round 526

CF1810E 题解

一、题目描述: 给你一个 n 个点,m 条边的无向图,点带权,起点可任意选择。 每走过一个新的点,你的能力值会 +1 。一开始你的能力值为 0 。 你只能经过点权小于等于你能力值的点。每条边,每个点都可以经过无限次,问能否走遍整个图。 如果可以,输出 "YES" 。否则输出 "NO" 。有 t组数据 ......
题解 1810E 1810 CF

洛谷P1552 [APIO2012] 派遣 题解 左偏树

题目链接:https://www.luogu.com.cn/problem/P1552 题目大意: 每次求子树中薪水和不超过 $M$ 的最大节点数。 解题思路: 使用左偏树维护一个大根堆。 首先定义一个 Node 的结构体: struct Node { int s[2], c, sz, dis; l ......
题解 P1552 1552 APIO 2012

codeforces 1793D Moscow Gorillas

https://codeforces.com/contest/1793/problem/D 解题思路 依次找出 MEX = 1..n+1的序列数量就能得解。 MEX = n+1 只有全序列这一种情况。 MEX = 1时,找出两个序列中1的位置,较小位置左边的元素构成的子序列,较大位置右边的元素构成的 ......
codeforces Gorillas Moscow 1793D 1793

codeforces 1783D Different Arrays

https://codeforces.com/contest/1783/problem/D 解题思路 比较直白的动态规划问题。记 f[i][j] 表示前 i 个元素组成以 j 结尾的序列可能的数量。那么,当第 i+1 个元素加入序列的时候有两种选择:加上第 i 个元素;减去第 i 个元素。 于是可以 ......
codeforces Different Arrays 1783D 1783

CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(持续更新)

Preface 唉难得熬夜打一把还天天掉分,苦路西 这把状态奇差,CD两个傻逼题都写的很慢,然后做E的时间太少最后又是经典比赛结束才调出来 虽然很想骂傻逼室友打游戏鬼叫的超级响导致我注意力很难集中,不过终究还是自己抗干扰水平不够,不能怨天尤人 A. Beautiful Sequence 傻逼题,显然 ......
Div CodeTON Prizes Round Rated

Codeforces Round 863 (Div. 3)(4.5)

Codeforces Round 863 (Div. 3) A - Insert Digit 思路:插到第一个小于它的位置前 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; const int N=1e5+ ......
Codeforces Round 863 4.5 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ 题解:$dp$ / 贪心 : 最大子段和思想 ......
Codeforces Round Div3 642 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ $dp$ / 贪心 : 最大子段和思想 方法 ......
Codeforces Round Div3 642 Div

codeforces 1795E Explosions?

https://codeforces.com/problemset/problem/1795/E 解题思路 问题的核心是要构造有一个先严格递增,然后严格递减的子序列。不在这个序列中的怪物单独击杀。先递增后递减可以看作是两个对称的问题,所以把递增序列的构造考虑清楚就可以了。 假设已经知道将1~i-1构 ......
codeforces Explosions 1795E 1795

【容斥、状压dp】主旋律 题解

【清华集训2014】主旋律 题解 神秘题。 题目简述 给你一个有向图 $G=(V,E)$。求有多少 $E$ 的子集 $E'$ 使得新图 $G'=(V,E')$ 是强连通图。 强连通图的定义是任意两点 $u,v$ 均存在 $u\to v,v\to u$ 的路径。 $n\leq 15,m\leq n\t ......
题解 主旋律