自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 树状数组+线段树

西部 314314 认为这幅壁画所包含的信息与这 n 个点的相对位置有关,因此不妨设坐标分别为 (1,y1),(2,y2),…,(n,yn),其中 y1∼yn 是 1 到 n 的一个排列。如果三个点 (i,yi),(j,yj),(k,yk) 满足 1≤i<j<k≤n 且 yi>yj,yj<yk,则称这三个点构成。如果三个点 (i,yi),(j,yj),(k,yk)满足 1≤i<j<k≤n 且 yi<yj,yj>yk,则称这三个点构成。,树状数组的创建时间复杂度为(Nlog(N),空间复杂度为O(N)

2024-05-21 21:40:01 305

原创 二分答案(区间范围)

【代码】二分答案(区间范围)

2024-05-14 18:10:02 235

原创 排序(集合)

逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 ia[j],则其为一个逆序对;第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。请你使用归并排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。第二行包含 n 个整数,表示整个数列。第一行包含整数 n,表示数列的长度。给定你一个长度为 n 的整数数列。输出一个整数,表示逆序对的个数。

2024-05-09 22:22:00 224

原创 蓝桥杯(填空题)

B组 日期统计(暴力枚举)答案:235。

2024-04-11 16:56:54 7266 2

原创 颜色平衡树(DFS)

接下来 n 行,每行包含两个整数 Ci , Fi,用一个空格分隔,表示第 i 个结点的颜色和父亲结点编号。对于所有评测用例,1 ≤ n ≤ 200000,1 ≤ Ci ≤ 200000,0 ≤ Fi < i。给定一棵树,结点由 1 至 n 编号,其中结点 1 是树根。树的每个点有一个颜色 Ci。保证输入数据是一棵树。如果一棵树中存在的每种颜色的结点个数都相同,则我们称它是一棵颜色平衡树。编号为 1, 3, 5, 6 的 4 个结点对应的子树为颜色平衡树。输入的第一行包含一个整数 n ,表示树的结点数。

2024-04-08 21:19:04 337

原创 博弈论(Nim+sg)

设G1,G2,····,Gm是m个有向图游戏.定义有向图游戏G,他的行动规则是任选某个有向图游戏Gi,并在Gi上行动一步.G被称为有向图游戏G1,G2,·····,Gm的和.在有向图游戏中,对于每个节点x,设从x出发共有k条有向边,分别到达节点y1,y2,····yk,定义SG(x)的后记节点y1,y2,····给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。例如:S={0,1,2,4},那么mes(S)=3;

2024-04-07 22:17:14 874

原创 你是银狼(贪心)

至今你都有点不甘心,因此这次你作为骇客在骇入黑塔的模拟宇宙 lite 版,模拟宇宙 lite 版由一排房间组成,编号 i 范围 [0,n],你一开始在 0 号房间,你只能从 i 号房间走到 i+1 号房间。,这些房间被黑塔设置了安全限制,因此你无法跳过这个房间,必须通关这个房间,房间 1 选择挑战,生存值 M=5,共消耗生存值 sum=1;房间 2 选择奖励,生存值 M=6,共消耗生存值 sum=1;房间 4 必须消耗,生存值 M=1,共消耗生存值 sum=6;房间分为挑战房间、奖励房间和事件房间。

2024-04-07 17:26:02 407

原创 Tire树

给定一个含有 n 个元素的数组 Ai,你可以选择两个不相交的子段。共有 N 个操作,所有输入的字符串总长度不超过 10^5,字符串仅包含小写英文字母。对于所有评测用例,2 ≤ n ≤ 2 × 10^5,0 ≤ Ai ≤ 2^20。两个子段可以分别选 1 和 4,9,2,差值为 15 − 1 = 14。第二行包含 n 个整数 Ai ,相邻整数之间使用一个空格分隔。,都要输出一个整数作为结果,表示 x 在集合中出现的次数。接下来 N 行,每行包含一个操作指令,指令为。输入的第一行包含一个整数 n。

2024-04-07 16:21:50 416

原创 异或和之和(二进制转化)

给定一个含有 n 个元素的数组 Ai,你可以选择两个不相交的子段。求出这两个子段内的数的异或和的差值的最大值。对于所有评测用例,2 ≤ n ≤ 2 × 10^5,0 ≤ Ai ≤ 2^20。两个子段可以分别选 1 和 4,9,2,差值为 15 − 1 = 14。第二行包含 n 个整数 Ai ,相邻整数之间使用一个空格分隔。对于 40% 的评测用例,n ≤ 5000;输入的第一行包含一个整数 n。输出一行包含一个整数表示答案。

2024-04-06 12:57:52 242

原创 进制之间转化

【代码】进制之间转化。

2024-04-05 22:02:45 132

原创 推导部分和(带权并查集)

食物链动物王国中有三类动物 A,B,C这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N 个动物,以 1∼N编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示 X 和 Y是同类。第二种说法是2 X Y,表示 X 吃 Y。此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。

2024-04-05 17:50:17 837

原创 哈希(数字+字符串)

给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1] 和 [l2,r2]这两个区间所包含的字符串子串是否完全相同。接下来 m 行,每行包含四个整数 l1,r1,l2,r2,表示一次询问所涉及的两个区间。第二行包含一个长度为 n 的字符串,字符串中只包含大小写英文字母和数字。现在要进行 N 次操作,对于每个询问操作输出对应的结果。,输出一个询问结果,如果 x 在集合中出现过,则输出。接下来 N 行,每行包含一个操作指令,操作指令为。

