自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 954 (Div. 3) (A~F)(不会数学)

暴力枚举一下所有可能可以观察到:若一个数比周围四个数都大,那么最终会变成四个数当中最大的哪一个。对字符串c以及ind数组进行排序,通过贪心可以知道,我们需要按照索引从小到大的修改字符串,同时一个位置只会有一个字母与之对应,因此只需要同时按照字符串c从小到大修改即可。归纳题,观察后可以发现:一定有一个两位数,因此我们可以枚举这个两位数,然后取最小值。接下来考虑如何取最小值:若存在数字0,那么可以通过都用乘法来将最终结果变成0,此外,若存在数字1,可以通过乘法将1消掉。

2024-06-24 01:03:47 1304

原创 Codeforces Round 953 (Div. 2) (A~F)(冒充Div2)

思路:很经典的将区间操作转化成端点操作,首先考虑全部修改,然后可以发现对比于区间修改而言,只有区间最靠左的两个数跟区间最靠右的两个数可能会不一样,因此只需要关注区间的左右四个点即可,若区间长度小于4的我们直接特判。思路:分类讨论,首先若后面的选举人存在比当前选举人票数多的情况,那么必然是将前面所有的人全部排除,然后再看票数是否大于后面最大的票,若还是小,则将后面票数最多的人也排除掉。的图,所有的斜率为-1的线上所有的顶点全部连通(1除外,需要特判)。总上,我们需要统计的是,删去前。个人的票小于他的最小。

2024-06-16 23:23:46 1163 2

原创 篮球杯小白+强者

思维题,注意到完全平方数的约数是奇数个,其余都是偶数个。贪心:用尽可能多的质数来构造这个数。注意到无论怎么改变,这两个数的差值不会变,因此考虑到差值的每个约数能否满足题意,记录最小值即可。计数问题,对于每次询问,大于k的数全部可以选或者不选,而小于k的数至少选一个,然后可以预处理出所有的MEX取值情况,最后输出即可。首先发现排序后没影响,因此先排个序,然后发现若要使得 l - f 最小,必然选取的是前y个数和后m-y个数。构建关于y的函数,发现这是一个有波谷的函数,因此考虑三分求波谷即可。

2024-06-16 00:05:14 397

原创 SuntoryProgrammingContest2024(AtCoder Beginner Contest 357)(A~F)(最爱线段树的一集)

题意:模拟。

2024-06-08 21:43:26 588

原创 Codeforces Round 951 (Div. 2) C、D(构造、线段树)

构造题:观察到k范围很小,首先考虑最终硬币总数可以是多少,我们可以先假设最终的硬币总数为所有k取值的最小公倍数,这样只需要满足每个结果添加1枚硬币即可赚到硬币。

2024-06-07 00:34:32 475

原创 Codeforces Round 950 (Div. 3)G(字典树)

因此我们需要进行奇偶分类,可以发现,到顶点为奇数的各个顶点,两两之间的距离都是偶数,同样,到顶点距离为偶数的各个顶点,两两之间的距离也是偶数。因此我们对深度奇偶进行一个分类,构建两棵字典树,然后每次询问分别求最值。还需要注意的是不能自己和自己异或。由于第一类查询的存在,对于第二种询问而言,其路径需要异或。思路:先有前置知识:对于一颗有根树而言,两个顶点的路径异或为。若没有第一种询问,很显然的是一个简单的异或最大值,其答案就是。,因此若两点距离为奇数,那么其路径异或为。是所有第一类询问的异或。

2024-06-04 02:05:35 431

原创 Codeforces Round 950 (Div. 3)(A~F2)

G题只会暴力..不会数据结构暴力模拟即可。

2024-06-04 00:57:15 1618 1

原创 Codeforces Round 949 (Div. 2) (A~C)

大失误

2024-05-31 22:03:17 695

原创 Educational Codeforces Round 166 (Rated for Div. 2) (C、D)

