- 博客(38)
- 收藏
- 关注
原创 CF527E Data Center Drama 题解
所以我们需要将所有顶点度数为奇数的点两两相连,但是并不是所有存在欧拉回路的图都满足条件,还需要满足边数为偶数。开始记,因为这样我们按顺序记录正着的边和反着的边,反着的边的编号就等于正着的边的编号异或。所以如果最后边数是奇数,随便找个点连个自环即可(这里就把 1 号节点连一个自环了)。这显然是最少的加边方案,最后跑一个欧拉回路出来,然后隔一条边换一个方向即可。最后,祝您(您的团队)在 OI 的路上一路顺风!然后记录一下入度为奇数的点。
2024-05-03 12:13:20
975
原创 NOIP2018 普及组 T4 对称二叉树
最后,祝您(您的团队)在 OI 的路上一路顺风!就可以了,这样我们就 A(shui)掉了此题。然后就是计算答案了,我们先写一个函数。本题 DFS + 剪枝可过!输入左儿子右儿子时如果遇到。结点为根结点的子树和以。
2024-04-17 18:09:05
731
原创 NOIP2018 普及组 T3 摆渡车
我们可以把时间想成一个数轴,这样每趟车就是一个区间(到达时间到离开时间)。最后,祝您(您的团队)在 OI 的路上一路顺风!,所有点到各自区间的右边界的距离之和的最小值。个时间点要上车的人的到达车站时间之和。个点,最后一个区间右边界是。个时间点要上车的人数,这样这道题就 A 了。
2024-04-17 17:39:44
1068
原创 NOIP2018 普及组 T2 龙虎斗
个位置,然后算出更新后的龙方势力减去虎方势力的绝对值,如果比当前的最小值小,就更新答案。,然后算出龙方和虎方的势力,将最小值设为龙方势力减虎方势力的绝对值,将。最后,祝您(您的团队)在 OI 的路上一路顺风!个位置上全试一遍就可以了。
2024-04-17 16:35:38
993
原创 NOIP2018 普及组 T1 标题统计
就直接输入一个字符串,然后数一下不是空格的字符个数,最后输出就可以了。最后,祝您(您的团队)在 OI 的路上一路顺风!本题就是一个语法题,没有什么技术含量。
2024-04-17 16:12:11
257
原创 Smart - Luogu —— 智能的洛谷
先点击右上角三个点,再点击扩展程序,然后点击管理扩展程序,进入管理扩展界面,把开发者模式选上,把 crx 文件拖入即可。先点击右上角三个点,再点击扩展,然后点击管理扩展程序,进入管理扩展界面,把开发人员模式选上,把 crx 文件拖入即可。,往下滑,点击通过 Stylus 下载,点击 Reinstall,点击左侧的安装样式,即可安装。最后,祝您(您的团队)在 OI 的路上一路顺风!点击推荐下载,获取 crx 文件。
2024-04-16 20:01:53
1200
3
原创 Catalan number(卡特兰数)详解,超详细!!!
卡特兰数为(从零项开始):1,1,2,5,14,42,132,429,1430,4862,⋯1,1,2,5,14,42,132,429,1430,4862,\cdots1,1,2,5,14,42,132,429,1430,4862,⋯我们从 入手就拿 555 对括号来说,可以分为 555 个类型:既然这 555 对括号是合法的,就说明最左边的左括号就是第一位也就是说,这对括号是最外层的那么整个括号序列就被它分成了两部分就拿 来说,这对括号里边有 000 对括号,外边有 444 对括号000 对括号的合法
2023-12-24 19:11:10
2470
1
原创 洛谷 P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G 题解
如果你在考场上忘了 greater 怎么拼,告诉你一个绝妙方法:比如压 a 的时候就压 -a 这样最大值就变成了最小值(比如 1 2 3 ,最大值为 3,如果压 -3 ,他就变成了最小值,而最大值就变成了 -1)取的时候就也用它的相反数就行了。则先把 1 和 2 合在一起,代价为 3,再取 3 和 9 合一起,代价为 12,最后把 3 和 12 加起来就是正确答案 15 了。但还有一个问题,就是每次取最小和次小,再把他们的和送回去,然后再排一趟序,很容易就超时吧。首先,这道题有一个很明显的贪心。
2023-10-02 12:27:33
110
原创 信息学奥赛一本通 1205:汉诺塔问题(递归)
这样,我们可以用递归来实现,先将上面的(除了最下面的盘子)移至用于辅助的柱(递归,除了现在所在的柱和目标柱的另外一个柱) ,再将最下面的盘子移至目标柱(输出),最后将原来上面的盘子移至目标柱(递归)一共要移动 n 片,上面一共有 n - 1 片,编号为 1,2,3,……,n - 1,那么要移动的这片的编号就是 n。主函数呢,传进去的值就要是 n, a, b, c(即通过 c 柱,由 a 柱往 c 柱移 n 个盘子,题目要求)(n 为移动多少个盘子,a 为目前所在的柱,c 为目标柱,b 为辅助柱)
2023-08-10 18:42:02
543
1
原创 洛谷 P8814 [CSP-J 2022] 解密(T2)
这样的话时间复杂度 O(k 根号 n),应该能过到第六个点,可以看到,前六个点的数据范围都不超过 int,所以不用开 long long。所以可以看只要 k 大于 10^3,那就把 p 和 q 都设成 n 的开方,然后测一下 p 和 q,看合不合法就行了。最后还有一点需要注意:题目让从小到大输出 p 和 q,所以最后如果 p 大于 q,就 swap 一下。然后看如果 n 能除开 p,就让 q 等于 n 除以 p,就可以看 p 和 q 合不合法了。因数分解怎么分解,可以枚举 1 到根号 n,即。
2023-08-08 17:48:33
157
原创 洛谷 P8813 [CSP-J 2022] 乘方(T1)
可以考虑一下循环 b 次,每次乘 a,然后每次判断是否小于等于 10^9,这样就会及时的判断出来越界。因为如果一个很大的数的很大的次方,那就会变成一个负数,一定小于 10^9。首先,数学函数里是有一个 pow 的,可以计算几的几次方,详见。最后,祝您(您的团队)在 OI 的路上一路顺风!首先,先来分析一下上面的为什么会 WA。所以直接用一下这个函数就可以了。然后呢,最终 70 分……这样,我们就 AC 了。
2023-08-07 20:41:32
238
1
原创 【C++】51 nod 3179(洛谷 P4310) 绝世好题
好久没上刷题了,今天看到一道题,名字叫“”,于是就想挑战一下(做完后想看一下里头有没有,结果真查到了,题目是一样的)
2023-08-05 12:24:14
122
1
原创 洛谷 P7074 [CSP-J2020] 方格取数(T4)
最后,就可以找最大的了,即 ans = max(ans, dfs(x - 1, y, 1) + a[x][y]),为什么 k 是 1 呢,因为上次是向下(顺推情况下),所以他不是从下面来的。其中,f[x][y][0] 表示该点不是从上来的时候的最大和,f[x][y][1] 表示该点不是从下来的时候的最大和(因为是倒推)这时,f[x][y][k] 就等于 a[x][y],返回值也是 a[x][y],因为起点到起点的最大和就是起点。2、传进去的横纵坐标为 (1, 1),数字和为起点的值 a[1][1]
2023-08-01 16:38:03
545
3
原创 洛谷 P7072 [CSP-J2020] 直播获奖(T2)
从当前最大的成绩开始往前遍历,每次 m -= a[i](即每次还剩的人数减掉本次遍历到的成绩的人数),看什么时候还剩的人数 ≤ 0(即不剩下人了),当前这次遍历到的成绩(i)就是最终的答案。这道题呢,有一种很容易想到的算法,那就是每次输入都排一下序,然后输出第 max(1, p * w%) 名就可以了。注意到“每个选手的成绩均为不超过 600 的非负整数”,这个数还蛮小的嘛,我们貌似可以用桶排把他们都存起来。注意,sort 需要算法头文件。
2023-08-01 12:54:13
463
2
原创 洛谷 P7071 [CSP-J2020] 优秀的拆分(T1)
因为存的时候是从小到大存的,而要求从大到小输出,所以要从后往前输出,而当前要拆分第 t 个,但已经拆分完了,所以要从他的上一个开始。另外,因为题目说了,不可以相同,所以还需要一个变量 pre 来记录上一次拆到了 2 的第几次幂,这次从 pre + 1 开始枚举。其中,x 代表还剩多少,t 代表当前要拆分出第几个数,pre 代表上一次拆到了 2 的第几次幂。这是,需要穿进去的 pre 就是 i 了,因为它下一个的上一个就是它本身。
2023-07-31 19:31:04
196
2
原创 信息学奥赛一本通 1213:八皇后问题
上面已经说过了,v1[i] 表示第 i 列有没有皇后(有为 1,无为 0)、v2[x - y + 8] 表示坐标为 (x, y) 的点所在的右斜线有没有皇后(有为 1,无为 0)、v3[x + y] 表示坐标为 (x, y) 的点所在的左斜线有没有皇后(有为 1,无为 0),所以判断只要他们都是 0 就行了。v2[x - y + 8] 表示坐标为 (x, y) 的点所在的右斜线有没有皇后(有为 1,无为 0)偶,对了,还要把用于输出的 a[x] 赋成 i,因为 a[x] 表示第 x 行的皇后在第几列上。
2023-07-31 15:53:03
709
3
原创 栈中top()函数使用时应注意的细节
由此得知, 使用top()函数的前提: 栈不为空(一个微小的错误).代码时遇到了一个问题: 用栈中函数top()时怎么也不输出.经过一番拼命调试, 最后终于发现错误所在.可以发现两者的不同, 前者。中缀表达式转后缀表达式。
2023-05-07 11:59:32
349
2
原创 辗转相除法求最大公约数
首先, 说一下最大公约数是什么: 公约数是指两个数共同的约数, 而最大公约数是指两个数的公约数中最大的.这时, 余数为0, 则最大公约数为除数.把除数变成被除数, 余数变成除数.12 / 9 = 1 余 3。9 / 3 = 3 余 0。举个例子: 12和9。
2023-05-02 15:43:57
88
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人