2024-04-05 14:55:49 319

原创 青蛙过河(二分+前缀和)

不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就会下降 1,当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃后使石头高度下降到 0 是允许的)。第二行包含 n − 1 个非负整数 H1, H2, · · · , Hn-1,其中 Hi > 0 表示在河中与小青蛙的家相距 i 的地方有一块高度为 Hi 的石头,Hi = 0 表示这个位置没有石头。假设可以来回跳2x次,那么按回来的跳的石头正着跳就行,=>可以单向跳2x次。输出一行,包含一个整数,表示小青蛙需要的最低跳跃能力。

2024-04-05 13:38:50 398

原创 选数异或(DP)

给定一个长度为 n 的数列 A1, A2, · · · , An 和一个非负整数 x,给定 m 次查询, 每次询问能否从某个区间 [l,r] 中选择两个数使得他们的异或等于 x。对于所有评测用例,1 ≤ n, m ≤ 100000 ,0 ≤ x < 220 ,1 ≤ li ≤ ri ≤ n , 0 ≤ Ai < 220。接下来 m 行,每行包含两个整数 li ,ri 表示询问区间 [li ,ri ]。第二行包含 n 个整数 A1, A2, · · · , An。

2024-04-03 20:02:59 227

原创 李白打酒加强版

这一路上,他一共遇到店 N 次,遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。注意:壶里没酒 ( 0 斗) 时遇店是合法的,加倍后还是没酒;但是没酒时遇花是不合法的。由于答案可能很大,输出模 1000000007 的结果。一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。对于 100% 的评测用例:1 ≤ N, M ≤ 100。请你计算李白这一路遇到店和花的顺序,有多少种不同的可能?对于 40% 的评测用例:1 ≤ N, M ≤ 10。无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。

2024-04-02 20:59:16 355

原创 扫雷(蓝桥杯)

玩家可以发射 m 个排雷火箭,小明已经规划好了每个排雷火箭的发射方向,第 j 个排雷火箭 (xj , yj ,rj) 表示这个排雷火箭将会在 (xj , yj) 处爆炸,它的爆炸范围是以半径为 rj 的一个圆,在其爆炸范围内的炸雷会被引爆。同时,当炸雷被引爆时,在其爆炸范围内的炸雷也会被引爆。其中有一个关卡的任务如下, 在一个二维平面上放置着 n 个炸雷,第 i 个炸雷 (xi , yi ,ri) 表示在坐标 (xi , yi) 处存在一个炸雷,它的爆炸范围是以半径为 ri 的一个圆。

2024-03-31 22:21:36 1465

原创 统计子矩阵(前缀和+双指针)

给定一个 N × M 的矩阵 A,请你统计有多少个子矩阵 (最小 1 × 1,最大 N × M) 满足子矩阵中所有数的和不超过给定的整数 K?对于 100% 的数据,1 ≤ N, M ≤ 500;对于 30% 的数据,N, M ≤ 20. 对于 70% 的数据,N, M ≤ 100.之后 N 行每行包含 M 个整数,代表矩阵 A.大小为 1 × 1 的有 10 个。大小为 1 × 2 的有 3 个。大小为 1 × 3 的有 2 个。大小为 1 × 4 的有 1 个。大小为 2 × 1 的有 3 个。