题意:思路:考虑求出如果多一个程序员,那么整个序列该怎么选,多一个测试员,整个序列该怎么选。那么若第个人原先是程序员,那么他不来面试以后后面的所有人选择情况就是多一个程序员的情况。同理,若第个人原先是测试员,那么他不来面试以后后面所有人选择情况就是多一个测试员的选择情况。然后考虑用前缀和来快速求解。

2024-05-31 00:46:10 977 2

原创 Educational Codeforces Round 165 (Rated for Div. 2) (C、D)

寄寄寄寄摆摆摆摆

2024-04-30 00:51:08 1023

原创 Codeforces Round 941 (Div. 2) (A~D)

然后考虑若此时存在两个堆,那么对于Alice而言,其操作可以使得小的那个堆只剩下1,下一步Bob必须选1,然后Alice就胜利了。相反,若小的那个堆一开始就是1,那么Alice就输了。接下来推广到若干堆的情况:对于任意一方而言,若最小堆不是1,那么便可以控制胜利,于是我们只需要枚举到最小堆不是1的情况即可,然后看是谁在操作就是谁赢。思路:若要使得所有方格同色,关键在于四个角上的颜色,若对角上的颜色一样就能直接将所有格子变为同色。思路:首先处理 < k 的部分,我们可以通过二进制的思想来构造整数,例如。

2024-04-28 00:34:31 927

原创 Codeforces Round 940 (Div. 2) and CodeCraft-23 (A~E 最喜欢打表的一集)

题意:给若干根长度不一的棍子,求能够组成的正多边形的最大个数。要求每个边只能用一个棍子。思路:贪心,3个长度一样的棍子凑成一个正多边形,然后统计个数。

2024-04-22 01:03:42 2315 24

原创 Hackforces Round 938 (Div. 3)(A~H)

最没想到的一集

2024-04-09 14:13:08 803 3

原创 Codeforces Round 937 (Div. 4)(D~G)

题意:思路:观察到n的范围很小,先求出所有可能的二进制十位数,然后dp把所有可能的值求出来。注意不能用求因子的方法来求解,因为这些二进制十位数不一定是素数,先除某个数可能会影响整体的分解。(此题数据不大可以忽略)

2024-03-29 09:27:43 820

原创 Codeforces Round #936 (Div. 2)B~D

4、若x的某一位是0,那么如果我们也要将其最终结果为0,同样需要满足每个区间内的个数为偶数,隔板的可能位置被限制。3、若x的某一位是1,那么如果我们将最终结果这一位变成0,那么此后的所有位都不需要讨论了,这一轮的可选位置即是最大方案数。1、比x的最高位还要高的位数,每个区间内的个数必须为偶数,如若不能满足直接输出-1,也就是说隔板的可选位置会被限制。可以想到,每次都将最大连续子序列放到该子序列的最后,也就是每一轮都能将最大连续子序列倍增一次填到数组中,最终求结果。思路:首先异或问题想到拆位去处理。

2024-03-23 03:12:24 638

原创 Codeforces Round 935 (Div. 3) (A~G)

题意:三种人安排住宿,a只能跟自己住,b只能三个人住,c能1~3个人,问最终最少房间数思路:a单独安排,b放一起,不足三个人的用c补,然后c按照3人一房间尽可能分配题意:装置A每a分钟放一次烟花,装置B每b分钟放一次烟花,烟花能存在m分钟,求空中同时存在最多多少烟花.思路:两只烟花必然能同时放,然后再看接下来m分钟能放多少只烟花,这样必然最优题意:给定01串,要求从中间某个位置分开,其中左侧0的数量大于等于1的数量,右侧1的数量大于等于0的数量,求满足条件的最靠近中心的位置。思路:直接模拟。

2024-03-20 09:45:40 1217 3

原创 Codeforces Round 929 (Div. 3)(F)

分析:注意到终点那一列是必定没有障碍物的,因此考虑走到终点那一列即可。可以发现:由于障碍物会循环上移,因此对于自身而言,循环向上走等于没走(障碍物相对位置不变)。因此循环向上走只会在最后一列出现。接下来仅考虑向下走和向右走,就是一个普通的bfs了(注意判断一下障碍物)。最后再将最后一列到终点的时间加上去即可取最小值即可。题意:题目很长,大致意思是一个有障碍物的迷宫,要求从起点走到终点,且单位时间障碍物会循环上移一格。你能够向右或者循环向下或者循环向上走。

