题解p9669 jinan order

牛客练习赛114 D题题解

~~比赛编号太臭了~~ [题目链接](https://ac.nowcoder.com/acm/contest/63804/D) 对一第一组数据,我们形象化的得到下图: ![image](https://img2023.cnblogs.com/blog/3073061/202308/3073061-2 ......
练习赛 题解 114

UVA10192题解

为了尽可能满足父母亲的要求,我们应该取两个字符串的最长公共子序列。 [洛谷模板题](https://www.luogu.com.cn/problem/P1439) 设 $dp_{i,j}$ 为 $a$ 串匹配到第 $i$ 位,$b$ 串匹配到第 $j$ 位时的最长公共子序列长度。 则易知 $dp_{ ......
题解 10192 UVA

CF498A题解

简单解析几何。 做这道题之前,你需要知道: 1. 根据两点求直线一般式。 2. 根据两条直线求交点坐标。 这里直接丢公式了,百度上也有证明过程,自己推导难度也不大。 1. 若两点坐标为 $(x_1,y_1),(x_2,y_2)$,则直线方程为:$Ax+By+C=0$,其中 $A=y_2-y_1,B= ......
题解 498A 498 CF

AT_donuts_2015_3 题解

根据题意,发现我们要维护一个身高递减的序列。 因此,我们可以直接使用单调栈维护第 $i$ 个人能看到的人数即可。 答案就是当前栈内的元素数量。 注意应先输出答案再将当前高度入栈。 ```cpp #include int n; int h[100010]; int st[100010]; int to ......
题解 AT_donuts donuts 2015 AT

P9166题解

简单题,但是我考场写炸了。$100\rightarrow70$。 我们读入的时候,先开两个数组 $ls,rs$ 来记录当前这个点是否为某条线段左端点或右端点。 我们发现,每一条线段都是连续的,因此可以直接差分记录当前这个点能否走到。 然后你提交上去发现你能过。 实际上这种做法是假的。 为什么呢? 如 ......
题解 P9166 9166

ABC296D题解

简单题。 考虑 `-1` 的情况,即为 $n^2 #include #define ll unsigned long long ll n,m; ll ans=1llm) ans=min(ans,a*b); } printf("%llu",ans); } return 0; } ``` ......
题解 296D ABC 296

ABC020C题解

本题二分 + 搜索。 我们可以先二分出 $x$ 可能的值,再用搜索检验这个答案是否满足要求。若满足,左端点右移,否则右端点左移。 至于搜索可以用记搜加速。 注意输出要换行,否则会 WA。 ```cpp #include #include int n,m,t; char map[20][20]; in ......
题解 020C ABC 020

CF1712C的题解

对于 $n=1$,答案显然为 $0$。 我们能很清楚一点,因为 $a_i>0$,所以当 $a_x$ 需要改为 $0$ 时, $a_1\sim a_{x-1}$ 也都必须改 $0$,这样才能使前面的满足 $a_{i-1}\le a_i$ 那我们首先得先记录每一个数出现的最后一个位置 `last[a[i ......
题解 1712C 1712 CF

YACS 2023年8月月赛 甲组 T1 不定方程 题解

题目链接 背包 首先想到背包,$f_{i,j}$ 为前 $i$ 个数和为 $j$ 的方案数,但时间复杂度为 $O(n\cdot 20000000)$,会炸。 如果背包跑的时候只跑到当前的 $sum$,就能得到常数的优化,但仍然不足以通过。 插板法 先来考虑一个更简单的问题,每个 $a_i$ 只有下界 ......
甲组 不定方程 题解 月月 方程

P3847的题解

典型到不能再典型的区间 dp 了。 观察四种操作,考虑到加一个数和删一个数的情况相同,所以无非就是: 1. 删一个数。 2. 改一个数。 设 $dp[l][r]$ 为让区间 $l\sim r$ 对称(变成回文串)的最少次数。 可以很快地得出状态转移方程: 情况 $1$:如果 $a_l=a_r$,则 ......
题解 P3847 3847

CF1701B的题解

简单构造题。 很明显的,当 $d=2$ 的时候代价最大。 证明: $\because p_i\cdot d=p_{i+1}$ 当 $d$ 减小时,$p_i\cdot d$ 也在减小,$p_{i+1}$ 也在减小, 那么 $p_{i+1}$ 减小时,$p_{i+1}$ 可供选择的数就越多,代价也随即越 ......
题解 1701B 1701 CF

CF1311F的题解

前置芝士:二维偏序。 二维偏序的板子题。 怎么看出是二维偏序的呢? 考虑点对 $(i,j)$,令 $x_iv_j$,则两点会越来越近,易知最短距离为 $0$,所以我们不需要考虑这种情况。 所以问题转化成:$x_i #include using namespace std; #define int l ......
题解 1311F 1311 CF

CF605B的题解

算是对 [Leap_Frog大佬的补充吧qwq](https://www.luogu.com.cn/blog/daniu/solution-cf605b)。 %%% Leap_Frog. 我们来看一下大佬的这段话: 考虑倒着思考 Kruskal 算法。 按边权从小到大排序。 每次插入一条边。 如果是 ......
题解 605B 605 CF

CF131D的题解

注意到 $n$ 实在是小到不行,我们可以直接采用比较暴力的做法。 ~~(嗯,可能算比较暴力吧~~ 很简单,找环,然后把环里的所有点全部压进 `dijkstra` 的优先队列就行了。 找环最坏 $n$ 遍跑满的 `dfs`,最短路是 $O(n\log n)$ 的,最坏时间复杂度为 $O(n^2)$,稳 ......
题解 131D 131 CF

CF1712A的题解

挺简单的一道题。 要想使 $\sum\limits^k_{i=1}p_i$ 最小,很明显的,前 $k$ 个数必须为 $1\sim k$。设 $c_i$ 为 $i$ 在 $p$ 里出现的位置,则答案为 $\sum\limits^{k}_{i=1}[c_i>k]$。 ```cpp #include in ......
题解 1712A 1712 CF

P2128的题解

可能是我第一篇被通过的题解 好一道图论水题!(虽然因为没有审题交了两遍才过 这题好长啊,一句话题意: `求无向图中的完全图的最大点权和` 那就很简单了 对读入的图存为两种形式:邻接矩阵和邻接表 邻接矩阵是为了更快的判断两点之间有没有边 邻接表是为了更快的枚举每一个点所连的每一条边(虽然没有这个必要, ......
题解 P2128 2128

P8254的题解

真没啥好说的,纯模拟 ```cpp #include int n,m; int q[2000][2000]; int a[2000]; int ans; int cnt; inline int read() { int x=0,f=1; char ch=getchar(); while(ch'9') ......
题解 P8254 8254

CF1673A的题解

~~好久没做CF的水题了~~ 由于每一个人都以最佳策略进行游戏且Alice先手。 设字符串长度为 $|s|$。 我们可以考虑: 1. $|s|$ 为偶数,此时Alice可以直接全部取走,不给Bob任何机会 ~~(人心险恶啊)~~。 1. $|s|$ 为奇数,此时Alice最多取 $|s|-1$ 个字 ......
题解 1673A 1673 CF

CF1674A的题解

一道简单的题目 先考虑 `0 0 ` 的情况 很显然,有两种情况: 1. $y$ 不是 $x$ 的倍数 1. $\Large \frac{y}{x}$ 无法被分解成 $b$ 的乘方 如果不满足上述两种情况,我们只需要将 $b$ 从 $1$ 遍历到 $\Large \frac{y}{x}$ ,找到解输 ......
题解 1674A 1674 CF

CF1674B的题解

很简单的题 可以先初始化一下,把所有单词放进一个 `map` 里,最后输入时用 `map` 映射即可。 一个坑点,注意每一个单词的两个字母不相同。 ```cpp #include #include #include #include using namespace std; map mp; void ......
题解 1674B 1674 CF

CF1674C的题解

有意思的题目。 还是比较好想的。 先考虑 `-1` 的情况,可以想到,如果 $t$ 的长度不为 $1$,并且 $t$ 里面还有 `a` 的话,那么这个新的 `a` 又能被下一个 $t$ 替换,无限套娃。 剩下的,还是有两种情况: 1. 如果 $t$ 只有一个字符 `a` ,那么 $s$ 无论怎么被替 ......
题解 1674C 1674 CF

P4956的题解

[原题传送门](https://www.luogu.com.cn/problem/P4956) 这道题我们想:$52$周所挣的钱都是一样的,我们可以先算出其中一周要多少钱。在**一周**中,Davor挣的钱数是: $$ \large \begin{aligned} money&=(x)+(x+k)+ ......
题解 P4956 4956

P1451的题解

当然,这道题**不**是我出的题目 ~~(滑稽保命~~ [原题传送门](https://www.luogu.com.cn/problem/P1451) # 一、审题 首先,我们看看,这道题是让我们求连在一起数字大于0的部分的数量 # 二、想思路 这道题是一道搜索题(废话),我喜欢用dfs的暴搜(真香 ......
题解 P1451 1451

P1087的题解

[原题传送门](https://www.luogu.com.cn/problem/P1087) 好久没写题解了QwQ 这道题我的代码感觉很像线段树(?) 我们先把这道题拆成两个部分:建树、遍历 # part.1 建树 我们可以每一次传入三个值:当前的结点和当前结点所对应的串的左右端点的下标 当然,我 ......
题解 P1087 1087

NOI 1.13-41的题解

第一次做站外题的题解/jd [题目传送门](http://noi.openjudge.cn/ch0113/41/) 为什么要写这一篇题解呢,是因为它卡了我很久,好不容易AC了(我太蒟,大佬勿喷) 我们开始吧! ## 一.审题 题目描述很清楚了,大家自己看吧 ## 二.代码&讲解 这里我会给大家上几个 ......
题解 1.13 NOI 13 41

子查询用order by,外层用group by但是order by没生效

今天遇见一个需求:从entity表查询name在我传过来的一个name集合里面,但是同一个name可能会重复,所以我需要根据plan字段判断取每个name的第一条,如果plan=我传进来的plan,优先,plan不等于我传进来的参数的情况下,如果plan不为空,优先,最后就是plan为空的数据。返回 ......
order 外层 group

[AGC030D] Inversion Sum 题解

## 题意 给定一个长度为 $n$ 的排列 $a$ 和 $m$ 个形如 $\left(x,y\right)$ 的操作,每次操作可以选择是否交换 $a_x, a_y$,求最终所有形成的排列的逆序对总数。 ($1 \le n,m \le 3000$)。 ## 题解 考虑转化题意,考虑求出最终总的期望逆序 ......
题解 Inversion 030D AGC 030

P7485 「Stoi2031」枫 题解

## 题意 给定两个正整数 $n, k$,将 $n$ 个元素排成一个序列并按 $1 \rightarrow n$ 编号,每次轮流从前 / 后开始每隔 $k$ 个未删除元素删除一个元素,求最终剩余的一个元素的编号。 ## 题解 因为 $k$ 的取值很少,考虑对于每个 $k$ 进行递推。 在已钦定 $k ......
题解 P7485 7485 2031 Stoi

arc142,arc143,arc144题解

## ARC142 A-E ### A Reverse and Minimize 憨的。 ### B Unbalanced Squares 构造。考虑一行之内大小交错,行间则单调排列。这样可以使得每个点上下大小关系抵消,左右的又保持一样,于是就合法了。 ### C Tree Queries 处在 $ ......
arc 题解 142 143 144

Codeforces Round 894 (Div. 3) A-F题解

# A. Gift Carpet ### 题意 最近,特马和维卡庆祝了家庭日。他们的朋友 Arina 送给他们一块地毯,这块地毯可以用拉丁文小写字母的$n \cdot m$表来表示。 维卡还没看过礼物,但特马知道她喜欢什么样的地毯。如果维卡能在地毯上读出自己的名字,她一定会喜欢的。她从左到右逐列阅读 ......
题解 Codeforces Round 894 A-F