题解codeforces round split

CF1797E 线段树 + 倍增 题解

Preface 有趣的一道 ds,赛后不看题解做出来了。 Solution 首先有一个性质:$\varphi(x)$ 经过 $\mathcal{O}(\log x)$ 次迭代后变为 $1$。 证明: 若 $x$ 为奇数,$\varphi(x)=x\sum_{i=1}^{k}\frac{p_i-1}{ ......
线段 题解 1797E 1797 CF

Codeforces Round 550 (Div. 3) F. Graph Without Long Directed Paths(dfs/染色)

https://codeforces.com/contest/1144/problem/F 题目大意: 给定n个点,m条边; 每一条边都连接了两个点。 现在需要我们染色,要求是做到所有有向图不包含长度为2或者更长的路径。 input 6 5 1 5 2 1 1 4 3 1 6 1 output YE ......
Codeforces Directed Without Round Graph

LeetCode-Go:一个使用 Go 语言题解 LeetCode 的开源项目

在中国的 IT 环境里,大多数场景下,学习算法的目的在于通过笔试算法题。 但算法书林林总总,有时候乱花渐欲迷人眼。 杜甫有诗云:读书破万卷,下笔如有神。不管选择哪本书,只要深入学习,分层次,逐层进阶,一定可以将算法攻克。 笔者强烈推荐一个 Github 开源项目 LeetCode-Go,你不仅可以把 ......
LeetCode 题解 LeetCode-Go 语言 项目

Atcoder题解:Agc018_f

首先观察这个奇怪的子树为 $1$ 或 $-1$ 的限制。 看不出来性质,润了。 我们不如直接把 $A$ 树和 $B$ 树拆开,变成两棵树,然后在树上留一下匹配的性质。 第一,我们对着样例构造一下,发现似乎有解的样例都有 $abs(X_i)\le 1$ 的解。 这就提示我们猜用 $-1,0,1$ 就够 ......
题解 Atcoder Agc 018

Educational Codeforces Round 132 (Rated for Div. 2)

题目链接 C 核心思路 这个题目有点经典,对于括号需要肯定第一个想法是想到栈。然后看有多少可以匹配。这里我们也照样采用栈的一个思考方式。 也就是使用$s1$来记录左括号减去右括号的数量,其实也就是已经匹配了的括号的数量。然后$s2$表示的是还不可以确定的问号的数量。 但是有一个边界:那就是)这样是不 ......
Educational Codeforces Round Rated 132

阿里笔试4.19 题解

T1 给定一个序列,问有多少个区间的众数次数>=k sol:考虑two-pointer。枚举左端点,寻找最小的右端点是的众数次数>=k 推导后发现需要支持以下功能 1.增加某一个数的出现次数 2.减少某一个数的出现次数 3.查询众数的出现次数(即出现次数最多的数字的出现次数) 这些功能可以抽象化可以 ......
题解 笔试 4.19 19

GYM104081 部分题解

比赛链接:https://codeforces.com/gym/104081 目前就做了 8 题,里面还有 4 个水题…… 水题:ACEG,模拟题意即可,C 和 E 有一些细节。不想写题解了 F 首先目标是如何将这 9 个数分组,由于答案一定存在,考虑随机化,固定 $a_1 \in S_1$,然后随 ......
题解 部分 104081 GYM

Codeforces Round 850 (Div. 2, based on VK Cup 2022 - Final Round) E. Monsters (hard version) 线段树二分

传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** * ......
线段 Round Codeforces Monsters version

NOIP 2010 题解

机器翻译 单向链表,如果 $i$ 在内存里,那么用 $nxt[i]$ 来记录他的下一个单词,每次要插入的时候,如果当前链表的长度小于 $m$,那么直接把他插入的末尾,如果等于 $m$,就把链表的第一个从链表里弹出来,再把这个元素加进去。 $Code :$ #include <bits/stdc++. ......
题解 NOIP 2010

Atcoder题解:Agc010_e

