题解sorting 11714 blind

洛谷P7469题解

题面 题意:有两个字符串 a 和 b,问 b 中有多少个本质不同子串可以由 a 删除若干个字符得到。 |a|,|b|<=3000 题解:字典树(这个题做法很多,后补)。 把字符串 b 的每个子串打到字典树上。 然后因为 3000^2*26 这个东西比较大,所以不能用 nxt[id][26] 来存储, ......
题解 P7469 7469

CWOI 2023.05.04 题解

mzx 的动态规划杂题选讲。sto ARC153 D - Sum of Sum of Digits P7152 [USACO20DEC] Bovine Genetics G CF1542E2 Abnormal Permutation Pairs (hard version) 题意 给定 $n,m$, ......
题解 CWOI 2023 05 04

P3809 【模板】后缀排序 题解

一、题目描述: 给你一个长度为 $n$ 的字符串 ,由大小写英文字母和数字组成。请将这个字符串的所有非空后缀按字典序排序,顺序输出后缀的第一个字符在原串中的位置,编号为 $1$ 到 $n$。 二、解题思路: 板子题,我就不写思路了。我用的是 $SA$,$DC3$ 还没学。时间复杂度 $O(nlogn ......
题解 后缀 模板 P3809 3809

PA 2022 部分题解

[PA 2022] Wielki Zderzacz Termionów 有 $n$ 个球,每个球有 A、B 或 C 三种颜色。开始时你将每个 C 涂成 A 或 B。之后的每次操作,你可以选择相邻的两个 A 合并为一个 B,或选择相邻的两个 B 合并为一个 A。求将 C 涂色的方案数,满足你能够通过若 ......
题解 部分 2022 PA

C++黑马程序员——P251-254. 常用排序算法 sort,random_shuffle,merge,reverse

P251. 常用排序算法——sort P252. ...——random_shuffle P253. ...——merge P254. ...——reverse P251. sort 1 #include <iostream> 2 #include <vector> 3 #include <algo ......

题解 ARC139D【Priority Queue 2】

problem 给定 $n,m,k,x$,给定了一个有 $n$ 个元素的可重集合 $a_i\in [1,m]$,会进行 $k$ 次如下操作:选择一个数 $y\in[1,m]$ 加到 $a$ 中,并把 $a$ 中第 $x$ 小的元素删除。 有 $m^k$ 种情况,对于每种情况的价值定义为最后 $a$ ......
题解 Priority Queue 139D ARC

关于容斥原理 / P5505题解

发现很多题解连容斥原理的“钦定”和“至少”的区别都讲不清楚,误导萌新,所以写一下这两个东西的区别 “钦定”这个东西是会算重的,而“至少”不会。 举个例子吧,比如 $1\ 2\ 3$ 三个位置不合法,如果我说“钦定”两个位置不合法,那么这里计算方案的时候这个不合法的方案会被计算三次,分别是钦定 $1\ ......
题解 原理 P5505 5505

[JOI 2016 Final]断层 题解

题目链接 首先发现斜着平移比较难处理,所以考虑将平面逆时针旋转 $45°$。 接着发现风化也不好处理,但是风化的一定不会作为答案,所以我们可以离线,然后倒着处理操作,上升变为下降。 我们发现每个初始 $0$ 点最后的坐标就是它正着做时初始的坐标,且每次操作都只会将连续一段点的 $x,y$ 坐标修改。 ......
题解 断层 Final 2016 JOI

【23.05.03】好题题解

好题题解 A 题目大意: 计算一个项数为 $n$ 的多项式除以 $x^3-x$ 的余数多项式。 数据范围: 对于 $100%$ 的数据: $2 \leq n \leq 2 \times 10 ^ 5$ 解题分析: 水题,直接多项式除法模拟即可。 需要注意细节。 AC Code: # include ......
题解 23 05 03

【题解】ABC300 F,G

F.More Holidays 题目分析: 考虑刻画一下我们选择是什么样子的。 考虑我们最后选择的 $T$ 中的一段一定是形如:一个完整的 S 选择一个后缀 $+$ 若干个完整的 S $+$ 一个完整的 S 的前缀。 这样的话就启示我们直接枚举这个前后缀选择的是什么,然后就可以很快算出来了,但是枚举 ......
题解 ABC 300

[POI2005]SAM-Toy Cars 题解(贪心+堆)

题面 首先考虑一个贪心策略:当地板已经放满需要取出一个时,取下一次使用时间 $nxt$ 最晚的那个。 所以我们只需要一个可以快速求出一个集合中 $nxt$ 最小的点并删除,插入新点的数据结构,这里很容易想到堆。 代码很简洁,注意数组的下标是位置还是颜色(考场 100 pts 到 0 pts)。 co ......
题解 SAM-Toy 2005 Cars POI

Cashier 题解

题目传送门 一道贪心题。 我们可以记录每一位客人离开的时间,当下一位客人来临时,他们之间空闲的时间就是我们休息的时间。 for (int i = 1; i <= n; i++) { int t, l; cin >> t >> l; ans += (t - endt) / a; endt = t + ......
题解 Cashier

Valhalla Siege 题解

题目传送门 一道二分题。 先观察数据范围,$1\le n,q\le 200,000$,显然需要 $O(n\log n)$ 的复杂度。且 $1\le k_i\le 10^{14}$,需要开 long long。 我们需要二分到第一个血量大于伤害值的武士的位置,前面的武士都死了。而在 C++ 算法库中, ......
题解 Valhalla Siege

[ABC213D] Takahashi Tour 题解

题目传送门 一道 dfs 序题。 题目中高桥每次只会去最小的那个点,所以要先对整张图进行排序。 for (int i = 1; i <= n; i++) sort(g[i].begin(), g[i].end()); 然后考虑 dfs。高桥不会走重复的点,所以我们可以开一个 vis 数组进行标记。然 ......
题解 Takahashi 213D Tour ABC

[蓝桥杯 2017 国 C] 合根植物 题解

题目传送门 一道并查集模板题。 没什么好说的,先给个并查集模板,神犇可以直接跳过。 查找根: int find_root(int n) { if (fa[n] == n) return n; return fa[n] = find_root(fa[n]); } 合并: void merge(int ......
蓝桥 题解 2017

Codeforces Round 869 (Div. 2) A-D题解

比赛地址 A. Politics 题意:有n个人对m个决案进行投票,对于每一个决案如果票数相同则所有人都离场,反之票数少的一方离场,现在提前知道了每个人的意见,让一些人参与投票,在保证第一个人不离场的情况下最终剩余人数最多是多少 Solution 把和第一个意见不同的给去掉就行了 void solv ......
题解 Codeforces Round 869 A-D

sort快排

#include<bits/stdc++.h> using namespace std; int n; long long a[100010]; bool b,px[100010]; void jh(int x,int y) { int az=a[y]; a[y]=a[x]; a[x]=az; } ......
sort

Linux shell command ls sort by date All In One

Linux shell command ls sort by date All In One ls 按时间排序,最新的排在最前面 $ ls -t $ ls --time # reverse $ ls -tr ......
command Linux shell date sort

AT_abc106_d [ABC106D] AtCoder Express 2 题解

题目传送门 解题思路 区间 $dp$。 划分阶段:以左右城市之间的列车数量为阶段。 状态表达:设 $f_{i,j}$ 为城市 $i$ 与城市 $j$ 之间的列车数量。 状态转移: 由图可知,城市 $l$ 与城市 $r$ 之间的列车数量,就是城市 $l$ 与城市 $r-1$ 之间的列车数量与城市 $l ......
题解 106 AtCoder Express AT_abc

CF1817C Similar Polynomials 题解

可能更好的阅读体验 题目传送门 Div.1 C 拉格朗日差值,赛时开香槟。 题目大意 给定 $d$ 次两个多项式 $A(x),B(x)$。求 $s$,使得 $B(x)\equiv A(x+s) \pmod {10^9+7}$ ,保证 $s$ 存在。 给出多项式的形式为给出 $x=0,1,\cdots ......
题解 Polynomials Similar 1817C 1817

P5824 十二重计数法 题解

P5824 十二重计数法 题解 $\text{I}$:小球不同,盒子不同 每个小球都有 $\large m$ 个盒子可选择,根据乘法原理相乘。因此答案为 $\large m^n$ 。 $\text{II}$:小球不同,盒子不同,每个盒子至多装一个小球 每个盒子不能装多个小球,所以第一个小球有 $\l ......
题解 P5824 5824

题解 CF1325E【Ehab's REAL Number Theory Problem】

problem 给一些数,每个的因数个数不超过 7,求最少选出多少个,使得乘积为完全平方。无解输出 −1。$n=10^5,V=10^6$。 solution 如果一个数有三个不同的质因子,那么它至少有 8 个约数;如果一个数有平方因子,我们可以除掉。 所以任何数都可以写成下面三种形式:($p,q$ ......
题解 Problem Number Theory 1325E

CF三月D题题解

cf1798d 题意:重排序列,使得其中连续子序列和的绝对值最大的最大值小于序列最大值减最小值,序列和为0 考虑这样一种构造方案: 正负数分类,0直接不管 然后记录当前和sum,当sum非负时,加上一个负数,当sum是负数时,加上一个正数即可 正确性证明: 显然前缀和都是合法的。考虑计算前缀和数组, ......
题解

# 4月CF练题题解

1811D 1814C 1819B 1821D 1770D 题意: Koxia 和 Mahiru 正在玩一个游戏。游戏使用 $a,b,c$ 三个长度为 $n$ 的数组,共进行 $n$ 轮。 每一轮中,Koxia 先在 $a_i,b_i,c_i$ 中选择一个数字,Mahiru 再从未选择的两个数字中选 ......
题解

「BZOJ2144」跳跳棋-题解

「BZOJ2144」跳跳棋 个人评价 挺好的一道题,难点在于想到树这个结构和建树 1 题面 跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。我们用跳跳棋来做一个简单的游戏:棋盘上有 3 颗棋子,分别在 a,b,c 这三个位置。我们要通过最少的跳动把他们的位置移动成 x,y, ......
跳棋 题解 BZOJ 2144

Educational Codeforces Round 147 (Rated for Div. 2) A~E 题解

A Link。 模拟,代码。 B Link。 模拟,代码。 C Link。 我们设 $c$ 为最后相同的字符。 性质:我们一定不会删除字符 $c$。 因此以 $c$ 为最后字符的操作次数就是不包含字符 $c$ 的极大段的最小操作次数的最大值。 对于一个长度为 $l(l\ge 1)$ 的段,它的最小操 ......
题解 Educational Codeforces Round Rated

P4198 楼房重建 题解

P4198 楼房重建 题解 线段树二分 思路 考虑在线段树内维护二信息: 区间斜率最大值 $mx$ 区间最大斜率上升序列长度 $len$ 答案即为根节点的 $len$。 考虑转移信息二: 蓝色部分代表左区间的上升序列,红色是右区间的,绿色折线就是当前区间的上升序列。 🤔稍微思考之后发现,左区间的上 ......
题解 楼房 P4198 4198

P2051 [AHOI2009] 中国象棋 题解

DP。状态设计是点睛之笔。 首先显然有每行或每列只能有至多 $2$ 个棋子。 设状态 $f_{i,j,k}$ 为第 $i$ 行,有 $j$ 列只放了一个棋子,$k$ 列放了两个棋子。 之后直接转移即可。注意边界判断。 code: 点击查看代码 #include<bits/stdc++.h> #def ......
中国象棋 题解 象棋 P2051 2051

[Javascript] Avoid mutation, Array.prototype.toSorted() vs sort()

sort(), mutates the original array, and return the reference to original array and sorted. The toSorted() method of Array instances is the copying ver ......
Javascript prototype mutation toSorted Avoid

CF1034D Intervals of Intervals 题解

传送门 CF1034D Intervals of Intervals 题目大意 有 $n$ 个线段,第 $i$ 个是 $[a_i,b_i]$。 定义区间 $[l,r]$ 的价值是第 $l$ 个线段到第 $r$ 个线段的并的长度。 找出 $k$ 个不同的区间,使得总价值最大。输出最大总价值。 $1 \ ......
Intervals 题解 1034D 1034 CF