2024-02-28 08:17:13 525 2

原创 AtCoder ABC 336(A~F)

二分求长度,从头开始遍历,然后判断能否形成这个好序列,首先从头到尾尽可能的组成一组好序列,若到某个数时无法和前面的数组成好序列,那就将这个数变成新序列的第。找出由0 , 2 , 4 , 6 , 8 组成的第x大数,模拟(注意一开始不能取0 , 因此其实是一个开头为4,其余都是5的进制数)。的好序列,现给定一组数组,你可以选中其子序列,同时将其中的数减去若干,组成一组好序列。求好序列的最大长度。最终答案加上第N的位数位,总和为钦定的位数和,余数为0,状态为0或者1的总数。为这个数的值,这样做必然是最优的。

2024-01-19 16:10:50 439

原创 Educational Codeforces Round 161 (Rated for Div. 2)(A~E)

被教育咯题意:思路:读题读了半天..可以发现,若对于第位而言,,那么c就一定与模板匹配。否则模板只需要取大写的即可。因此若所有的,都有,那么就不能构造,否则一定可以构造出模板。

2024-01-19 01:25:40 611

原创 第 3 场 小白入门赛(1~6) + 第 3 场 强者挑战赛 (1 ~ 5)

第 3 场 小白入门赛1、厉不厉害你坤哥(暴力)2、思维3、暴力,前缀和,贪心4、二分5、DP6、容斥,双指针第 3 场 强者挑战赛2、BFS5、树上倍增求第k祖先题意:可以发现,如果我们钦定练习生,那么舞力值的。因此对于而言,需要知道前的最大值跟后的最大值。可以通过数组来存前缀最大跟后缀最大。然后遍历每个即可。

2024-01-14 00:11:06 905

原创 Hello 2024(A~D,F1F2)

思路:可以发现:同一个父亲的两个叶子结点的权值只差了1,且两个叶子结点中小的那个就是父节点的权值.也就是说,dfs序中若相邻两个数差了1,那么这两个数就是同一个父亲结点的。题意:先有一颗未知的完整二叉树,非叶子结点的两条与子节点相连的边权一个为0,另一个为1.如今给出了根据dfs序的叶子结点的权值序列,求能否还原出一颗完整二叉树.定义结点的权值为该节点到根节点的边权之和.思路:可以想到,由于无法改变相对顺序,我们需要从前往后的插入元素.而每一部分的最后一个元素值应当越大越好。思路:奇偶讨论即可。

2024-01-07 01:42:41 810

原创 Codeforces Round 918 (Div. 4)(AK)

A、模拟B、模拟C、模拟D、模拟E、思维,前缀和F、思维、逆序对G、最短路

2023-12-29 01:01:56 2730 2

原创 第 1 场 算法季度赛 蓝桥&搜狐畅游(1~5 , 7)

1、水题2、树上dp3、模拟4、概率5、拆位6、(是没学过的东西了...)7、组合数学直接模拟。

2023-12-28 00:49:56 1025

原创 Codeforces Round 917 (Div. 2)(A~D)(又是数学题)

可以发现:对于同一个开头字母而言,前面位置删除后所能形成的字符串必然涵盖了后面位置开头所形成的字符串,因此不需要遍历所有字符,只需要遍历所有字母即可。思路:由于只能删除前两个数,因此可以考虑固定字符串开头,然后每次删除第二个数就会多形成一个空字符串。而什么情况下会使得总得分更高,即连续使用操作1之后,初始数组得分变的更高了。由此可以发现,对于全是0的数组而言,只需要前一天选择操作1,让。之间的数而言,也是同样的考虑方式,如此不断除以二直到下限为止。之间的逆序对而言,只需要对q数组求一次逆序对即可。

2023-12-25 01:05:07 1677 4

