自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 秋招实习 刷题网站推荐

优点3: 平台主页有博客,以及各大公司真题知识点思维导图,讲解全面,有利于查漏补缺。优点2: 该平台和公司笔试模式一样,都是Acm输入输出,更有利于准备秋招。优点1: 题目全部改编自公司笔试真题,可以做做往年真题练手。#这个网站真好用#秋招#24届秋招#开发。另外有很多大佬,每题都有题解。秋招实习 刷题网站推荐。

2023-08-12 17:37:27 69

原创 层序+中序构建二叉树

层序每次都从头到尾遍历,中序指定范围。

2023-03-25 20:58:38 89

原创 leetcode 354 二维最长递增子序列+二维最长不递减子序列

这里要用upper_bound找到第一个大于把它替换掉,因为可以等于所以需要把等于也加入答案。这里要用lower_bound找到第一个大于等于把它替换掉。这样就能排序掉第一维相等的情况,保证每一维都大于之前的选择。对第二维做最长上升子序列,每一维大于等于之前。第一维不递减(可以有等于),二维递增。第一维从小到大,第一维相等。第一维从小到大,第一维相等。对第二维做最长上升子序列。维护一个增长子序列数组。维护一个增长子序列数组。

2023-03-25 14:35:19 239

原创 leetcode堆、优先队列(347. 前 K 个高频元素、295. 数据流的中位数)

手写堆

2022-10-26 15:55:59 88

原创 2430. 对字母串可执行的最大删除数 (dp+字符串哈希||lcp最长公共前缀)

leetcode

2022-10-16 15:43:07 118

原创 leetcode 239. 滑动窗口最大值 单调队列

单调队列

2022-09-26 18:42:48 81

原创 leetcode46、47、31 全排列、下一个排列(非递归解法,减少空间复杂度)

leetcode

2022-08-19 00:09:55 139

原创 leetcode 912 quicksort快排模板

leetcode

2022-08-01 22:29:19 131

原创 leetcode215. 数组中的第K个最大元素(快速排序)

面试题

2022-07-25 19:11:58 101

原创 关于Android studio telnet AVD问题以及命令

win10系统未开启主动开启telnet命令:1.打开控制面板2.点击程序和功能3.点击打开或关闭windows功能4.勾选telnet客户端选项之后在命令行里就可以使用telnet命令使用telnet localhost 5554 连接AVD默认状态下命令没有开启需要手动解锁、输入help:help|h|? print a list of commands...

2020-03-03 17:34:56 532

原创 浪漫小人程序 python源码

先上效果图里面内容可以自己改我也是借鉴别人的,哈哈哈,觉得挺有意思的想加东西也可加东西上去,还可以加名字上去import turtleturtle.speed(10)#画笔速度turtle.setup(1800,700,70,70)turtle.color('black', 'pink')# 画笔颜色turtle.pensize(3)# 画笔粗细turtle.hideturt...

2020-02-13 17:10:26 737

原创 bzoj 3224 平衡树(splay)模板

bzoj 3224插入x数删除x数(若有多个相同的数,因只删除一个)查询x数的排名(若有多个相同的数,因输出最小的排名)查询排名为x的数求x的前驱(前驱定义为小于x,且最大的数)求x的后继(后继定义为大于x,且最小的数)#include<iostream>#include<cstring>#include<cstdio>using na...

2019-08-19 13:36:57 148 1

原创 Floyd求无向图最小环模板(路径记录)

``大家都知道弗洛伊德算法最短路转移方程dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j])dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j])dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j])可以解释为i到j最短路,可以通过i到k,加上k到j的距离得到,那么如何通过这个求得最小环呢?...

2019-08-19 09:10:45 342

原创 codeforces 1029 E. Tree with Small Distances(树形dp||贪心)

http://codeforces.com/contest/1029/problem/E题意:给出以1位根节点有n个顶点,n-1条边的树,现在要添加边满足,1到所有顶点距离小于2思路:考虑最优的的添加一定是直接与1节点相连,那么如何让添加一条边影响更多的点呢,考虑倒着做,如果叶子节点距离大于2,最优添加方式一定是将其父节点连接到1上,一定比直接添加到叶子节点上影响的点更多,那么只需要树形dp,...

2019-08-18 20:34:05 255

原创 codeforces 896 B. Ithea Plays With Chtholly(构造||贪心)

