自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JAVA大数

直接上代码import java.util.*;//import java.io.*;import java.math.*;public class Main{ public static void main(String[] args) { Scanner cin=new Scanner(System.in);/*或Scanner ci...

2019-10-06 11:00:00 103

转载 【C/C++】关于strstr函数和c_str()函数

strstr(T,S) 函数:这是一个字符串处理函数,用于判断字符串S是否是字符串T的子串。如果是,则该函数返回S在T中首次出现的地址;否则,返回NULL。头文件:#include <string.h>函数原型:char *strstr(const char *str1, const char *str2);返回值:(1) 成功找到,返回在父串中第一次出现的...

2019-10-06 10:55:00 241

转载 【C/C++】关于函数调用传递实参

函数调用传递实参的两种做法:#include<bits/stdc++.h>using namespace std;typedef struct{ int *elem;//为存储空间的基地址,故使用时需为其分配内存,如以下两个函数中所示,若写为elem[20]数组形式则不用。 int len;}node;void aaa(node...

2019-09-22 13:20:00 248

转载 2019上海icpc网络赛B. Light bulbs(思维+差分)

题目传送门题意T组案例,每组案例:n个灯泡(from0to n-1),m次操作,每次操作把区间[L,R]内的灯泡翻转(开变关,关变开),问m次操作之后有多少灯泡是亮着的。(时间限制:1000ms 内存限制:8192K)题解这道题不仅卡时间,更是卡内存,所以用线段树会爆内存正解:该题可以转换为经典的差分问题:每次操作对[L,R]的所有数进行+1操作,求最后...

2019-09-17 23:43:00 137

转载 邻接表之链式前向星

链式前向星比vector邻接表在内存性能和时间性能上更好。链式前向星用法详见以下模板代码:#include<bits/stdc++.h>using namespace std;const int maxn=1e3+10;//最大点数const int maxm=1e6+10;//最大边数struct node{int to,w,next;}edge...

2019-09-13 21:35:00 132

转载 2019南昌网络赛B. Fire-Fighting Hero( SPFA+超级源点 )

传送门题意有V个灭火点(数字1到V),这些灭火点有E条道路相互连通。现有一个消防英雄在点S,消防队分布在K个点,比较消防英雄到各个灭火点的最短路的最大值乘以系数1/C的值和消防队到各个灭火点的最短路的最大值,较小的一个获胜,输出获胜一方的最短路的最大值(若为消防英雄则输出不乘以1/C的值,平局也为消防英雄胜丽)。题解如果不建立一个源点的话,每个消防队的点都要去...

2019-09-08 20:48:00 291

转载 最小费用 (bfs+priority_queue)

题目题解这题用单纯的广搜能得到从起点到终点的最少步数,但费用却不一定是最小的,故需要在广搜的基础上加上优先队列解决。Code#include<bits/stdc++.h>#define debug1(x) cout<<#x<<"="<<x<<endl#define debug2(x,y) cout...

2019-09-06 22:50:00 192

转载 Mud Puddles ( bfs )

传送门题目题解直接bfs就行,有个坑点要注意:因为坐标存在负数,所以可以把所有点都+500转化为正数去做。Code#include<bits/stdc++.h>#define debug1(x) cout<<#x<<"="<<x<<endl#define debug2(x,y) cout&lt...

2019-09-05 22:52:00 287

转载 2019牛客多校第十场B.Coffee Chicken(递归)