2024-03-31 16:14:01 464

原创 Codeforces Round 937 (Div. 4)

【代码】Codeforces Round 937 (Div. 4)

2024-03-29 11:20:41 689

原创 最近公共祖先(LCA)

接下来 n 行每行一对整数 a 和 b,表示 a和 b 之间有一条无向边。如果 b是 −1,那么 a 就是树的根;对于每一个询问,若 x 是 y 的祖先则输出 1,若 y 是 x 的祖先则输出 2,否则输出 0。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。接下来 m 行,每行两个不同的正整数 x 和 y,表示一个询问。第 n+2 行是一个整数 m 表示询问个数;

2024-03-24 21:45:30 302

原创 AtCoder Beginner Contest 346

【代码】D - Gomamayo Sequence (状态dp)

2024-03-24 13:13:24 369

原创 Codeforces Round 936 (Div. 2)

【代码】Codeforces Round 936 (Div. 2)

2024-03-23 14:48:33 248

原创 Codeforces Round 933 (Div. 3)

【代码】Codeforces Round 933 (Div. 3)

2024-03-23 14:38:57 131

原创 Codeforces Round 935 (Div.3 E F)

给出长度为n的排列,和数字x,可以交换最多两次序列中的元素,使得最终二分的答案在序列中指向的元素为x;

2024-03-20 21:47:32 237

原创 区间和(图论)

题目给出了A[3]=2, 又有A[3]=A[3]+A[2]+A[1]−(A[1]+A[2])=3−2=1, 产生矛盾,因此只输出一个字符。题目给出了信息:A[1]+A[2]+A[3]=2、A[2]+A[3]=1、A[1]+A[2]=5。现在小红要小明用这Q组信息来推出数组A的值,小明希望你能够帮助他。第一行输入两个正整数N(1≤N≤2000)、Q(1≤Q≤3000)接下来Q行,每行3个正整数,分别是L、R、W(1≤L,R≤N)a[1]+a[2]+a[3]=2---> 0到3距离为2。的值,如果无法推测出。

2024-03-18 21:25:57 296

原创 D - Tiling(DFS)