原创 Pinely Round 3 (Div. 1 + Div. 2)(A~E)(有意思的题)

数论题总是那么有趣

2023-12-24 02:15:25 950 2

原创 蓝桥杯第二场小白入门赛(1~5)(对不起,我线段树太菜了)

1.模拟2.贪心3.二分4.数论5.数论6.线段树

2023-12-23 21:20:32 504 2

原创 Educational Codeforces Round 160 (Rated for Div. 2)(D 动态规划)

动态规划求解

2023-12-19 13:34:06 574

原创 Codeforces Round 915 (Div. 2)(A~C)

坐牢一个半小时...D、E待补(太菜了,做的题还是太少了)思路:手画一下发现:n个城市最多能重建n * n 的城市,所以n * m 需要重建max(n , m)个城市。

2023-12-17 00:34:56 359

原创 蓝桥杯第一场强者挑战赛(C)SOSdp

之前在cf上面接触过SOSdp(子集dp),这里就碰到了。不需要进位,也就是不存在同一位上面都是1。中为1的地方,其他数不能为1,也就是说其对答案的贡献为。需要进位的话,那么就无法满足题意,因此条件弱化为。思路: 异或运算即非进位加法运算,因此如果。

2023-12-12 23:17:10 210

原创 蓝桥杯小白赛第一场(1~6)(期望DP)

1、模拟2、贪心3、前缀和4、猜结论5、双指针6、期望DP。

2023-12-12 22:07:44 620

原创 Codeforces Round 914 (Div. 2)(A~E)

思路:定1求1,将所有能打到国王的棋子位置求出,看是否能打到王后。

2023-12-12 12:50:24 520 2

原创 Codeforces Round 913 (Div. 3)(A~G)

1、编程模拟2、栈模拟3、找规律?(从终止状态思考)4、二分5、找规律,数学题6、贪心(思维题)7、基环树题意:直接模拟题意:给定键入顺序,但是其中‘B’和‘b’不再代表字母,‘B’代表删除前面第一个大写字母,‘b’代表删除前面第一个小写字母,求最终键入的字符串结果。思路:‘第一个’自然想到了栈的后进后出原则,‘B’‘b’操作即是出栈操作。先不考虑最终结果,而是将其字母的键入时间放入栈当中。最后将栈中键入时间全部取出,再根据键入时间输出结果。

2023-12-06 02:09:11 1089

原创 Educational Codeforces Round 159 (Rated for Div. 2)(A~F)(LCA + 线性基)