http://codeforces.com/contest/896/problem/B题意:交互题,有n格,每次给一个[1,c]的数字,回答填入的位置后再次给数字,要求在m轮内使n格填满且数列不递减。n,m>=2,1<=c<=1000,1<=n*[c/2]<=m<=1000。思路:看到题目,我首先思考给出m>=nc/2 有什么用,一定能构造出序列,那么...

2019-08-18 20:20:59 171

原创 codeforces 777 E. Hanoi Factory(线段树||栈)

http://codeforces.com/contest/777/problem/E题意:有n个圆环,分别有内径r,和外径R和高度h 圆环 x 可以放在圆环 y上 需要满足条件 Rx&lt;=RyRx&lt;=RyRx<=Ry且Rx&gt;ryRx&gt;ryRx>ry,相当于上面的外径比下面外径小并且上面不能掉下去,问最高可以叠多高思路:...

2019-08-18 20:00:29 423

原创 codeforces 758 D. Ability To Convert(贪心)

http://codeforces.com/contest/758/problem/D题意:给你一个数字 n 接下来再输入一个数字 w表示w这个数字是 n 进制的,并且超过十进制也用数字表示,问你所有组合中(划分方案中)原来的数字十进制最小是多少。思路:要想数字最小,那么当然越后面该位上数字越多,对应十进制数字就越小,所以考虑从后面开始贪心,每次让最大的数字成为后面为上的数这道题目难点是在于...

2019-08-18 19:34:12 92

原创 codeforces 767 D. Cartons of milk(二分+贪心+双指针)

http://codeforces.com/contest/767/problem/D题意:自己已经拥有n瓶牛奶,每瓶保质期已知,超市有m瓶牛奶,保质期已知,每天喝掉k瓶牛奶,不足k瓶全部喝光,过期牛奶就会扔掉,问最多买多少牛奶可以不用扔掉思路:自然能想到购买的时候贪心的买,从保质期大的开始买,如果保质期大的都需要扔掉,那么自然保质期小的也需要扔掉,那么这个牛奶数目就可以通过二分来check...

2019-08-18 19:15:04 205

原创 codeforces 1201 D. Treasure Hunting(二分+贪心)

http://codeforces.com/contest/1201/problem/D题意:有一个n*m的方格,方格上有k个宝藏,一个人从(1,1)出发,可以向左或者向右走,但不能向下走。给出q个列,在这些列上可以向上走,其他列不能向上走。可以重复经过同一个点。求从(1,1)出发,经过所有宝藏的最短路径长度思路:这道题目,思路比较好想,就是贪心的选择每层最左边最右边宝藏的相邻的四个楼梯,然...

2019-08-18 18:23:23 361

原创 codeforces 1151 E. Number of Components(思维||单点贡献)

https://codeforces.com/contest/1151/problem/E题意:n个数字,每两个数字之间看做连接在一起,f(l,r)f(l,r)f(l,r)表示只留下l~r的数字的连通块的大小,求∑l=1n∑r=lnf(l,r)\sum_{l=1}^{n} \sum_{r=l}^{n} f(l, r)∑l=1n​∑r=ln​f(l,r) (l<=r)这道题自己做的时候一...

2019-08-15 00:17:53 198

原创 codeforces 1092 F. Tree with Maximum Cost(树形dp||换根dp)

https://codeforces.com/contest/1092/problem/F题意:给你一棵无根树,每个节点有个权值ai,指定一个点u,定义value=∑ai∗dist(u,i),求出value最大值思路:换根dp,首先考虑计算以根节点为U计算答案,首先通过一遍dfs直接求出res,然后思考一下如果变换u节点,u->to 那么to节点子树上dis-1,u节点其他子树dis+...

2019-08-14 23:55:33 159

原创 codeforces 1105 D. Kilani and the Game(bfs)

https://codeforces.com/contest/1105/problem/D题意:给n*m的地图,最多9个人,同时有每个人最多扩张si次(不是直线最大距离,被坑了)地图上有‘#’,‘.’,和数字,数字对应每个人的据点,从1-n轮流扩张。地图被扩张完后,输入每个人的据点数目。思路:用bfs,注意每次队列里储存的是该次bfs所能到达的点,把最远能达到的点,即到当前步数为0的点记录下...

