题解at_arc 154 arc

ARC168E

简要题意 给定一个长度为 $n$ 的序列 $a$,将 $a$ 划分为 $k$ 个连续段,最大化满足连续段中元素和 $\geq s$ 的连续段数。 题解 首先发现是恰好 $k$ 个连续段,这种类型的题套路地考虑 wqs 二分,然后你会惊喜的发现这玩意不是凸的,我的思考也就卡在这里了。 正确的做法是观察 ......
168E ARC 168

CF1898 C Colorful Grid 题解

Link CF1898 C Colorful Grid Question 给出一个 \(N\times M\) 的网格图 给每一条边染色(R/B),需要存在一条长度为 \(K\) 的路径从 \((1,1)\) 到 \((N,M)\),路径允许重复通过一个节点。 Solution 非常有意思的一道题 ......
题解 Colorful 1898 Grid CF

CF1898 B Milena and Admirer 题解

Link CF1898 B Milena and Admirer Question 给出一个长度为 \(n\) 的序列 \(a\) ,我们可以做一种操作使得 \(a\) 非降,操作是: 对于一个 \(a_i\) 选择一个整数 \(0 \le x \le a_i\) ,用两个数 \(x,(a_i-x) ......
题解 Admirer Milena 1898 and

CF1899 G Unusual Entertainment 题解

Link CF1899 G Unusual Entertainment Question 给出一个排列 \(p_i\) 和一棵树,给出 \(Q\) 组询问,每组询问 \([L,R,x]\) 表示求 \(p_L \sim p_R\) 上是否存在 \(p_i\) 在 \(x\) 的字数上。 Soluti ......
题解 Entertainment Unusual 1899 CF

noip2023 题解(民间数据)

P9868 [NOIP2023] 词典(民间) 直接把每个串 \(w_i\) 都从大到小/从小到大排一下,记作 \(a_i,b_i\)。如果 \(b_i\) 小于除了 \(i\) 之外的所有 \(a_i\),说明可以,否则不行。求一个前后缀最大值即可。复杂度 \(\mathcal{O}(26n+nm ......
题解 民间 数据 noip 2023

P9713 「QFOI R1」抱抱 题解

P9713 「QFOI R1」抱抱 题解 Sol 前置知识:长方体体积公式:\(V = abh\)。 我们知道,切割掉 \(x \le k\) 的部分就是把 \(a\) 减去 \(k\),切割掉 \(y \le k\) 的部分就是把 \(b\) 减去 \(k\),切割掉 \(z \le k\) 的部 ......
题解 P9713 9713 QFOI

NEFU OJ Problem 1496 绿巨人吃绿苹果 题解

Problem:H Time Limit:1000ms Memory Limit:65535K Description 从前有一个绿巨人,他有个习惯是每餐只吃n个绿苹果。他有一棵神树,无限大,每一层都有且仅有k个枝杈,这k个枝杈上正好分别有1,2,3...,k个苹果。为了锻炼身体,他在同一层仅仅能选 ......
题解 巨人 苹果 Problem NEFU

[ABC328C] Consecutive 题解

Hello World 链接 这道题是一个很明显的前缀和,我们把 $sum_i$ 表示为前 $i$ 个字符有多少个有重复,查询的时候就用 $sum_{r-1}-sum_{l-1}$ 就行了。 代码 #include<bits/stdc++.h> using namespace std; string ......
题解 Consecutive 328C ABC 328

[ABC326C] Peak 题解

题目链接 题目思路 这个问题要求找到一个半开区间,使得在这个区间内包含尽可能多的礼物。首先,我们需要将输入的礼物坐标按照从小到大的顺序进行排序。然后,我们可以使用双指针的方法来寻找最佳的区间。 代码 以下是代码解释: #include<bits/stdc++.h> using namespace s ......
题解 326C Peak ABC 326

CF222A Shooshuns and Sequence 题解

分析 这题是一个很水的题,就是对一个序列有 $2$ 种操作方法,一种是对第 $K$ 个数以前的数的第一个进行删除,另一个则是在整个序列后添加这第 $K$ 个数,使得整个序列为同一个数字,显然,后者是无效操作,则只需要判断第 $K$ 个数以后有无与第 $K$ 个不同的数,有则无解,反之有解。若有解,然 ......
题解 Shooshuns Sequence 222A 222

CF601B Lipshitz Sequence 题解

给你一个序列 \(v_{1 \dots n}\),定义 \(f(v)\) 为 \(v\) 中斜率最大值(\(\lvert v \rvert = 1\) 则 \(f(v)=0\)),有 \(q\) 组询问,每次给定 \(1 \le l \lt r \le n\),求 \(a_{l \dots r}\) ......
题解 Lipshitz Sequence 601B 601

NEFU OJ Problem 1489 青蛙赶路 题解【动态规划DP】

Problem:G Time Limit:2000ms Memory Limit:65535K Description 有一只青蛙,每秒选择走1米或跳m米,青蛙体力不足,所以不能连续两秒都在跳。 青蛙将移动到[l,r]之间,它想知道有多少种不同的方式来实现其目标。 两种方式是不同的,当且仅当它们移动 ......
题解 青蛙 Problem 动态 NEFU

ICPC2023深圳部分题解(A,D,E,F,G,K,L)

目录正题A 一道好题题目大意解题思路D 机器人兄弟题目大意解题思路E 二合一题目大意解题思路F 见面礼题目大意解题思路G 相似基因序列问题题目大意解题思路K 四国军棋题目大意解题思路L Mary 有颗有根树题目大意解题思路 正题 好像还没上gym所以放不了题目链接,深圳这场的题目我觉得都很好所以写个 ......
题解 部分 ICPC 2023

NEFU OJ Problem1485 贪吃蛇大作战 题解

Problem:F Time Limit:1000ms Memory Limit:65535K 题目 Description 贪吃蛇大家一定都玩过吧,现在宋哥也要玩这个游戏,最初的时候贪吃蛇从屏幕的左下角出发,但是有一个非常不幸的事情,就是宋哥的游戏机的左键和下键坏掉了,这意味着什么?没错!他只能操 ......
题解 Problem NEFU 1485 OJ

洛谷 P9869 [NOIP 2023] 三值逻辑 题解

https://www.luogu.com.cn/problem/P9869?contestId=145259 看到要给变量赋初始值,还是 T, F, U 之类的,容易想到 2-SAT。 设 \(1 \sim n + m\) 的点表示 \(x_1, x_2, \dots, x_{n + m}\) 为 ......
题解 逻辑 P9869 9869 2023

P9782 题解

题意 给定两个字符,分别是两个 \(26\) 进制数,\(A\) 到 \(Z\) 分别表示 \(0\) 到 \(25\)。求这两个字符的和。答案同样用这种 \(26\) 进制表示。不包含前导 \(0\)。 思路 先转化成 \(10\) 进制,再转化成 \(26\) 进制即可。 而因为只有一位所以就不 ......
题解 P9782 9782

P9779 题解

思路 因为不一定是只有一个答案,也就是多选题。所以就转化成了在 \(n\) 个里面选若干个。 而每种个数必须都试一次。所以答案为: \[\sum_{i=1}^{i \le n} C_n^i \]\(C_n^m\) 表示在 \(n\) 个里面选 \(m\) 个方案数,即组合问题。 众所周知, \[2^ ......
题解 P9779 9779

SP3889 Closest Number题解

题意简述 有两个 \(n\) 位十进制数 \(a\),\(b\)。要将数字 \(b\) 的每一位重新排列后,使得得到的数字一个在大于等于 \(a\) 的情况下更接近 \(a\),另一个在小于 \(a\) 的情况下更接近 \(a\)。 求这两个数,如果找不到就输出 0。 思路 以大于等于 \(a\) ......
题解 Closest Number 3889 SP

AT_gigacode_2019_b 题解

本题考查基本语法。 思路 用 while 来枚举每一组数据,用 if 判断是否合法。 在判断时需要使用逻辑运算符 &&,它的意思是左右两个要求如果同时成立,则会返回 true,否则返回 false。 \(a \ge x\),\(b \ge y\),\(a + b \ge z\)。 这三个条件都要同时 ......
题解 AT_gigacode gigacode 2019 AT

SP3881 题解

前置知识 最短路。 思路 这就是一道很简单的最短路板子,太良心了,用堆优化的 Dijkstra 就能过。相信大家都会这个,我就不介绍了。 AC CODE #include<bits/stdc++.h> using namespace std; int dis[100005],n,m,s,t,vis[ ......
题解 3881 SP

CF1251E1 题解

考虑使用贪心。 对每个人按 \(m\) 从大到小排序,这样可以使后面跟风的人跟多,需要花费金币越少。 维护一个小根堆,从后往前枚举,每次将人的贿赂值入小根堆。 如果当前人民的跟风值大于在小根堆里的人数,就将答案加上堆顶元素,并将堆顶元素出堆。 最后输出答案。 注意易错点,每次要将堆清空。不会只有我才 ......
题解 1251E 1251 CF E1

AT_code_festival_2018_quala_b题解

题意 给定一个序列,里面的值只有可能是 \(a\) 或 \(b\)(\(a < b\))。有 \(m\) 个区间,这里面的值必须是 \(a\),求如何是序列总和最大。 思路 因为 \(n\) 和 \(m\) 都只有 100,所以可以先暴力将所有值设为 \(b\),再将区间里的值暴力修改为 \(a\) ......

SP28304 ADATEAMS - Ada and Teams 题解

题目传送门 前置知识 乘法逆元 | 排列组合 解法 简单的排列组合。从 \(n\) 个学校中选出 \(a\) 个学校,共有 \(\dbinom{n}{a}\) 种不同的方案数。选出的 \(a\) 个学校中每所学校再从 \(b\) 个人中选出 \(d\) 个人,共有 \(\dbinom{b}{d}^a ......
题解 ADATEAMS 28304 Teams Ada

P7907 [Ynoi2005] rmscne 题解

P7907 [Ynoi2005] rmscne 题解 退役前的最后一篇题解,献给 Ynoi。再见了各位。 题目大意 给定一个长度为 \(n\) 的序列和 \(m\) 次查询,对于每次查询,给定 \(l, r\),求出一个最短的子区间 \([l', r']\),满足所有在区间 \([l, r]\) 中 ......
题解 rmscne P7907 7907 2005

P3412 仓鼠找sugar II 题解

P3412 仓鼠找sugar II 题解 大水题一个 题目大意 给定你一个树,设 \(f_{u, v}\) 表示在树上随机游走的情况下从 \(u\) 走到 \(v\) 的期望步数,求 \(\displaystyle \frac{\sum_{i = 1}^n \sum_{j = 1}^n f_{i, ......
仓鼠 题解 P3412 sugar 3412

CF391D1题解

题目链接 题意简述 给出若干条平面上线段,找出最大的正+形边长多少。 思路 不难,但是判断两直线相交要考虑全面。数据不大不多,暴力直接过了。 代码 #include<bits/stdc++.h> using namespace std; typedef struct line { int sx,sy ......
题解 391D 391 CF D1

[ABC326D] ABC Puzzle 题解

题目链接 解法分析 这个问题是一个经典的排列谜题,通过回溯算法来穷举所有可能的字符排列,然后验证是否满足行和列约束。这个解决方案可以用于解决类似的谜题,其中需要满足一定的排列条件。通过仔细考虑约束条件,可以加快解决问题的速度,减少不必要的计算。 更详细的我写在代码里了。 代码 #include <b ......
题解 ABC Puzzle 326D 326

P7775 [COCI2009-2010#2] VUK 题解

链接 这道题卡了我 $40$ 多分钟。 其实就是跑两遍广搜,第一遍算出每个点距离树的最小距离,第二遍开个优先队列,算出逃回窝的途中最大可能的离它最近的树的距离的最小值。 接下来重点讲一下第二遍广搜。 首先,我们要知道,如果我们用 queue ,那么最先到的点不一定是最优的。 所以,我们需要用 pri ......
题解 P7775 7775 2009 2010

CF985C 题解

CF985C题解 思路 由题意得知,现在有 $n\times k$ 块木板需要组装成 $n$ 个木桶,每个木桶由 $k$ 块板组成,容量服从短板原理,要求容量差不得超过 $I$,求最大容量和。 不管采用什么方法,无疑我们首先需要将板长(数组 $a$)从小到大排列。 利用贪心算法。先找出与 $a_0$ ......
题解 985C 985 CF

CF1552D题解

CF1552D题解 思路 首先,$a_i$ 的正负不重要,如果 $a_i=b_j-b_k$,那么就有 $-a_i=b_k-b_j$,读入时将 $a_i$ 全部转化为正数。 若满足 $a_i+a_j+\ldots+a_k$,那么就可以构造出 $b$ 序列,否则不行。 从左到右遍历一遍 $a$ 序列,动 ......
题解 1552D 1552 CF