首先,我们来思考我们要构造的是什么。 我们要构造的是一个无论怎样操作字典序都会变小的序列,且这个序列的字典序是最小的。 然后考虑字典序会变大的条件。 如果字典序变大了,那么一定是在前 $i-1$ 位不变的前题下,$i$ 位的变大了。那么变大的一定是从后面来的。 而我们考虑所有的数对 $(a_i,a_ ......
题解 Atcoder Agc 010

abc292[AtCoder Beginner Contest 292] 题解

写点题目转换下心情吧 A-CAPS LOCK 大水题 B-Yellow and Red Card 大水题 C-Four Variables 给定一个数$N$,问有多少个有序正数数组$(A,B,C,D)$,满足$A\times B+C\times D=N$。 这题荒芜的大脑拒绝思考,看着复杂度不超,写 ......
题解 292 Beginner AtCoder Contest

题解 P9130 【[USACO23FEB] Hungry Cow P】

赛时开始一眼线段树分治,交了几发都 T 了,就意识到事情不对。后来想了想发现势能分析不能带撤销。。。 后来加了一些不能改变复杂度假了的优化,没过之后就自闭跑路了。。。 赛后听别人说了个楼房重建就明白怎么做了。 首先,我们离线下来把 $a$ 排序,去重(这样方便一点,不然权值线段树上的空节点得特判), ......
题解 Hungry P9130 USACO 9130

Atcoder题解:Agc007_e

首先,我们来证明一个引理: 若最优解中,最终串中的字符 $j$ 在最早来自原串中的字符 $i$(显然,$i\le j,s_i=t_j$),则称 $j$ 的匹配是 $i$,则在所有的匹配方案中,$t_j$ 会在全串存在匹配的前提下尽量选择 $|i-j|$ 最小的的 $s_i$ 进行匹配。 我们可以运用 ......
题解 Atcoder Agc 007

taro3 报错 TypeError: className.split is not a function

项目原来跑的好好的, 昨天升级了几个包, 引用了个UI库, 然后今天上班运行项目就跑不起来了, 项目是在旧的项目上升级的 之前的写法 <View key={idx} className={["tabbar-item", isActive && "active"]} onClick={this.swi ......
TypeError className function taro3 split

Educational Codeforces Round 89 (Rated for Div. 2)

题目链接 C 核心思路 我们需要保证任意一个点出发都需要回文,所以我们的斜对角先必须的一致,什么意思呢:看下这个样例把。 1 0 1 0 1 0 1 0 1 比如这种(2,1)和(1,2) 就必须要和(2,3)的和(3,2)的相等。 这个斜对角的点有一个规律就是横纵坐标加起来就是相等的。 比如其中一 ......
Educational Codeforces Round Rated Div

Educational Codeforces Round 113 (Rated for Div. 2)

题目链接 B 核心思路 这个题目我觉得很好。 首先分析下吧,如果有人需要执行操作二那么我们肯定就是给他们都打上平局是最优的。 那么如果有人需要执行操作一呢,那么我们就可以把这些需要执行操作1的都搞一起。然后是他们成一个环。这样肯定就保证了每个人都会赢上一次。 C 核心思路 这个题目的性质其实就是我们 ......
Educational Codeforces Round Rated 113

Codeforces Round 866 (Div. 2)

A. Yura's New Name 一个简单的 dp,状态是$f[i][0/1]$表示前$i$位变成合法的且最后一位是^或_的最小代价。 如果是_只能从^转移过来,如果是^则都可以转移过来 #include <bits/stdc++.h> using namespace std; void sol ......
Codeforces Round 866 Div

CF1033G Chip Game 题解

传送门 CF1033G Chip Game 题目大意 有 $n$ 个石子堆,每堆有 $a_i$ 个石子。A 与 B 轮流取,A 每次只能取 $x$ 个,B 每次只能取 $y$ 个。 求对于所有 $x,y \in [1,m]$,A 必胜、B 必胜、先手必胜和后手必胜的数量。 $n \le 100,m ......
题解 1033G 1033 Chip Game

【题解】P3279 [SCOI2013]密码

[SCOI2013]密码 Fish是一条生活在海里的鱼。有一天他很无聊,就到处去寻宝。他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进。 通过翻阅古籍,Fish 得知了这个密码的相关信息: 该密码的长度为N。 密码仅含小写字母。 以每一个字符为中心的最长回文串长度。 以每两个相邻 ......
题解 密码 P3279 3279 2013

【题解】CF700E

Cool Slogans 给定一个字符串 $S$,要求构造字符串序列 $s_1,s_2,\ldots,s_k$,满足任意 $s_i$ 都是 $S$ 的子串,且任意 $i\in[2,n]$,都有 $s_{i-1}$ 在 $s_i$ 中出现了至少 $2$ 次(可以有重叠部分,只要起始、结尾位置不同即可) ......
题解 700E 700 CF

Codeforces Dp

Zero Remainder Sum 采用辅助数组 $ ndp[m + 1][\frac{m}{2}][k] $ 来求出每一行中在当前第 $ i $ 列,取了 $ j $ 个物品,总和模 $ k $ 的余数是 $ t $ 的最大和是多少。用 $ dp[n + 1][k] $ 来转移每一行的状态。 # ......
Codeforces Dp

Pwn系列之Protostar靶场 Stack6题解

源码如下: #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> void getpath() { char buffer[64]; unsigned int ret; printf("input ......
靶场 题解 Protostar Stack6 Stack

CF题解

E. Replace the Numbers 1900 思维 https://codeforces.com/problemset/problem/1620/E 题解:正着做比较困难,我们可以考虑从后往前做。一个数会被变成什么样子是取决于其后的2操作。2操作可以等价为一个变换,而位置越后的2操作相较前 ......
题解

Codeforces 1810G - The Maximum Prefix(DP)

挺小清新的一道计数题。 首先先分析下这个“最大前缀和”,按照最朴素的思路就是扫一遍每个前缀,然后记录一下当前的 $sum$ 与前面的 $mx$,但是如果你一直陷在这个思路上你就似了,因为按照这个思路做,你 DP 状态里需要记录 $sum$ 和 $mx$ 两个维度,算上下标一维总共是 $n^3$,并且 ......
Codeforces Maximum Prefix 1810G 1810

Codeforces 793G - Oleg and chess(网络流+优化建图)

很 trivial 的一道题,评到 3400 非常不理解。 首先一眼二分图匹配,关键点在于建图。显然需要数据结构优化,关键是怎么个优化法,很 trivial 的想法是考虑每一行,将极长的白格对应的连边用线段树优化掉,但是这样显然是不行的,因为一个黑白交错的图就可以把它卡成 $n^2$。 考虑借鉴二维 ......
Codeforces chess 网络 793G Oleg

Triangle题解

Triangle题解 前情提要 看博不点赞,ac少一半 小插曲 因为找不到题解差点心态炸了,还好有大佬指点,我来造福想不出这道题的人啦 题目描述:给你一个无向图,让你数里面三角形的个数,其中三角形三个顶点a,b,c序号要满足a<b<c 思路 很明显,暴力直接n* n *n,这里考虑优化、 首先枚举其 ......
题解 Triangle

Pwn系列之Protostar靶场 Stack2题解

(gdb) disass main Dump of assembler code for function main: 0x08048494 <main+0>: push ebp 0x08048495 <main+1>: mov ebp,esp 0x08048497 <main+3>: and es ......
靶场 题解 Protostar Stack2 Stack

Pwn系列之Protostar靶场 Stack3题解

(gdb) disass main Dump of assembler code for function main: 0x08048438 <main+0>: push ebp 0x08048439 <main+1>: mov ebp,esp 0x0804843b <main+3>: and es ......
靶场 题解 Protostar Stack3 Stack

【题解】P4696 [CEOI2011] Matching

原题链接 题目描述 对于整数序列 $(a_1,a_2,\cdots,a_n)$ 和 $1\sim n$ 的排列 $(p_1,p_2,\cdots,p_n)$,称 $(a_1,a_2,\cdots,a_n)$ 符合 $(p_1,p_2,\cdots,p_n)$,当且仅当: ${a}$ 中任意两个数字互 ......
题解 Matching P4696 4696 2011

Pwn系列之Protostar靶场 Stack1题解

(gdb) disasse main Dump of assembler code for function main: 0x08048464 <main+0>: push ebp 0x08048465 <main+1>: mov ebp,esp 0x08048467 <main+3>: and e ......
靶场 题解 Protostar Stack1 Stack