题目传送门题意第1个字符串为"COFFEE",第2个字符串为"CHICKEN",第n个字符串由其前2个和前1个连接而成(即s[n]=s[n-2]+s[n-1],注意s[n-2]在s[n-1]的前面),询问第n个字符串从第k个字符开始的连续10个字符是什么(如果还未有10个字符但到达字符串末尾时要停止)1≤n≤5001≤k≤min{∣S(n)∣,1012}. (|S| den...

2019-08-26 19:18:00 95

转载 2019牛客多校训练第七场A. String(暴力)

题目传送门题意输入整数T表示有T个测试用例,然后• 给一个01构成的字符串,要把该字符串切分成最少的份数,使得每一个字符串都是循环移位字典序最小的字符串。(例如0110就不满足字典序最小,因为循环移位可得0011) • 111011110 -> 111 01111 0题解每次暴力枚举最少的字符串,暴力判断是否符合条件即可。Code#incl...

2019-08-26 19:17:00 113

转载 2019牛客多校训练第四场A.meeting(dfs / bfs)

题目传送门题意输入n和k表示有n个地点和k个人(n个地点编号1..n)接下来n-1行输入a、b表示地点ab之间有距离为1的通路最后一行输入k个值表示哪些地点有人,求所有人聚在一起的最短时间。(题意其实就是在一棵树上,多个节点有人。选择一个节点使得这些人各自到这个点的路径的最大值最小。)题解官方题解:这道题剪掉不存在人的节点,接下来要求的其实就是树的...

2019-08-26 19:15:00 110

转载 康拓展开及逆康拓展开

概念:康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。康拓展开:给定一个全排列序列,求该序列是所有全排列序列中字典序第几的序列公式如下: 其中, a[i] 为整数,并且 0<=a[i]<i,1<=i<=n。...

2019-08-26 19:14:00 91

转载 2019牛客多校训练第四场C.sequence(线段树+单调栈+前缀和)

题目传送门题意输入整数n,给出两个包含n个整数的序列a和b,找到一个区间[l,r],使在该区间内a序列最小值×b序列区间和的值最大。题解遍历a序列,维护单调栈求以当前值a[i]为最小值时的最大可达区间[ L[i],R[i] ](即最大左右边界);b序列先预处理其前缀和pre_sum,后用线段树维护pre_sum数组的区间最值;所以答案就是a[i]×b序列在[ L[i]...

2019-08-26 19:12:00 179

转载 2019牛客多校训练第八场A.All-one Matrices(前缀和+单调栈)

题目传送门题意:输入n和m,给出一个n行m列的01矩阵,求出所有的不可扩大的全1矩阵个数。题解:预处理每个格子的高度up[i][j](其向上连续的1的个数),枚举每一行 i,维护单调栈(单调上升)求每个格子 j 以up[i][j]为高可达到的全1矩阵左边界pos和右边界j,此时得到的全1矩阵不能再向上左右拓展,只要判断能否再向下拓展即可。只要下一行[pos,j]区...

2019-08-15 00:11:00 100

转载 2019牛客多校训练第二场H. Second Large Rectangle (单调栈 / 悬线法)

题目传送门题意输入整数n和m(n和m均∈[1,1000]),给出一个n×m的01矩阵,求第二大全1矩阵的面积。(如果矩阵少于两个1,则输出0)题解①单调栈做法【复杂度O(n×m)】:先预处理每个点(i,j)的高up[i][j],枚举每一行作为底边,遍历每一个点j,维护单调递减栈计算当前高度可达的最大区间(即当前可形成的全1矩阵的最大宽),宽×高即得当前可形成的全1矩形...

2019-08-15 00:09:00 102

转载 单调栈

单调栈:单调栈解决的是:以某个值为最小(最大)值的最大区间。实现方法:求最小值(最大值)的最大区间,维护一个递减(递增)的栈。(下面以求最小值最大区间为例)当遇到一个比栈顶小的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小的值来了,也可以计算被弹掉的值的右边的最大区间。单调递增:数据出栈的序...

2019-08-14 21:29:00 107

转载 2019牛客多校训练第八场B.Beauty Values( 思维 / (简单dp) )

题目传送门题意输入整数n,再输入n个整数a1,a2,⋯ ,an,表示一段序列,求序列的所有子区间里面不同数字之和。说明:在序列1 2 1 3中, 区间[1,1],[2,2],[3,3],[4,4]各含1个不同数字 区间[1,2],[1,3],[2,3],[3,4]各含2个不同数字 区间[1,4],[2,4]各含3个不同数字故总和为:1×4+2...

2019-08-11 19:30:00 111

转载 2019牛客多校训练第八场C.CDMA(思维+构造)

题目传送门题意:输入整数m( m∈2k∣k=1,2,⋯,10),构造一个由1和-1组成的m×m矩阵,要求对于任意两个不同的行的内积为0。题解:Code: 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int M=(1<<10)+5; 4 int...

2019-08-11 16:47:00 148

转载 2019牛客多校训练第八场G.Gemstones(栈模拟)

题目传送门题意:输入一段字符串,字符串中连续的三个相同的字符可以消去,消去后剩下的左右两段字符串拼接,求最多可消去次数。输入:ATCCCTTG 输出:2ATCCCTTG(消去CCC)——>ATTTG(消去TTT)——>AG 题解:签到题,用栈模拟即可。Code:用栈模拟: /*7ms*/ 1 #include<bit...

2019-08-10 20:50:00 104

转载 二叉查找树

二叉查找树(二叉搜索树):                                  ——摘自《挑战》输入若干条命令,执行以下操作:insert x——将x插入到二叉排序查找树中delete x——从二叉排序查找树中删除xfind x——从二叉排序查找树中查找x,找到则输出yes,否则输出nomin——输出该二叉排序查找树的最小值traverse...

2019-08-10 12:01:00 126

转载 二叉树重建

一棵二叉树:树的先序遍历序列preorder:DBACEGF(根左右)树的中序遍历序列inorder:ABCDEFG(左根右)树的后序遍历序列postorder:ACBFGED(左右根)树的层序遍历序列levelorder:DBEACGF(按行遍历)输入一棵二叉树的先序遍历和中序遍历序列,输出它的后序遍历序列。 输入:DBACEGF ABCDEF...

2019-08-09 16:37:00 90

转载 【C++】string::substr函数

形式:s.substr(p, n)返回一个string,包含字符串s中从p开始的n个字符的拷贝(p的默认值是0,n的默认值是s.size() - p,即不加参数会默认拷贝整个s) 1 int main() 2 { 3 string a; 4 string s("123456789"); 5 6 a = s.substr(0...

2019-08-08 23:08:00 136

转载 【C++】string::find函数

int vis=a.find(b):从string a开头开始查找第一个遇到的string b,返回string a中所匹配字符串的第一个字符的下标位置,找不到则返回-1.int vis=a.find_first_of(b):从string a开头开始查找第一个遇到的string b中所含有的任意一个字符,返回其在string a中的下标位置,找不到则返回-1。int vis=a...

2019-08-08 22:47:00 148

转载 Codeforces Round #574 (Div. 2)——C. Basketball Exercise(简单DP)

题目传送门题意:输入n,给出两组均为 n个数字的数组a和b,轮流从a和b数组中取出一个数字,要求严格按照当前所选数字的数组下标比上一个所选数字的数组下标更大,计算能够取出的数字加起来的总和最大能为多少。测试样例1:输入:59 3 5 7 35 8 1 4 5输出:29提示:选择下面划线标记的数字(9 8 5 4 3)9 3 5 7 35 8 1 4 5测试样例2:...

2019-08-04 18:14:00 97

转载 2019牛客多校训练第四场K.number(思维)

题目传送门题意:输入一个只包含数字的字符串,求出是300的倍数的子串的个数(不同位置的0、00、000等都算,并考虑前导零的情况)。sample input:600123000321013200987000789sample output:455题解:O(n)做法:遍历一遍,求前缀和sum取余3,统计sum的个数num[sum],遇到本位和下一位都...

2019-08-04 18:08:00 159

转载 【C/C++】随机数的生成

C/C++:rand()函数rand()函数的头文件:#include<stdlib.h>该函数产生的随机数随机性差,速度慢,周期小(0-32767)用法如下所示: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 int main()...

2019-08-03 00:52:00 102

转载 2019牛客多校训练第三场H.Magic Line(思维)

题目传送门大致题意:输入测试用例个数T,输入点的个数n(n为偶数),再分别输入n个不同的点的坐标,要求输出四个整数x1,y1,x2,y2,表示有一条经过点(x1,y1),(x2,y2)的直线将该二维平面内的点分成点数相等的两部分。(这条线不能通过平面内任何一点)sample input:140 1-1 01 00 -1sample output:(special j...

2019-07-29 23:28:00 124

转载 2019牛客多校训练第三场B.Crazy Binary String(思维+前缀和)

题目传送门大致题意:输入整数n(1<=n<=100000),再输入由n个0或1组成的字符串,求该字符串中满足1和0个数相等的最长子串、子序列。sample input:801001001sample output:4 6题解:补充一下子串和子序列的区别:字串必须连续,子序列不必连续。求01个数相等的最长子序列长度:min(0的个数,1的个数...

2019-07-29 23:23:00 188

空空如也

空空如也

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

TA关注的人

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