- 博客(115)
- 收藏
- 关注
原创 JavaScript-使用正则表达式 去除字符串中空格
最近在项目开发中遇到的一个问题,写入数据库导致学号信息不能被识别。打印日志发现问题,由于所有的数据是复制粘贴导入的,导入的学号信息后面的空格被带入字符串,因此学号信息不能被识别。
2024-11-23 13:11:55
371
原创 【A~G2所有题】-Codeforces Round 964 (Div. 4)
遇到字母时,如果和当前正在匹配到pos2的位置上的字母一样时,让pos向后移动也就是pos++接着预处理前缀和数组pre,使用upper_lower函数查找某个数在a数组中的位置。遍历s1,当s1中遇到?时,可以插入当前正在匹配到pos的位置上的字母,这道题注意快速求解组合数,MOD是一个质数,使用费马小定理求解组合数。首先预处理3的次方的一个数组a。都符合合条件,那么缩小区间。都不符合条件,那么缩小区间。来说,将他分为3份,得到。不符合条件,那么缩小区间。,令两个中间的点分别为。符合条件的情况,因为。
2024-08-07 14:35:21
919
原创 1005-交通管控-2024“钉耙编程”中国大学生算法设计超级联赛(6)
这道题一个坑,不能开long long,开了long long会T。状压dp,把所有情况用一个三进制数表示,每一个字母分别用数字表示。如何把一个十进制数字转换成状态?(这是一个三进制数)。也就是说,十进制 数字。
2024-08-06 19:12:52
1215
原创 1004-不醒人室-2024“钉耙编程”中国大学生算法设计超级联赛(6)
1004-不醒人室-2024“钉耙编程”中国大学生算法设计超级联赛(6)
2024-08-06 19:12:01
331
原创 1001-造花(简单版)-2024“钉耙编程”中国大学生算法设计超级联赛(6)
只有度为2的节点是有可能被去除的,所以遍历所有度为2的节点。假设这个2度节点被删除了,那么判断剩下的两边能否构成菊花图。
2024-08-06 19:10:19
309
原创 Dijkstra最短路径算法-朴素版/堆优化版
这是一道来自AcWing的题-850. Dijkstra求最短路 II,这里总结Dijkstra的两种方法。
2024-07-30 19:53:19
369
原创 C++使用sizeof()输出各种变量类型占用大小
并使用sizeof运算符来获取它的大小时,实际上得到的是td::string对象本身所占用的内存大小,而不是它所包含的字符串数据的长。分析:如果它是用UTF-8编码的(这是最常见的情况,特别是在跨平台和多语言境中),那么每个中文字符(在这个例子中是“你”和“好”)通常会占用3个字(但请注意,这取决于具体的字符和UTF-8编码规则,但大多数情况下中文字在UTF-8中占用3个字节)。分析:在C++中,直接将中文字符(如’哈’)赋给char类型的变量通常是不正的,或者至少不会按你期望的方式工作。
2024-07-30 18:47:00
574
原创 【代码详解】最小生成树- AcWing-858. Prim算法求最小生成树
【代码】【代码详解】最小生成树- AcWing-858. Prim算法求最小生成树。
2024-07-29 10:32:10
316
原创 A - ABA and BAB-AtCoder Regular Contest 180
首先想到子串中出现ABAB和BABA这两种情况的处理是一样的,他们的变换只会产出两种变化,如ABAB=>ABAB/AB;这道题要计算出ABA和BAB组合出的字符串的变化情况并对MOD取模。得出结论:变化情况=长度/3+1;
2024-06-30 01:30:00
466
1
原创 配置Vue3中的baseURL--用于项目快速修改请求服务器
配置baseURL之后可以快速修改请求的服务器,在网上搜索了很多教程都没有找到合适的,大多都是对Vue2项目进行配置的和配置繁琐的,那么这里分享一下对vue3项目如何简单快速设置baseURL。
2024-06-13 16:28:08
1205
原创 L3-1 夺宝大赛-2024天梯赛(内存超限解决方法)
首先在一行中给出正整数 k(0<k<m×n/2),随后 k 行,第 i(1≤i≤k)行给出编号为 i 的参赛队的初始落脚点的坐标,格式为 x y。这里规定地图左上角坐标为 1 1,右下角坐标为 n m,其中 n 为列数,m 为行数。输入首先在第一行给出两个正整数 m 和 n(2<m,n≤100),随后 m 行,每行给出 n 个数字,表示地图上对应方格的状态:1 表示方格可通过;解决方法就是从大本营开始bfs地图上每一个能够到达的点,到达某点后记录下到达该点的最短距离,bfs第一次到达该点一定是最短距离。
2024-04-23 10:22:25
923
原创 L1-5 别再来这么多猫娘了!-2024天梯赛
因此你的工作是实现一个审查内容的代码,用于对 AI 生成的内容的初步审定。更具体地说,你会得到一段由大小写字母、数字、空格及 ASCII 码范围内的标点符号的文字,以及若干个违禁词以及警告阈值,你需要首先检查内容里有多少违禁词,如果少于阈值个,则简单地将违禁词替换为;接下来的 N 行,每行一个长度不超过 10 的、只包含大小写字母、数字及 ASCII 码范围内的标点符号的单词,表示应当屏蔽的违禁词。不要直接将违禁词替换成“<censored>”,先将所有违禁词替换成“-”,最后统一将所有的“-”替换。
2024-04-21 20:26:52
940
3
原创 E. Long Inversions-Codeforces Round 938 (Div. 3)
对于每种长度len,需要对区间进行操作,如果暴力时间复杂度太高,所以可以使用差分数组来实现。题意为,可以选择一个数k,每次操作可以让长度为k的部分翻转,不论操作次数,问k的最大值。n<5000,则可以枚举所有长度。
2024-04-09 11:36:42
544
原创 I - Invoking the Magic-The 17th Zhejiang Provincial Collegiate Programming Contest
宝宝洗袜子,宝宝起初有n对袜子需要清洗,每对袜子都有相同的颜色,用数字表示,例如{1,1}是一对袜子,{5,5}是一对颜色相同的袜子。宝宝可以把袜子放到桶里使用魔法,但是桶里的袜子一次必须要完全匹配,不能出现不能匹配的袜子。并查集,合并关联的袜子放入同一个组中,最后计算组的最大大小。这题要使用unordered_map。
2024-04-08 09:20:26
348
原创 AD 2020-The 17th Zhejiang Provincial Collegiate Programming Contest
预处理枚举所有不好的日期,将这些日期放入vector中,对于每组输入只需要二分查找下标即可。一个日期中包含“202”那么这个日期是不好的日期,例如20200202,其中包含“202”给出两个日期,分别是起始日期,计算在这个日期区间内的不好的日期的个数。
2024-04-08 09:14:13
258
原创 E. Rudolf and k Bridges-Codeforces Round 933 (Div. 3)
题目要求连续造k座桥,那么只需要把每一座桥的建造成本记录一下,最后取其中和最小的连续k座桥的成本即可。其中k是一个范围[j-k-1,j-1];用dp来做,这座桥的第j个位置的建造成本为dp[j];deque:双端队列,可以在前后存取元素。最后就是一个前缀和来求连续k座桥的成本了。这道题需要使用到deque。
2024-03-12 22:31:26
413
原创 C. Find a Mine-Codeforces Round 931 (Div. 2)
4次向机器询问的机会,那么前3次来确定可能在的两个坐标,最后一次询问则确定这两个坐标其中一个为地雷。如图为一个样例,询问三个角的坐标就可以确定两个交点。
2024-03-04 18:06:14
295
原创 B. Binary Path-Codeforces Round 930 (Div. 2)
由于只能向右和向下走,所以只能向下走一次只需要找到第一个右边是1下面是0的位置,往下移动即可,如图所示。那么次数计算只需要计算在往下走这个结点向前有多少个上面和左边相同的组数即可。
2024-03-01 17:58:21
560
原创 D. Card Game-Codeforces Round 927 (Div. 3)
存储本题的输入数据可以使用map配合priority_queue,优先队列实现自动排序,那么在输出时可以把小的数先输出,这样前面输出的卡牌一定比后面输出的卡牌数字小。所以需要判断有多少不同字母卡牌只剩下单独一张的cnt,这种卡牌只能和王牌来同时输出。判断cnt如果大于王牌个数,那么结果就是impossible的。所有相同字母不同数字的卡牌都可以同时成对输出。
2024-02-29 11:56:46
404
原创 C. LR-remainders
这道题要按照LR的序列顺序来对这个数组相乘取余,也就是说知道了LR的顺序之后就能将原数组重新排列。数和数相乘取余之后,原数不能恢复,所以可以从最后向前进行相乘取余,最后倒序输出即可。使用2个stack实现。
2024-02-29 08:31:47
297
原创 C. Turtle Fingers: Count the Values of k-Codeforces Round 929 (Div. 3)
使用mapmp来存储,其中使用到了set而不是vector,主要考虑到了当a==b时会出现重复的结果。题目给出的数据范围a,b小于100,所以可以预处理出所有情况的a,b的不同幂次数的所有情况。
2024-02-28 20:19:35
368
原创 E. Turtle vs. Rabbit Race: Optimal Trainings-Codeforces Round 929 (Div. 3)
ansr需要考虑到,能不能取到ansr的下一位,所以要特殊判断假如取到ansr+1这个情况是否符合条件。二分:使用前缀计算区间(l,r)的总和,找到使得总和
2024-02-28 20:10:00
616
原创 Tokitsukaze and Short Path (plus)-牛客寒假训练营(二)
看这道题的边权计算,将绝对值去掉发现,边权为两个顶点中较大的两倍,那么这样就可以快速计算出最短路径。3顶点,连接该点的边权只有和1,2相连为3顶点的2倍,其他都是另一个点的2倍。2顶点,连接该点的边权只有和1相连为2顶点的2倍,其他都是另一个点的2倍。从1顶点开始,连接该点的边权都是另一个点的2倍。将输入的每一个顶点权值排序,排序对结果不影响。
2024-02-06 13:38:15
206
原创 D - Synchronized Players-AtCoder Beginner Contest 339
遇到障碍物时,只有遇到障碍物的P点不能移动,另一个点加入没有障碍物那么他是可以移动的。还有考虑边界情况,移动后的点的范围要在1~n之间。这道题可以选择四维数组来标记组合是否被访问。
2024-02-04 20:30:02
258
原创 E.本题又主要考察了贪心-牛客寒假训练营(一)
看了题解,这道题的正确做法是DFS所有情况,因为数据范围很小。如果非1号选手的两个选手比拼,分数已经比1号选手高的胜,看到这题目还真以为是贪心,还真写了一个贪心的代码。如果1号选手和别人比拼,1号选手胜,
2024-02-04 13:10:54
169
原创 PTA-还原二叉树
下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。BTree recPreIn(char Pre[],char In[],int len)函数递归完成。其中len表示Pre和In的长度,由于字符串截取使用指针实现,使用len来记录长度方便进行递归。int getHeight(BTree T) 数据结构二叉树的经典算法,返回二叉树的高度。给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输出为一个整数,即该二叉树的高度。①已知前序和中序还原二叉树。
2023-12-20 19:17:43
1528
原创 PTA- 列出叶结点
随后 N 行,每行给出一个对应结点左右孩子的编号。可以发现,在输入中没有出现过的数组就是树根,如样例中给出8个结点的左右孩子,所有数据中没有出现3,所以树根为3。在一行中按规定顺序输出叶结点的编号。编号间以 1 个空格分隔,行首尾不得有多余空格。对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶结点。需要注意的是本题输出末尾不能出现多余的空格,所以使用flag来控制输出。这道题的实现方法很简单,首先①找到树根->②建树->③遍历输出完成。算法实现:使用数组标记,未被标记的就是树根。
2023-12-20 19:14:07
957
原创 Codeforces Round 914 (Div. 2)-B. Collecting Game
题意要求,当前手上的数为取出的第i个数,从数组中取数,取出的数放在手上相加。有一个小细节,对于每一个i,当前位置的ans一定大于i-1,即包括i前面的所有的数的个数。当i=2,取出的2>1,取出1,1+2>3,取出3,1+2+31;3>2,取出1,2,1+2+33,全部取出,停止,ans=4;当i=1,取出1后手上的1不大于任何其他数,停止,ans=0;
2023-12-10 18:14:23
388
原创 D. Neutral Tonality-Codeforces Round 908 (Div. 2)
题意:给出两个数组,将第二个数组插入第一个数组,让插入后的数组LIS最小。
2023-11-10 11:23:58
161
原创 A. Cipher Shifer-Codeforces1840A
statu存放当前状态,每次更新vector时更新状态。简单题,使用vector存放答案。不断存入,最后输出即可。
2023-11-09 19:58:28
209
原创 D - Poisonous Full-Course-AtCoder Beginner Contest 306
/dp[i][0]=max(有毒状态选中解毒,无毒状态选中保持无毒,不选保持无毒);//dp[i][1]=max(保持有毒状态不选这道菜,上一个无毒状态选中这道菜)//dp[i][1],当前无毒,不会改变,和dp[i-1][1]相同。dp[i][j]表示走完前i道菜品,当前状态为j的最大美味值。给出n道菜,标记为0表示无毒,或解药,标记为1表示有毒。每道菜有一个美味值,求不被毒死能够获得的最大美味值。//dp[i][0]当前菜有毒所以不变。2.选择1号菜品后选择0号菜品解毒。
2023-11-09 17:34:11
104
原创 C. Anonymous Informant-Codeforces Round 908 (Div. 2)
题意就是给出一个数组,问是否存在一个数组经过变换得到该数组。变换:a[i]=i的点可以作为固定点,确定这个固定点之后把数组往左移,左移的数移到数组末端。例如:7 2 1 4 5可以选择第二个点(a[2]==2符合条件)作为固定点变化后的数组变为1 4 5 7 2此时可以选择第一个点(a[1]==1符合条件)为固定点以此类推…那么可以发现每次移动后,选择的固定点总是在新的数组的最后一位,那么是不是每次选择最后一位数进行k次倒推即可呢?
2023-11-09 16:55:10
422
原创 D - Good Tuple Problem-AtCoder Beginner Contest 327
题意:给出两个数组,要求在这两个数组的同一个下标的两个数,这两个数作为下标,第三个数组由0,1组成,这个数组的两个下标不相同。问是否存在这样的数组。昨天晚上看到数据范围 n,m小于2e5觉得dfs会超时,写了一半就没继续写下去了。今天一试直接过了并不会超时呜。表示第1和4位不同,第2和5位不同,第3和6位不同,这样的数组存在,比如111000,输出yes。分析:将所有数的与他不同位的数存在一起,可以看作一条连通的边,dfs遍历所有数即可。
2023-11-05 13:45:25
219
1
原创 D. In Love-Codeforces Round 905 (Div. 3)
和set不同点在于multiset不去重,可以存放重复元素。3.lower_bound()和upper_bound()2.multiset自动排序,这种方法的效率比上面的更高。只要左端点的最大值大于右端点的最小值就可以存在。两种解题方法,主要就是要做到元素有序高效放置。1.使用lower_bound()有序插入元素。
2023-10-23 18:30:16
380
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人