2019-08-14 23:41:35 135

原创 codeforce E. Tree Painting(树形dp||换根dp)

https://codeforces.com/contest/1187/problem/E题意:给出一棵树,一开始每个节点都为白点,每次可以选择一个点变为黑点,获得分数等于该白点所有相连白点的数量,问能得到的最大分数为多少思路:此题为经点的树形换根dp。换根dp大体思路:1.首先固定一个节点(一般取根节点)2.考虑以该节点计算答案需要知道哪些条件(一般为子树的信息)3.将根节点传递给子...

2019-08-14 23:15:38 261

原创 codeforces 1196 F. K-th Path(第k短路)

http://codeforces.com/contest/1196/problem/F题意:给出n个点,m条边 求第k短路 k<=400思路:题解中提到,计算第k短路所需要的边只需要min(k,m)min(k,m)min(k,m)即可大概证明:1 如果k>m,那么m条边都需要,第k短路必然在,m条边组成的路径中 (废话)2.k<=m 那么只需要最短的k条路,组成的...

2019-08-13 11:54:55 331

原创 扩展KMP(模板)

拓展kmp是对KMP算法的扩展,它解决如下问题:定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i,n-1]的最长公共前缀,要求出所有extend[i] (0<=i<n)。注意到,如果有一个位置extend[i]=m,则表示T在S中出现,而且是在位置i出现,这就是标准的KMP问题,所...

2019-08-13 09:59:42 204

原创 codeforces 535 D. Tavas and Malekas(kmp)

https://codeforces.com/contest/535/problem/D题意:给出一个子串,和原字符串长度,给出该子串开头的位置,问能够构造多少个原字符串思路:如果不在子串范围内,每个位置的贡献就是26,主要问题就是当两个子串重叠时该如何解决。假设 以x,y开头的两个子串重叠,子串长度为n 如果要这种情况满足条件的话,必然有y——x+n-1 该长度开始的子串与末尾相同长...

2019-08-13 00:25:04 149

原创 codeforces 631 D. Messenger(kmp变形)

https://codeforces.com/contest/631/problem/D题意:给出n,m两个串,给出形式为字母出现次数+字母,问m在n中出现的次数思路:首先把两个字符串相邻相同字母的字符串直接合并,当m<=2时直接暴力求答案,当m>2时,如果m要出现在n中,那么m除了开头和结尾两个字母出现次数,中间字母及次数都应该完全相同,这就变成一了个kmp问题,只不过匹配变成了...

2019-08-13 00:04:57 159

原创 codeforces 1200 D. White Lines(二维尺取)

https://codeforces.com/contest/1200/problem/D题意:给出一个n*n的由BW组成的点阵,有一个橡皮擦可以使左上角为x,y,边长为k的矩阵中B变成W,通过一次操作使得行和列全为w的数量最多,求出这个数量思路:时间复杂度肯定为O(n2),所以考虑如何枚举每个点的同时就能直接求出每个点的贡献。首先满足一行在这个方块内时,需要最左边方块和最右边方块都在内部。...

2019-08-12 23:51:10 369

原创 codeforces 1200 E. Compress Words(不同字符串最大前缀后缀相同长度)

https://codeforces.com/contest/1200/problem/E题意:给出n个单词,可以把每个单词前缀后缀相同的部分合并,求最后合并单词kmp模板题… 比赛的时候自己没有模板,网上随便找了个模板,改到最后tle,没有时间了,原因还是因为记不清楚kmp算法了,通过这道题复习了下。思路:从第二个开始字符串开始和前面合并的子串进行kmp算法注意每次匹配的起点位置,应该...

2019-08-12 23:34:23 631

原创 kmp模板

在文本串中寻找模式串的位置kmp算法本质通过next数组来寻找字符串next数组表示i位之前的字符串最大相同前缀后缀的长度每次匹配失配时,只需要跳转到该位的next[i],因为模式串next[i]位置前面的字符串一定和现在文本串相同,通过此过程就可寻找到该模式串#include<iostream>using namespace std;int nx[10000+5];ch...

2019-08-12 23:26:33 71

原创 codeforces 950 D. A Leapfrog in the Array (思维)