那么在翻转之后,pos(l - 1 + 1) = {x + (pos(r - 1).x - pos(r).x , y + (pos(r - 1).y - pos(r).y)} ,将r - 1 中的 1改成任意数也是一样的情况。思路:(一定要想清楚题目在干什么...比赛时想假了)可以发现:对于反转[L,R]的操作而言,机器人从[0,L - 1]上的位置时不会改变的,从[R,n]的位置也是不会改变的,因此考虑记录机器人所有时刻能够到达的点的情况,同时记录一下机器人到达某个点的时间情况。的每个前缀子串的数量。

2023-12-04 10:27:43 1046

原创 GPLT(有空就写)

也就是说:我们需要维护的是每个结点上其子树的最大值。同时由于需要输出每个人的能力,所以二叉树中不仅要存最大值信息,还要存胜者编号信息,这样便能直接对败者进行赋值了。可以发现:如果需要对某一个结点进行赋值,充分必要条件是该值大于等于其子树上所有值的最大值,否则的话这个人就会在之前的比赛中就输掉。将其放入一颗满二叉树上去考虑:从二叉树的最底层开始,每一轮比赛,为同一个祖先的左右两个儿子进行比较,而你需要将败者的能力值填到左右两个儿子其中一个上面,另一个就向上传递表示胜利。

2023-12-01 14:49:20 149

原创 Codeforces Round 911 (Div. 2)(C~E)(DFS、数论(容斥)、SCC缩点 + DAG图上DP)

题意:凯克西奇一直被安吉冷落。通过一个共同的朋友,他发现安吉非常喜欢二叉树,于是决定解决她的问题,以引起她的注意。Anji 给了 Keksic 一棵有 n个顶点的二叉树。顶点 1 是根,没有父顶点。所有其他顶点都有一个父顶点。每个顶点最多可以有 2个子顶点、一个左子顶点和一个右子顶点。对于每个顶点,安吉都会告诉凯西奇它的左子和右子的索引,或者告诉他它们不存在。此外,每个顶点上都有一个字母,即 "U"、"L "或 "R"。

2023-11-27 01:45:07 1234 3

原创 蓝桥杯第四场双周赛(1~6)

相反,增加数求区间中位数就是一道对顶堆的板子题了。因此考虑逆着做题,先将所有会飘走的气球放弃,将其余气球加入对顶堆。区间合并:将所有区间按照左端点排序,遍历区间,若当前左端点与前一个区间右端点有重合部分,则将他们合并成一个区间,否则将前一个区间存下来,当前区间为一个新的区间。5、 方法很多,大体思路为将类型一样的宝石放到一起,将他们的作用区间进行合并,然后对整个数组进行区间修改。3、模拟题,找规律,第一行和最后一行只有两个数,其余行都是三个数。, 因此所在列就是r - 1 + s。的所有取值,复杂度为。

2023-11-26 11:00:31 1354

原创 CodeTON Round 7(D、E)

由于只存在1或者2,现考虑拿出偶数的情况:有如下策略,首先两边如果有2,那么就拿2。之间的任意偶数都是能取到的。接下来考虑拿出奇数的情况,奇数就必须要拿到一个1,再拿完1以后按照偶数的操作继续进行下去。因此最小的奇数应该是看左右两边到第一个1的和的最小值。如果数组 b 是数组 a 的子数组,那么 b 可以从 a 中通过删除开头的几个(可能是零个或全部)元素和结尾的几个(可能是零个或全部)元素得到。请处理以下两种类型的询问。如何去找两边最近的1,可以直接用set来维护每个1的位置,然后访问起点和终点即可。

2023-11-26 08:19:41 203 1

原创 Educational Codeforces Round 158 (Rated for Div. 2)(A~E)(贪心,树形DP)

题意:有一条路,可以用一条数线来表示。你位于数线上的点 0 ,你想从点 0 到点 x ,再回到点 0。你乘汽车旅行,每行驶 1个单位的距离要花费 1 升汽油。当您从点 0出发时,汽车已加满油(油箱中的油量已达到最大值)。在 a1,a2,…,an点有 n 个加油站。到达加油站后,为汽车加满油。。你必须计算出你的汽车油箱的最小容积(以升为单位),这样你才能从点 0行驶到点 x 并返回到点 0。思路:求一下相邻加油站的距离最大值即可,注意最后一个加油站要先到点x再回来。

2023-11-25 01:45:29 2548 1

原创 Codeforces Round 910 (Div. 2)(D~F)

对于起点到任意一点的最短路我们可以直接一遍BFS求得,但是如何求起点到两个出口的最短路,我们可以通过逆向思维,从每个终点出发开始BFS,然后任意一个空格子可以被走过最多两次,这样能保证有两个终点走到该点上。最终求答案的过程我们可以遍历每一个空格子,然后假设起点到这个格子是两个最短路的重合段,用起点到该格子的距离加上两个终点到该格子的距离就是两个最短路的非重复的格子数。观察上述三种情况,发现当且仅当第二种情况,即原本两段区间不重合的条件下,其b数组的价值才会增加,增加的值为他们两段区间相隔的距离乘2。

2023-11-20 05:14:39 1516

原创 Codeforces Round 909 (Div. 3)(A~G)(启发式合并 , DSU ON TREE)

题意:给定一个数, 两个人玩游戏,每人能够执行操作,若操作完是3的倍数则获胜,问先手的人能否获胜(若无限循环则先手的人输)。思路:假如一个数模3余1或者2,那么第一轮操作先手就能获胜,若余0则后手获胜。

2023-11-18 02:05:06 1602 4

空空如也

空空如也

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

TA关注的人

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