
题解
文章平均质量分 72
峰不二子的小迷弟
有志者,事竟成
展开
-
2023牛客五一集训派对day2部分题解
取任意一个非叶子节点作为根,然后求一个dfs序,并把所有叶子节点按dfs序排序,记为 l1, l2...ls 先假设 s 为偶数,那么构造的 s / 2 可以为 i -> s / 2 + i,能保证每条链都会被覆盖到。将树建成一个无向图,然后对度不为1的某个点进行深搜遍历,记录度为1的叶子节点的序号,如果叶子节点为奇数,那么在数组最后加上一个根节点的序号。所以我们只要求一个dfs序,然后根据根左子树的叶子节点和根右子树的叶子节点逐一配对,如果叶子节点是奇数时,随便找个节点与其匹配就可以了。原创 2023-05-01 02:32:21 · 982 阅读 · 3 评论 -
2023牛客五一集训派对day1部分题解
此时可以把 a 和 b 都看作一位数(类似于十进制), 那么我们可以把字典序的比较看作每一位上的比较, 也就是说此时比较的就是各位的数(a, b)乘上对应位的权值。sum1 对应 2k - 1 位 k = 1, 2, 3...按 x 进制表示则有位数越小, 位数就越考前, 权值也就越大。我们可以设 s1 = a + b, s2 = b + a。sum2 对应 2k 位 k = 1, 2, 3...的字典序, 故直接比较 s1 - s2 即可。对应的权值总和为 sum1,对应的权值总和为 sum2,原创 2023-04-30 00:09:16 · 1108 阅读 · 0 评论 -
线段树(单点修改+询问区间最大子段和)
题目大意:给出一个动态的区间,以及 m 次询问,每次询问给出一段区间 [l, r],要我们求出这段区间中。看到这种单点修改和区间查询的问题,我们一般会想到线段树来求解。对于这道题来说,我们可以将最原始的线段树修改成如下的几个参数。建树和修改的过程跟普通线段树没什么太大区别。于是我们就可以像这样维护连续的子区间和了。如果还是理解不了可以自己画图试试。原创 2023-03-07 20:29:51 · 320 阅读 · 0 评论 -
AtCoder Beginner Contest 278 E - Grid Filling(题解 三维前缀和)
我们发现题目的数据给的很小,甚至可以(N ^ 3)。所以我们想到,单独统计矩阵内某一个数字的个数就是用二维前缀和维护的,得到矩阵外的个数也就是直接拿右下角的最大前缀和,减去维护的矩阵就可以了。接下来我们推广一下,对每个数字都这样维护一个二维前缀和,也就多了一维。给你一个 H * W 的矩阵,每个单元格内包含一个不大于 N 的数,再给一个小矩阵 h * w,从左上角开始一次移动一格,直到右下角与大矩阵边缘重合时结束。请你求出他在每个点围成的小矩阵之外所有单元格的数字种类个数总和。原创 2022-11-20 01:14:01 · 497 阅读 · 1 评论 -
关于优快云编程竞赛第五期
希望 优快云 能请一些专业的出题人,或者找一些大厂的笔试算法题(最好改编一下别直接原题),能对参赛者有实际提升价值的比赛才算是好的比赛,最好照顾到不同级别的选手,难易程度要把握好,此外就没有什么大的建议了,优快云 本质是博客技术网站,举办编程竞赛无可厚非,但既然要做就请一定要做好。有一个神奇的键盘,你可以用它输入a到z的字符,然而每当你输入一个元音字母(a,e,i,o,u其中之一)的时候,已输入的字 符串会发生一次反转!比方说,当前输入了tw,此时再输入一个o,此时屏幕上的字符串two会反转成owt。原创 2022-09-09 22:58:04 · 407 阅读 · 1 评论 -
Codeforces Round #425 (Div. 2) D 题解
我们考虑对于一个树,在选取的三个节点中,求出两两对应的三个LCA,此时我们可以找到每个 lca 和终点的距离再比较距离的大小就可以得到结果。其实如果我们仔细想一下,我们只要找到深度最深的 lca 再比较它到每个点的距离就可以了。因为最深的 lca 点一定是会经过两条路径的点。这里给个图帮助大家理解。每次询问将给出三个点:a,b,c,你需要在这三个点中选出两个点作为起点,一个点作为终点,由此得到两条路径,且两条路径。例如:你可以选择 a,c 作为起点,b 作为终点,从而得到路径 (a,b),(b,c)。原创 2022-08-22 17:06:17 · 349 阅读 · 0 评论 -
Codeforces Round #816 (Div. 2) 题解 A,B,C
Codeforces Round #816 (Div. 2) 题解 A,B,C原创 2022-08-22 00:38:45 · 459 阅读 · 0 评论 -
ACWing 198. 反素数 题解
约数的经典例题对于任何正整数x,其约数的个数记作 g(x),例如 g(1)=1、g(6)=4。如果某个正整数x满足:对于任意的小于x的正整数i,都有 g(x)>g(i),则称x为反素数。例如,整数 1,2,4,6等都是反素数。现在给定一个数N,请求出不超过N的最大的反素数。...原创 2022-08-05 23:34:42 · 266 阅读 · 0 评论 -
洛谷 P1764 翻转游戏 (加强版) 题解(搜索)
题目链接题目描述kkke在一个n*n的棋盘上进行一个翻转游戏。棋盘的每个格子上都放有一个棋子,每个棋子有2个面,一面是黑色的,另一面是白色的。初始的时候,棋盘上的棋子有的黑色向上,有的白色向上。现在kkke想通过最少次数的翻转,使得棋盘上所有的棋子都是同一个颜色向上的(即全是黑色向上的,或全是白色向上的)。每次翻转的时候,kkke可以选择任意一个棋子,将它翻转,同时,与它上下左右分别相邻的4个棋子也必须同时翻转。输入格式输入的第一行是一个整数n,表示棋盘是n*n的,接下来有n行,每行包括原创 2022-05-04 19:53:37 · 1122 阅读 · 0 评论 -
洛谷P2648 赚钱 题解(最短路变形)
洛谷P2648 赚钱题目描述zzy现在决定环游中国,顺便赚点钱。zzy在一个城市最多只能赚D元,然后他可以选择退休也就是停止赚钱,或者去其它城市工作。当然,他可以在别处工作一阵子后又回到原来的城市再赚D元。这样的往返次数是没有任何限制的。城市间有P条单向路径连接,共有C座城市,编号从1到C。路径i从城市Ai到城市Bi,在路径行走上不用任何花费。zzy还可以乘飞机从某个城市飞到另一个城市。共有F条单向的航线,第i条航线是从城市Ji飞到另一座城市Ki,费用是Ti元。假如zzy身上没有现钱,他可以原创 2022-04-27 17:26:00 · 576 阅读 · 0 评论 -
2022年团体程序设计天梯赛 L2-3 龙龙送外卖
L2-3 龙龙送外卖龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……看着一大堆订单,龙龙想知道,从外卖站出发,访问所有点了外卖的地方至少一次(这样才能把外卖送到)所需的最短路程的距离到底是多少?每原创 2022-04-27 11:29:26 · 1420 阅读 · 0 评论 -
[NOIP2015 普及组] 推销员 题解(贪心)
原题链接解题思路我们直接用贪心,将每家每户按疲劳值从大到小排序,那么他最大的可能疲劳值就是前 X 个疲劳值,加上前 X 个中最远的一个的距离*2。当然,只这样操作的话,很轻松就会被hack了,比如一个在 1 位置的家庭疲劳值是 5,另一个在 4位置的家庭疲劳值是 1。那么刚才的方法就没法用了。...原创 2022-04-26 18:59:06 · 799 阅读 · 1 评论 -
[USACO15DEC] Counting Haybale P 题解(线段树)
题目链接题目描述题目简单来说就是,给你n个数,并可以对其中任意一个区间进行如下操作:给定一个连续区间,在该区间内的每个数都加上某个数 给定一个连续区间,找出该区间的最小数 给定一个连续区间,求出该区间的和其实,把题目理解透彻之后,基本上就知道要求什么了。没错,这是一道蓝题(提高+/省选-),但其实没有那么的难,只是代码实现上可能会有问题。我个人感觉应该是绿题(晋级+/提高-)的难度。解题思路直接把线段树糊上去就行了,注意取最小值时懒标记的更新方法,还有就是开long lon原创 2022-04-25 14:22:17 · 1423 阅读 · 0 评论 -
第一届ACC(AcWing Cup)全国高校联赛 全部题解
前言这场比赛一共就三道题,难度听说是对标蓝桥杯的水平,难度还是比较简单的。毕竟是第一次举办这种大型赛事,比赛刚开始的十分钟,我根本就连不上,后面终于进去了,前三名已经出来了,然后其实就已经不太想打了。好了闲话就扯这么多,下面开始讲解题目。题目第一题4376. 数圈圈 难度:简单十六进制是一种基数为1616的计数系统,是一种逢1616进11的进位制。通常用数字0、1、2、3、4、5、6、7、8、9 和字母A、B、C、D、E、F 表示,其中:A∼FA∼F表示10∼15...原创 2022-03-21 16:04:54 · 392 阅读 · 0 评论 -
Great Sequence 题解(思维)
题目链接简单理解一下,题目要求我们求出,需要再添加几个数才能让其中所有的数都满足 ai/x=aj (其中i,j为任意常数),而且我们不难发现他给的数据量很可怕,最坏情况下的O(N * T)怕不是要t到飞起,所以我索性就直接写了个暴力上去。(结果数据还是很和善的嘛)解题思路对于某个数据,最坏的情况就是我们给每一个数都要加上他对应的数,所以我们设ans的值最开始是n。我们把所有的数进行排序,并从大到小的找,我们设定 i和j 都是从大到小的标号,对于每个 i 我们标记一下,并按照题目给的.原创 2022-03-19 15:30:29 · 1395 阅读 · 0 评论 -
动态规划 鸡蛋的硬度题解
描述最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世 界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法--从高度扔鸡蛋--来 测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。你当然可以找出各种 理由说明这种方法不科学,比如同一只母鸡下的蛋硬度可能不一样等等,但是这不影响XX公司的争霸赛,因为他们只是为了吸引大家的眼球,一个个鸡蛋从10原创 2021-12-30 19:05:00 · 477 阅读 · 0 评论 -
2021.11.21 JXNU ACS算法组 第四次周赛部分题解
这次出题人整了个全英文的题面,说是为了让我们备考四级,好家伙Cubes Sorting描述:For god's sake, you're boxes with legs! It is literally your only purpose! Walking onto buttons! How can you not do the one thing you were designed for?Oh, that's funny, is it? Oh it's funny? Because we原创 2021-11-21 22:55:25 · 399 阅读 · 0 评论 -
post office 动态规划题解
描述There is a straight highway with villages alongside the highway. The highway is represented as an integer axis, and the position of each village is identified with a single integer coordinate. There are no two villages in the same position. The distanc原创 2021-11-19 16:35:27 · 481 阅读 · 0 评论 -
河中跳房子
描述每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远(1 ≤L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N(0 ≤N≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di(0 <Di<L)。在比赛过程中,奶牛轮流从起点出发,尝试到达终点,每一步只能从一个岩石跳到另一个岩石。当然,实力不济的奶牛是没有办法完成目标的。农夫约翰为他的奶牛们...原创 2021-11-17 00:02:07 · 318 阅读 · 0 评论 -
膨胀的木棍
一道非常有意思的二分题描述当长度为L的一根细木棍的温度升高n度,它会膨胀到新的长度L'=(1+n*C)*L,其中C是热膨胀系数。当一根细木棍被嵌在两堵墙之间被加热,它将膨胀形成弓形的弧,而这个弓形的弦恰好是未加热前木棍的原始位置。你的任务是计算木棍中心的偏移距离。输入三个非负实数:木棍初始长度(单位:毫米),温度变化(单位:度),以及材料的热膨胀系数。保证木棍不会膨胀到超过原始长度的1.5倍。输出木棍中心的偏移距离(单位:毫米),保留到小数点后第三位。样例输入原创 2021-11-16 23:31:56 · 667 阅读 · 0 评论 -
2021.11.6 JXNU ACS算法组月赛 部分题解
A 流放描述:yezzz 近日被流放到了北方的牧场养牛,er_sz 给了他一块面积为s平方米的矩形牧场,还需用栅栏围起来。已知每米栅栏 1 元,问最少花多少钱,便能将这块牧场围起来?注意:牧场可为满足“长×宽=面积s”条件的任意长宽的矩形,长宽皆为整数。输入:第一行,一个整数T,表示有T组测试样例,题目保证0<T≤100。接下来T行,每行一个整数s表示牧场面积(0≤s≤109)。输出:输出共T行,每行输出一个整数,表示对于该组样例ye...原创 2021-11-10 23:36:52 · 819 阅读 · 0 评论 -
扩号匹配问题
描述在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注.输入输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100注意:cin.getline(str,100)最多只能输入99个字符!输出对每组输出数据原创 2021-11-05 18:58:38 · 342 阅读 · 1 评论 -
2021.10.30 JXNU ACS算法组 周练部分题解
A Vupsen, Pupsen and 0描述:Vupsen and Pupsen were gifted an integer array. Since Vupsen doesn't like the number0, he threw away all numbers equal to0from the array. As a result, he got an arrayaof lengthn.Pupsen, on the contrary, likes the number...原创 2021-10-30 16:05:00 · 236 阅读 · 0 评论