https://codeforces.com/contest/950/problem/D题意:有n个数,每个数i在2*i-1的位置上,其余位置为空,每次把最右边的数放在它左边最近的空位上,重复此过程,直到1~n填满思路:发现n很大,而且有q次询问,那么时间复杂度应该为logn,我先打了表,想找规律发现奇数位置上的数不动,但偶数位置上的数变化规律很难找到…因为每次给出是末尾位置,考虑如何把这个...

2019-08-11 18:42:46 113

原创 主席树(模板)

主席树就是储存了所有权值线段树的历史版本每次修改时只需要修改它改动的部分以节约空间其余操作和权值线段树类似https://blog.csdn.net/pengwill97/article/details/80920143https://blog.csdn.net/Stupid_Turtle/article/details/80445998主席树经典问题,区间第K大问题poj2104/...

2019-08-08 13:08:45 113

原创 字典树模板

字典树(trie树)是一种根据字符串前缀在log(n)左右时间内完成查询的数据结构。插入这里可能需要节点数统计或者单词数统计#include<bits/stdc++.h>#include<tr1/unordered_map>#define fi first#define se second#define show(a) cout<<a<&lt...

2019-08-07 21:18:34 103

原创 codeforces 861 D. Polycarp's phone book

https://codeforces.com/contest/861/problem/D题意:给出多个长度为10的字符串,用一个在其他字符串中未出现的连续子串表示该字符串input3123456789100000000100123456output900001思路:因为考虑是连续子串,直接使用字典树插入每个字符串的后缀,然后每次寻找该串的答案时,将该串的后缀在字典树上删除,...

2019-08-07 21:11:09 145

原创 codeforces 633 C. Spy Syndrome 2(字典树)

https://codeforces.com/contest/633/problem/C题意:一个密码,由很多单词分别进行操作后,连接而成。操作如下 :先翻转,然后全部变为小写字母,最后消去单词间空格,连接成密码。 现给你一些单词和一个密码,将密码换成原来字典上的单词思路:直接逆序将所有单词插入到字典树中,直接回朔法dfs,判断是否能以该字母作为结尾,然后继续判断下一单词是否存在#inc...

2019-08-07 21:03:57 118

原创 codeforces 1070(差分||权值线段树)

https://codeforces.com/contest/1070/problem/C题意:有mmm种借用云计算内核的方案,第i种方案li ri ci pili \ ri\ ci\ pili ri ci pi表示,表示这种方案的可借用时间是从第li 到 ri 天,数量有 ci价格 为pi。公司在1~n 天内如果能租到k件及以上,选...

2019-08-07 20:55:42 349

原创 D. Merge Sort(分治||构造)

https://codeforces.com/contest/873/problem/D题意:构造一个1到n的排列,使的这个排列进行归并排序时,递归的次数为k。思路:考虑题目给出的过程,排序时无论(0,n)是否有序都会进行一次,接下来,会把一个区间分成两个,重复该过程,所以k一定为奇数。构建过程,考虑分治,每次分成两个区间,k就会减少2,那么k!=0时这些区间都是逆序的,直接从大到小赋值,...

2019-08-07 20:43:18 146

原创 权值线段树理解及模板

权值线段树,顾名思义就是记录权值的线段树,普通的线段树直接以坐标为l,r建树,而权值线段树是以大小来建树,树上寸的信息是该权值的数量,而通过建树时二分从小到大的性质,可以用这个解决一些有序的东西这个视频讲得很好,还有主席树的东西https://www.bilibili.com/video/av16552942/?p=1&share_source=qq&share_medium=...

2019-08-07 20:28:39 868

原创 hdu 1532(最大流模板)

#include <iostream>#include <cstring>#include <cstdio>#include<queue>#define fi first#define se second#define show(a) cout<<a<<endl;#define show2(a,b) cout&l...

2019-08-06 23:03:57 103

原创 POJ3041-Asteroids(最小点覆盖)

https://vjudge.net/contest/309438#problem/B题意:一个坐标图上有一些点,一次操作可以覆盖一行或者一列,问至少需要多少次操作思路:把方阵看做一个特殊的二分图,把每一行当做一个点,每一列当做一个点,行组成一个点集V1,列组成一个点集V2,每当x,y有点时,当做x,y连接的边,选择一个点,那么与这个点相连的线全都被覆盖了,(画个图很好理解)那么这个问题变成选...

2019-08-06 23:01:44 122

空空如也

空空如也

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

TA关注的人

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