- 博客(21)
- 收藏
- 关注
原创 【题解】P8865 [NOIP2022] 种花
行,然后计算一下黄色点能往右延伸几格,蓝色点能往右延伸几格,还计算蓝色点能向下延伸格,相乘即可。行,然后计算一下黄色点能往右延伸几格,蓝色点能往右延伸几格,相乘即可。表示不可以种花,请求出有多少种种花的的方案,使得形成。的左上角的点和第二条杠左边的点,即枚举第。发生变化,可以再用一个后缀和维护后缀和。的左上角的点和左下角的点,即枚举第。列,黄色点在这一列的第。行,蓝色点在这一列的第。列,黄色点在这一列的第。行,蓝色点在这一列的第。,还有多测要清空,不开。,计算的时间复杂度为。,计算的时间复杂度为。
2024-12-08 13:35:26
989
原创 树上的最远距离
其实,我们只需先找到一条直径,然后对于每个点,比较两个端点哪个距离该点较远即可。给定一棵树,对于每一个点,输出离它最远的点到它的距离。我们如果对每个点都跑一遍树的直径 dfs,时间复杂度。显然只允许我们跑一遍树的直径 dfs。,跑树的直径 dfs 后得到直径。最远的点到它的距离,记为。的路径更长,直径则应为。行,每行包含两个整数。最远的点到它的距离。
2024-12-03 22:58:19
980
原创 【题解】AT_joisc2007_mall ショッピングモール (Mall)
题目中不允许矩阵中有负数,结合求和的最小值,我们把负数赋为最大值不就行了吗。需要求一个矩阵的和,考虑二维前缀和。接下来就是求二维前缀和了。
2024-11-21 20:27:36
948
原创 【题解】AT_agc011_b [AGC011B] Colorful Creatures
我们知道,要想使一个生物能活到最后,那么它进行的每一次吸收前,它的大小应当尽可能大,所以我们考虑贪心,对生物的大小从小到大排序,每个生物都从小的开始吸收,看能不能活到最后,时间复杂度。,吸收不了则它就或不到最后,比它小的生物也或不到最后,所以终止扫描。当前最大的大小(即吸收前面所有比它小的),判断能否吸收生物。一定也不能活到最后。所以我们可以在排序后从后往前扫描。我们还知道,排序后,生物。不能活到最后,则生物。
2024-11-21 20:27:00
755
原创 NOI LINUX 系统终端常用操作
运行:(编译需要一点时间,等跳出路径后再输入)对于上面一点,我们要运行这个已编译的文件,可以写为。我们应该怎样检验它与考试下发的大样例正确答案是否一致呢?假设大样例的正确答案为。可以看到,它出现了彩色的一坨,还贴心地告诉了你哪里错了。,接着便可以进行输入,输入完成后就有输出了。如果说你觉得你的指令太多了,可以使用指令。我们可以右键空白处 - 在终端中打开(可替换为任意 C++ 可执行文件,,表示我把大样例读进去,然后输出到。以上操作可以叠加,且顺序任意。如果什么也没有输出,那就一致。,这是我们程序的输出。
2024-10-27 10:56:08
441
原创 【题解】[2023合肥蜀山初中] 旅行(travel)
这样做保证了只经过一条公共交通边,因为在第一层跑最短路,经过一条公共交通边后,会在第二层图跑最短路,到第二层图后就永远不会到第一层,也就不会经过多次公共交通边了。条公共交通边,所以可以只连骑行边,把图复制一遍,得到两层图。公共交通边作为两层图的连接的边,第一层图的。条边的有向图组成的城市,每条边可以是骑行边或公共交通边,公共交通边只能走一条,边是从。有一个很巧妙的思路叫分层图,它的思路是因为只能经过至多。,再在图上跑 dijkstra 就行,朴素和堆优化均可。,在两张图上建,公共交通边就是。
2024-10-16 22:14:01
684
原创 【题解】AT_arc035_b [ARC035B] アットコーダー王国のコンテスト事情
根据第一问,不难证明最优开题顺序肯定是唯一的,即开题顺序不能改变,因为任意两道题所需要的时间可能相同(这也是为什么会有开题顺序总数),所以我们可以交换所需要的时间相同的两道题的先后顺序。考虑贪心,不难想到要先完成所用的时间少的,因为每道题所用的时间都会累加到后面的题目的罚时中,前面的用时会对后面的罚时产生影响。个数调换顺序组成的方案数不就是小学学过的。注意 Atcoder 题输出最后要换行。贪心排完序后按题意模拟即可,注意要开。表示当前相同的题数,求。问题吗,方案数很明显为。
2024-09-16 23:07:31
340
原创 最长公共上升子序列||【题解】洛谷 P10954 LCIS
所以可以直接将第三重循环删去,改成递推求前缀最大和,如此可以减少重复计算。个数的 LCIS 的长度,但发现这样不好转移,我们可以考虑设。之前可能的结尾,检查能不能把。结尾的 LCIS 的长度。加入,如果可以,答案就是。,容易超时,正解在后面。考虑优化,不难发现因为。
2024-09-12 20:15:39
869
原创 【题解】SP3693 KGSS - Maximum Sum
线段树的单点修改,是先通过类似二分的方法找到需要修改的数并进行修改,再回溯更新祖先的最大值和次大值,其中,更新与建树中的相同。这道题让我们进行两种操作,分别是单点修改和区间查询,结合数据范围,很明显是一道线段树。线段树的区间查询,也是通过类似二分的方法,判断当前子树里是否包含我需要的。,其实就是求区间里的最大值和次大值,我们用线段树维护最大值和次大值。将以上代码合起来,就是最终答案了,单次修改和查询的时间复杂度应该是。区间的一部分,有则递归,否则就不递归进入,最后返回答案。表示区间最大值和次大值,其中,
2024-09-06 21:17:56
1000
原创 计算 4/1*2*3+5/2*3*4+...+11/8*9*10
考虑到原式的分子不同,如果分子相同就变得简单一些了,所以我们不妨将原式的分子都改成。接下来求后面一项的和,很明显。先求所有前面一项的和,即。最后就放一个完整的吧。
2024-09-01 17:13:27
1303
原创 2018年安徽省赛小学组题解
期待已久的“清明”假期终于到了。清明节是中华民族几千年来留下的优良传统,它有利于弘扬孝道亲情,唤醒家庭共同记忆,促进家庭成员乃至民族的凝聚力和认同感。小学生卡卡西非常高兴,因为清明前后正是踏青的好时光,他终于可以和小伙伴们一起出去踏青了!然而,天公不作美,假期的第一天就下起了雨,卡卡西只能放弃出游计划,待在家里。n×n棋盘左上角放置了一块石头,两人轮流移动此石头,每次操作只能上下左右四个方向移动一格位置,并且已经走过的格子不能再次重复移动,若卡卡西先移动,且两人都用最优的策略移动,谁能赢?1≤。
2024-08-23 22:11:39
755
原创 【题解】括号序列
构成的序列 ,请添加尽量少的括号,得到一个合法的括号序列。成为合法序列需要添加最少的括号数量,进行状态转移。先按区间长度从小到大枚举区间,再根据题中的。) ,都放在一行,中间没有其他多余字符。成为合法序列需要添加最少的括号数量。输出一个整数,表示使括号序列。均合法,所以可以将区间。是一个合法的序列,则。合法时才可以这样转移。(1)空序列是合法的。区间 dp 板子题。
2024-08-10 14:09:36
599
原创 【题解】最大异或对
二叉树,再枚举异或对中的其中一个数,去找和它对应的一个数,使得在一个数确定的情况下,异或的结果尽可能大。具体地,trie 树上的一个结点,看固定的这个数的对应数位上是。我们先将输入的数的二进制串建成一个 trie 树,类似于一棵。我们假设异或对的其中一个数确定,我们怎样使这两个数进行异或运算后的数最大呢?要使异或结果尽可能大,我们利用贪心的思想,让异或结果数位上左边尽可能是。两个数异或,两个数的二进制下,同一个位上不相同则这个位上异或结果为。,反之亦然,除非只能走相同的,这样得到的结果一定是最大的。
2024-08-07 11:22:33
423
1
原创 【干货】如何解决洛谷 Unknown Error?
(当然你也可以绑定,这时在洛谷递交此 OJ 题目时记录也会出现在你的个人账号上,无需再在原 OJ 递交),不管你是否绑定个人账号,递交代码都会将你的代码发送回原 OJ 进行评测。如果你递交这两个网站的题目 UKE 了,那多半是你。,提交外网题目时,提交的代码将被发送回原 OJ进行评测,并由洛谷抓取其评测结果。Unknown Error,即出现未知错误,当你在递交时 UKE 了,可能是。,当你未绑定时递交代码则不会将你的代码发送回原 OJ 进行评测,当你已经登录洛谷时仍然 UKE,那么你应该是在写洛谷的。
2024-08-02 16:20:17
2155
5
原创 浅谈时间复杂度
衡量一个算法的快慢,一定要考虑数据规模的大小。所谓数据规模,一般指输入的数字个数、输入中给出的图的点数与边数等等。一般来说,数据规模越大,算法的用时就越长。而在算法竞赛中,我们衡量一个算法的效率时,最重要的不是看它在某个数据规模下的用时,而是看它的用时随数据规模而增长的趋势,即时间复杂度。在算法中,使用时间复杂度来衡量程序运行时间的多少。每条语句执行的次数称为该语句的频度,整段代码的总执行次数则称为整段代码的频度。
2024-07-16 21:16:40
1057
原创 并查集(路径压缩法+启发式合并法)
问题很简单,给出一个亲戚关系图,规定x和y是亲戚,y和z是亲戚,那么x和z也是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚,再给定Pi和Pj,询问他们是否是亲戚,输出Yes或No。人数,亲戚关系,询问次数≤5000。这样的亲戚关系图我们可以把它看作若干个集合,一个人就是一个元素,得知两个人是亲戚后,将他们各属于的集合合并即可,查询Pi和Pj是否是亲戚,就只要查询他们在不在同一个集合中。
2024-06-23 13:11:36
967
原创 【题解】金明的预算方案
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过。根据题意,如果要买归类为附件的物品,必须先买该附件所属的主件,对于每个主件及其附件,我们不难想到。(个人习惯,下同),而 01 背包的物品数则就是主件的个数(包含主件的附件),物品的价格。元的前提下,使每件物品的价格与重要度的乘积的总和最大。,除此之外,由于物品的重量不定(如,主件和主件加附件。请你帮助金明设计一个满足要求的购物单。
2024-06-16 22:19:46
1456
原创 最短路径(DAG,Floyd,Dijkstra,Bellman-ford,SPFA)
反过来想,如果我们未确定该结点的最短路,那么到其他结点的最短路都比到该结点的最短路长,加上一条正权边之后,路径长度只会更长,所以最短路长度最小的结点,它的最短路已经确定下来了。但是如果有负权边,那就不一定了,我们不能保证当前未确定最短路的结点之中最短路长度最小的结点的最短路已经确定下来了,因为我们可能先移动到一个最短路比它长的结点,然后通过经过一条负权边的方法使得答案变得更小。轮,每一轮枚举所有的边,通过枚举出来的边, 把源点出发到其他结点的最短路逐渐构建出来。号结点出发,到达任意结点的最短路径,保证。
2024-05-18 11:36:25
1084
原创 图的概念、存储与遍历
我们选择一个度数为奇数的顶点出发,走向一个度数为偶数的顶点,那么这个图变成了一个仍然满足上述性质但是结构更简单的图了。对于有向图,两个结点它们之间可以互相到达,我们称这两个结点为强连通,如果一个有向图上任意两个结点都可以互相到达,我们叫这张图为强连通图。给你一个图,请你选择一个起点出发,经过所有的边,要求每条边只能经过一次,问能否达成目标,也称一笔画问题。但与树不同的是,图虽然也由顶点和边构成,但是它没有父亲和儿子的关系,任意两点之间的路径也可能并不唯一。如果一张图的任意两点之间,只含有最多一条边,即。
2024-05-10 23:18:48
569
原创 栈和队列详解
这里我们主要介绍手写栈和队列。虽然有STL\text{STL}STL里的分装好的数据结构,但是因为封装好的数据结构跑得会很比较慢(比如dequedeque),所以我们最好手写。
2023-12-19 22:16:49
962
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人