- 博客(50)
- 收藏
- 关注
原创 旅游巴士(bus)【CSPJ2023】
我们把一天当中景区开门营业的时间记为0 时刻,则从0 时刻起,每间隔k 单位时间便有一辆旅游巴士到达景区入口,同时有一辆旅游巴士从景区出口驶离景区。对于所有测试数据有:2 ≤ n ≤ 10^4,1 ≤ m ≤ 2×10^4,1 ≤ k ≤ 100,1 ≤ ui, vi ≤ n,0 ≤ ai ≤ 10^6。输入的接下来m 行,每行包含3 个非负整数ui, vi, ai,表示第i 条道路从地点ui出发,到达地点vi,道路的“开放时间”为ai。输出一行,仅包含一个整数,表示小Z 最早乘坐旅游巴士离开景区的时刻。
2024-08-22 15:41:02
760
原创 笛卡尔树建树
回想一下,二叉查找树是中根有序的二叉树,这样,对于它的每一个节点x满足以下条件:在它的左子树的每个节点的数值小于x的数值,它的右子树的每个节点的数值大于x的数值。也就是说,如果我们用L(x)表示结点x的左子树,用R(x)表示结点x右子树,用kx表示该结点x的数值,那么对每个结点x我们有。因此,一棵笛卡尔树是一棵有根有序的二叉树,这样,它的每个节点拥有两个数值(k , a)和满足上述的三个条件。接下来N行包括两个数字,k,a,|k|, |a|
2024-08-01 15:28:27
350
原创 洛谷P2572 [SCOI2010] 序列操作
表示必然包含左端点的最长连续“1”数目,必然包含右端点的最长连续“1”数目,最长连续“1”数目,必然包含左端点的最长连续“0”数目,必然包含右端点的最长连续“0”数目,最长连续“0”数目。操作2:区间取反,下传时若下区间有操作0,1的标记,将其取反,否则将已有的区间取反标记取反。对于每一种询问操作,lxhgww 都需要给出回答,聪明的程序员们,你们能帮助他吗?对于每一个询问操作,输出一行一个数,表示其对应的答案。对于100% 的数据,1≤n,m≤105。操作0,1:区间改值,同时。
2024-03-14 17:21:24
434
原创 「一本通 6.5 例 4」佳佳的 Fibonacci
佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n) 表示 Fibonacci 前 n 项和 mod m 的值,即 S(n)=(F1+F2+...+Fn) mod m,其中 F1=F2=1, Fi=Fi-1+Fi-2。用 T(n)=(F1+2F2+3F3+...+nFn) mod m 表示 Fibonacci 数列前 n 项变形后的和 mod m 的值。现在佳佳告诉你了一个 n 和 m,请求出 T(n) 的值。仅一行,T(n) 的值。
2024-03-09 17:34:37
500
原创 P1494 [国家集训队] 小 Z 的袜子(离线莫队)
N 为袜子的数量,M 为小 Z 所提的询问的数量。接下来一行包含 N 个正整数 Ci,其中 Ci 表示第 i 只袜子的颜色,相同的颜色用相同的数字表示。具体来说,小 Z 把这 N 只袜子从 1 到 N 编号,然后从编号 L 到 R 的袜子中随机选出两只来穿。尽管小 Z 并不在意两只袜子是不是完整的一双,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小 Z,他有多大的概率抽到两只颜色相同的袜子。100%的数据中,N,M≤50000,1≤L
2024-03-06 17:07:45
783
原创 [Usaco2008 Feb]Line连线游戏
候,FJ会给贝茜一块画着N (2 <= N <= 200)个不重合的点的木板,其中第i个点。* 第2..N+1行: 第i+1行用2个用空格隔开的整数X_i、Y_i,描述了点i的坐标。的横、纵坐标分别为X_i和Y_i (-1,000 <= X_i <=1,000;第1行: 输出1个整数,表示贝茜的最大得分,即她能画出的互不平行的直线数。游戏结束时贝茜的得分,就是她画出的直线的总条数。贝茜可以选两个点画一条过它们的直线,当且仅当平面上不存在与画出直线。贝茜能画出以下4种斜率的直线:-1,0,1/3以及1。
2024-02-03 11:02:00
501
原创 质数判断(5种方法)
的逆命题“如果a^(p-1)≡1(mod p),整数a不是p的倍数,则p为素数”为原理,取任意a,以快。以费马小定理“如果p是一个质数,而整数a不是p的倍数,则有a^(p-1)≡1(mod p)”但会有一些数满足费马小定理的逆命题而不是素数,因此,引入随机数a做多次测试,即。速幂计算结果,若为1,则该数为素数。Miller_rabin素性测试。
2024-01-30 20:02:46
616
原创 CTU Open 2004 电力
将图以dfs求得时间戳后,对于一点,若非根节点,则能分出其孩子数+1个连通块(当然,满足low[v]>=dfn[u])根节点由于没有父亲,不用+1。接下来 C 行每行两个整数 p1,p2,表示 p1 与 p2 有边连接,保证无重边。读入以 `0 0` 结束。记连通块总数为ans,一个点删去后将该连通块分成k块。显然,要在所有连通块中寻找一点,使得删掉其后分出的点更多。第一行两个整数 P,C 表示点数和边数。求一个无向图图删除一个点之后,连通块最多有多少。输出若干行,表示每组数据的结果。
2024-01-25 09:38:41
397
原创 POI 2008 Blockade
作为抗议的一个措施,程序员们计划封锁 Byteotia 的一个城镇,阻止人进入,离开甚至通过这个城镇。如图中点1,当删去与其相连的边后,它与其它所有点都不能互相到达,即(1,2),(1,3)......(2,1),(3,1),(4,1),(5,1)无法互通,其数目为。写一个程序,从标准输入读取 Byteotia 的路网,输出对于每个确定的城镇,如果程序员们封锁了这个城镇,将有多少次拜访不能进行?Byteotia 城市有 n 个城镇,m 条双向道路。每条道路连接两个不同的城镇,没有重复的道路,所有城镇连通。
2024-01-25 09:23:53
448
原创 洛谷P3084 [USACO13OPEN] Photo G
在拍完照片后,约翰发现了一个有趣的事情:每张照片中都有且仅有一只身上带有斑点的奶牛。约翰意识到他的牛群中有一些斑点奶牛,但他从来没有统计过它们的数量。根据照片,请你帮约翰估算在他的牛群中最多可能有多少只斑点奶牛。于是约翰拍摄了M(1 <= M <= 100,000)张照片,每张照片都覆盖了连续一段奶牛:第i张照片中包含了编号a_i 到 b_i的奶牛。但是这些照片不一定把每一只奶牛都拍了进去。农夫约翰决定给站在一条线上的N(1 <= N <= 200,000)头奶牛制作一张全家福照片,N头奶牛编号1到N。
2024-01-13 11:18:29
905
原创 寻找宝藏【SGOI-14】
由于 Sheva(Shevchenko 的昵称)的体力有限,他必须合理的安排体力,才能既捡完所有的宝藏又能离开这个宝库,现在请你编一程序,帮 Sheva 解决这个问题。在迷宫中每走一格,Sheva 的体力值都会减少一定的数量,如果体力值小等于 0,他将不能再前行。当他来到这里时,发现这里是一个迷宫,宝藏埋藏在各个角落,在另一端有个出口,当他每捡到一个宝藏将恢复一定的体力值。在图中(1表示可走,0表示不可走)有N个坐标,走到坐标i可增加Ai体力值,另外,每走一步消耗tl体力值,求到终点时最多还剩多少体力值。
2023-08-18 09:42:18
114
原创 城市最短路
下图表示的是从城市A到城市H的交通图。从图中可以看出,从城市A到城市H要经过若干个城市。现要找出一条经过城市最少的一条路线。倒序输出经过城市最少的一条路线。
2023-08-12 11:41:31
159
2
原创 BFS 五香豆腐
dfc的内心可以看成是5*5个分区组成,每个分区都可以决定的的去向,0表示继续爱好腐败,1表示改正这个不良的习惯。你有一根神奇的魔法棒,可以使点中的分区以及这个分区上下左右改变(1变0,0变1)。(因为dfc实在太顽固不化,所以你要救醒他n次,但每次都有会获得由谢老师送的一根新的魔法棒,不过之前那根会消失)。各组数据间用一个空行分隔。输出数据一共有n行,每行有一个小于等于6的整数,它表示对于输入数据中对应的每组数据最少需要几步才能将救醒dfc。对于一个数据,如果无法在规定的条件救醒dfc,请输出“-1”。
2023-08-12 11:39:37
291
原创 【无标题】
【问题描述】李教授于今天下午做一个非常重要的演讲。不幸的是他不是一个非常爱整洁的人,他把自己做演讲要用的幻灯片随便堆放在一起。因此,演讲之前他不得不去整理这些幻灯片。做为一个讲求效率的学者,他希望尽可能简单地完成它。情况是这样,教授这次演讲一共要用n张幻灯片(n≤26),这n张幻灯片按照演讲要使用的顺序已经用数字1,2,…,n在上面编上了号。因为幻灯片是透明的,所以我们不能一下子看清每一个数字所对应的幻灯片。现在我们用大写字母A,B,C,。。。
2023-08-12 11:35:12
85
原创 topo 成绩排名
小雯同学很想知道这次期末考试的全班排名情况,但是她的同学却不愿意告诉她自己的分数,只告诉她自己和班里的某某同学比分数是高还是低。接下来的m行,每行三个数,i,j,k,如果k为0则 i 同学的分数比 j 同学高,如果k 为1 则 i 同学分数比 j 同学分数低。每到考试后,学校都会发成绩表给每个学生,但是很多同学更关心的是自己在班级里的排名,可惜排名信息并没有公开。第一行两个数 n,m,表示n个同学,m对同学分数比较关系。输出全班的考试排名情况,如果有多种可能,输出字典序最小的一组。按题意拓扑连边再跑模板。
2023-08-12 11:29:42
77
原创 topo 单挑排名
【题目描述】Symbol很喜欢打篮球,信息组也有不少爱好者,只可惜symbol到目前为止还没碰到对手。自从上次挂彩后symbol决定退出篮坛,但是他对另一个问题产生了兴趣:信息组学生的篮球水平谁高谁低,于是他搞了一次单挑比赛,使得每个人都跟其他人打一场比赛,拿着比赛结果,symbol想知道能不能找到N个人的一个排列Xi1Xi2……Xin-1Xn使得对于任意相邻的两个人,都能保证前一个人都能击败后一个人。
2023-08-12 11:26:18
102
原创 洛谷P1144 最短路计数
输出文件包括N行,每行一个非负整数,第i行输出顶点1到顶点i有多少条不同的最短路,由于结果值可能会很大,你只需要输出结果 mod 100003即可。【样例说明】1到5的最短路有4条,分别为2条1-2-4-5和两条1-3-4-5(由于4-5的边有两条)给出一个N个顶点的M条边的无向无权图,顶点编号1~N。接下来的M行,每行两个正整数x,y,表示有一条从顶点x连向顶点y的边。输入文件的第一行包含两个正整数N,M,分别为图的顶点数与边数。对于100%的数据,N≤100000,M≤200000。
2023-08-10 10:00:50
130
原创 农场派对
N(1≤N≤1000)头牛要去参加在某农场举行的一场编号为x(1≤x≤N)的牛的派对。有M(1≤M≤100000)条有向道路,每条道路长Ti(1≤Ti≤100);求这N头牛的最短路(一个来回)中最长的一条的长度。方法3:dijkstra求原图单源最短路与反图单源最短路,O((n+m)log2m)或O(n^2),稳过。第二行至第M+1行:3个用空格分开的整数Ai,Bi,Ti,表示有一条从Ai到Bi的路长度为Ti。方法1:dijkstra求任意两点间最短路,O(n(n+m)logm),超时。
2023-08-10 09:51:22
121
原创 【NOIP2008 模拟】生命游戏
一个休眠状态的细胞,在某一秒,若周围的存活状态的细胞数目为正好三个,则认为是比较适合生存的状态,将于下一秒进入存活状态。一个存活状态的细胞,在某一秒,若周围的存活状态的细胞数目超过三个,则下一秒将由于过度拥挤而进入休眠状态。一个存活状态的细胞,在某一秒,若周围的存活状态的细胞数目不足两个,则下一秒将由于孤独而进入休眠状态。一个存活状态的细胞,在某一秒,若周围的存活状态的细胞数目为两或三个,则下一秒将继续保持存活状态。第二行开始的N行,每行M个字符,“0”或“1”分别代表休眠状态与存活状态的细胞。
2023-08-09 09:19:00
219
原创 【数据结构•并查集】矩形
第一行又一个整数n,表示矩形的个数。接下来的n行描述矩形的顶点,每个矩形用四个数来描述:左下顶点坐标(x,y)与右上顶点坐标(x,y)。每个矩形的坐标都是不超过10000的非负整数.每个矩形的边都平行于坐标轴并且都具有值为整数的顶点。如果两个不同的矩形有公共线段,那么它们就组成了一个新的块来覆盖它们原来的两个块。仅有一个整数---表示由给定矩形组成的不同的块的个数。在图1中的矩形组成了两个不同的块。找出这些矩形形成的不同的块的个数。在图2中的矩形组成了单独一个块。读入矩形的个数以及它们的顶点。
2023-08-09 08:34:30
802
原创 【数据结构•并查集】旅行(haoi2006,河南省选第一试第2题)
n),这些景点被m条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路。也许是为了保护该地的旅游资源,z小镇有个奇怪的规定,就是对于一条给定的公路ri,任何在该公路上行驶的车辆速度必须为vi。速度变化太快使得游客们很不舒服,因此从一个景点前往另一个景点的时候,大家都希望选择行使过程中最大速度和最小速度的比尽可能小的路线,也就是所谓最舒适的路线。最后一行包含两个正整数s,t,表示想知道从景点s到景点t最大最小速度比最小的路径。第二层循环由前往后依次加入新边,若s与t联通,则为一组可行解,存入;
2023-08-08 11:37:22
362
原创 【数据结构•堆】堆排序(理论基础)
堆的定义• 堆是一个完全二叉树–所有叶子在同一层或者两个连续层–最后一层的结点占据尽量左的位置• 堆性质–为空, 或者最小元素在根上–两棵子树也是堆存储方式• 最小堆的元素保存在heap[1..hs]内– 根在heap[1]–K的左儿子是2k, K的右儿子是2k+1,–K的父亲是[k/2]删除最小值元素• 三步法– 直接删除根– 用最后一个元素代替根上元素– 向下调整• 首先选取当前结点p的较小儿子,如果比p大, 调整停止;
2023-08-08 11:12:33
366
原创 【数据结构•堆】轮廓线
• 右图的轮廓线为: (1, 11, 3, 13, 9, 0, 12, 7, 16,3, 19, 18, 22, 3, 23, 13, 29, 0)。第 2 至 n+1 行,每行有3个整数:L、H、R,分别表示一个建筑物:左边界、高度、右边界,数据均小于 2^30。• 每一个建筑物用一个三元组表示(L, H, R), 表示左边界, 高度和右边界。输出数据一行,建筑物的轮廓线,表示为:x y x y x y ……则a[i]>a[i-1] 活a[i]<a[i-1]时输出a[i]与i。
2023-08-08 11:00:07
502
3
原创 靶形数独【NOIP2009提高组】
靶形数独的方格同普通数独一样,在 9 格宽×9 格高的大九宫格中有9 个3 格宽×3 格高的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知的,根据这些数字,利用逻辑推理,在其他的空格上填入1 到9 的数字。上图具体的分值分布是:最里面一格(黄色区域)为 10 分,黄色区域外面的一圈(红色区域)每个格子为9 分,再外面一圈(蓝色区域)每个格子为8 分,蓝色区域外面一圈(棕色区域)每个格子为7 分,最外面一圈(白色区域)每个格子为6 分,如上图所示。输出可以得到的靶形数独的最高分数。
2023-08-08 10:27:50
72
原创 【数据结构•堆】丑数(BFS)
• 一个数的所有素数因子都在集合{2, 3, 5, 7}的数称为ugly number。输入一行,一个整数值n(n
2023-08-08 09:45:41
304
原创 【数据结构•堆】序列和的前n小元素
给出两个长度为n的有序表A和B, 在A和B中各任取一个, 可以得到 n^2 个和. 求这些和最小的n个。第二,第三行,各有n个从小到大排好序的整数,每个整数间有一个空格间隔。输出数据一行,这些和最小的n个数,从小到大输出,每个整数之间一个空格间隔。故,在第二层循环时,若已有n个数,则只需判断一次即可退出循环。第一行,一个整数值n ( n <= 10^4 )。100%数据,n <= 10^4。30%数据,n <= 10^2。50%数据,n <= 10^3。暴力枚举每个数,使堆内始终有n个数。
2023-08-08 09:34:31
338
原创 小球(DROP)
决定球运动方向的是每个节点的布尔值。最初,所有的节点都是FALSE,当访问到一个节点时,如果这个节点是FALSE,则这个球把它变成TRUE,然后从左子树走,继续它的旅程。因为所有的节点最初为FALSE,所以第一个球将会访问节点1,节点2和节点4,转变节点的布尔值后在在节点8停止。明显地,第三个球在它停止之前,会访问节点1、2、5,在节点10停止。现在你的任务是,给定FBT的深度D,和I,表示第I个小球下落,你可以假定I不超过给定的FBT的叶子数,写一个程序求小球停止时的叶子序号。简单数学题——二进制。
2023-08-07 10:28:05
56
原创 对称二叉树(T1)
如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称.二叉树用顺序结构给出,若读到#则为空,二叉树T1=ABCDE,T2=ABCD#E。例:如下图中的二叉树T1是对称的,T2是不对称的。如果二叉树是对称的,输出“Yes”,反之输出“No”。
2023-08-07 10:18:02
46
原创 【数据结构•hash表】烦恼的设计师(SGOI)
不同种类的花有不同的类型编号,虽然地球上花的种类很多,但因为公园里的花不超过1,000,000种,所以花的类型编号不超过1,000,000。另一方面,出于美学考虑,一个花坛里摆放的不同种类的花不超过3种,且不同种类的花的数量不可太接近,对于任意两种花,数量多的花的盆数至少是数量少的花的2倍。中间以空行分隔,5行数字分别表示花坛的5个行,其中第1、5两行有3个整数,第2、4两行有4个整数,第3行有5个整数,表示每一行的花的类型,不同的数代表不同种类的花。哈希表,裸BFS(言简意赅!状态数约为700000。
2023-08-05 16:57:38
92
3
原创 题目:考分鄙视
Whence这个学期考了 n次试,每一次都有一个0~20000之间的整数分数。Whence本来的状态应该是每一次考试都比前一次多一分(除第一次),但由于他很不稳定,偏差可能很大。对于第i次考试,如果有第j次考试满足1≤j ≤ i ≤n,且以第j次考试分数作为基准估计的第i次考试成绩比实际成绩低,就说第i次考试鄙视了第j次考试(估计分可以超过20000)。1行,这个学期所有考试的总共鄙视次数(总数可能很大,只需要输出总数mod 12345的值)。第 1 行 n (1 第2行为n次考试成绩。
2023-08-03 11:23:14
63
原创 【深度搜索基础】单词接龙(NOIP2000)
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次,且每个单词的长度小于等于20个字符),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at 和 atide 间不能相连。你可以假定以此字母开头的“龙”一定存在.只需输出以此字母开头的最长的“龙”的长度。
2023-02-25 14:13:42
80
原创 【NOIP2017提高组DAY1】时间复杂度题解
输出文件共t行,对应输入的t个程序,每行输出“Yes”或“No”或者“ERR”(输出中不包含引号),若实际复杂度与输入给出的复杂度一致则输出“Yes”,不一致则输出“No”,若程序有语法错误(其中语法错误只有:①F和E不匹配②新建的变量与已经存在但未被销毁的变量重复两种情况),则输出“ERR”。程序行若以“F”开头,表示进入一个循环,之后有空格分离的三个字符(串)i x y,其中i是一个小写字母(保证不为“n”),表示新建的变量名,x和y可能是正整数或n,已知若为正整数则一定小于100。
2023-02-10 20:58:11
153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人