给一个网格的宽W和高H(1

2024-03-18 19:39:52 266

原创 单调队列优化DP

最大子序和输入一个长度为 n 的整数序列,从中找出一段长度不超过 m的连续子序列,使得子序列中所有数的和最大。子序列的长度至少是 1。第一行输入两个整数 n,m。第二行输入 n 个数,代表长度为 n 的整数序列。同一行数之间用空格隔开。输出一个整数,代表该序列的最大子序和。保证所有输入和最终结果都在 int 范围内。7看到求一段区间的最大值 --联想到用前缀和去解决 --去思考怎么样去枚举区间暴力枚举 O(nm)

2024-03-16 16:02:58 843

原创 cf(163)

找最长串联字串的长度。

2024-03-16 13:00:06 167

原创 单调栈+单调队列

在保持栈内元素单调递增的前提下(如果栈顶元素大于要入栈的元素,将将其弹出),将新元素入栈。在保持栈内元素单调递减的前提下(如果栈顶元素小于要入栈的元素,则将其弹出),将新元素入栈。单调栈的时间复杂度是O(n)

2024-03-13 20:37:45 756

原创 整数删除--双链表

双链表实现一个双链表,双链表初始为空,支持 55 种操作:在最左侧插入一个数;在最右侧插入一个数;将第 k 个插入的数删除;在第 k 个插入的数左侧插入一个数;在第 k 个插入的数右侧插入一个数现在要对该链表进行 M次操作,进行完所有操作后,从左到右输出整个链表。:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…第 n 个插入的数。第一行包含整数 M,表示操作次数。

2024-03-10 12:55:15 343

原创 买瓜(dfs+剪枝)

如果无论怎样小蓝都无法得到总重恰好为 m 的瓜,请输出 −1。输入的第一行包含两个整数 n, m,用一个空格分隔,分别表示瓜的个数和小蓝想买到的瓜的总重量。对于所有评测用例,1 ≤n≤30,1≤ Ai ≤ 10^9 ,1 ≤ m ≤ 10^9。第二行包含 n 个整数 Ai,相邻整数之间使用一个空格分隔,分别表示每个瓜的重量。小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai。小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。小蓝希望买到的瓜的重量的和恰好为 m。

2024-03-08 16:47:26 518

原创 Codeforces Round 930 (Div. 2)

substr时间复杂度O(N),不能一遍遍找,会超时。

2024-03-03 21:21:00 216

原创 Codeforces Round 920 (Div. 3)

【代码】Codeforces Round 920 (Div. 3)

2024-02-15 14:40:14 242

原创 求路径/步骤(前缀)

随后的M行中,每行给出一条快速道路的信息,分别是:城市1、城市2、快速道路的长度,中间用空格分开,数字均为整数且不超过500。它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。对于上图的魔板状态,我们用序列 (1,2,3,4,5,6,7,8)(1,2,3,4,5,6,7,8) 来表示,这是基本状态。按顺序,每行输出一个路径中经过的单元格的坐标,左上角坐标为 (0,0)(0,0),右下角坐标为 (n−1,n−1)。

2024-02-14 21:08:53 780

原创 Codeforces Round 925 (Div. 3)

题意:给定一个长度为n(2

2024-02-14 13:47:18 542

原创 天梯赛(25)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询的宾客编号。这里假设朋友的朋友也是朋友。

2024-01-31 18:36:06 983 1

原创 mobiusp 正在创作乐曲

mobiusp 创作了一首 n 个音符的乐曲,其中第 iii 个音符的音高为 ai​ ,但是 mobiusp 对以前的创作风格和黑历史很不满意,他希望所有音符的音高 ai 都是 1∼7 的正整数,且相邻的音高差不超过 k。形式化地说,即使得对于任意 i∈[1,n]i,有 1≤ai≤7 ,且对于任意 i∈[1,n−1]i 均有 ∣ai−a(i+1)∣≤k。第二行 n 个正整数,其中第 i 个正整数 ai​ (1≤ai≤7)表示第 i 个音符的音高。请你求出,他至少需要修改几个音符,才能满足这个要求。

2023-11-25 19:05:17 527

原创 Add, Divide and Floor(cf round 158 div2)

给你一个整数数组 a1,a2,…在一次操作中,你可以选择一个整数 x ,并用 (a[i]+x)/2 替换 ai ( (a[i]+x)/2表示将 y(a[i]+x)/2舍入为最接近的整数(⌊y⌋ 表示将 y 舍入为最接近的整数)来替换从 1 到 n 的所有 i。请注意,每次操作都会影响数组中的所有元素。打印使数组中所有元素相等所需的。如果操作次数小于或等于 n,则打印每次操作所选择的 x。如果有多个答案,则打印任意一个。可能+1 也可能+0。可能+1 也可能+0。可能+1 也可能+0。

2023-11-25 17:52:35 849

原创 Doremy‘s Connecting Plan(cf 906 div2)

其中S是当前在i或j的同一连通分量中的所有节点的集合,c是给定的常数。如果存在从i到j的路径,则两个节点(i,j)在同一连通分量中。如果图的所有节点都在同一个连接的组件中,则图是连接的。Doremy生活在一个由编号从1到n的n个城市组成的国家,第二个城市居住着ai人。它可以被建模为具有n节点的无向图。输入 第一行输入 n, c (2≤n≤2*10^5, 1≤c≤10^6)要做到这一点,她可以在i和j之间添加一条边,并且满足以下条件。输出 可以输出 Yes 否则 No。多组输入 t(1≤t≤10^4)

2023-10-29 15:13:41 192

原创 Look Back(cf div3 905)

给你一个长度为n((1≤n≤10^5)数组a[],你可以进行一个操作 使a[i]=a[i]*2,问最少经过多少次这样的操作使的a[]不递减,a[i]>=a[i-1]。a[i-1]*2*2*2=16,要使a[i]>=a[i-1]=16,那么a[i]需要乘 s[i-1]-t 个2,也就是2个2就可以满足a[i]>=16。a[i-1]*2*2=16,要使a[i]>=a[i-1]=16,那么a[i]需要乘 s[i-1]+t 个2,也就是3个2就可以满足a[i]>=16。

2023-10-26 00:10:12 251

原创 数学知识()

质数质数。

2023-10-20 17:45:21 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除