自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SakuraFrp内网穿透访问本地Web站点

SakuraFrp内网穿透访问本地Web站点效果需要准备开始功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入效果本地搭建一个站点,可以通过localhost:88在本地访问,通过内网穿透,使得网站可以通过一个域名被访问到需要准

2021-08-15 13:36:27 4610 6

原创 【DevC++】快速配置代码补全,修改语法高亮方案

天下苦DevC++久矣,今特作此篇,以防忘记代码补全Tools->Configure Shortcuts ->直接拉到最下面,选择Show Code Completion,默认的快捷键应该是Ctrl + Space,但是Ctrl + Space在Windows下是切换中英文,和这个冲突了,我们选择这一项然后按下Ctrl + Enter 就好(也可以自己设置其他)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nTsc9Pup-1621997553149)

2021-05-26 10:53:39 15628 8

原创 【LeetCode】面试题 17.24. 最大子矩阵

给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。注意:本题相对书上原题稍作改动示例:输入:[[-1,0],[0,-1]]输出:[0,1,0,1]解释:输入中标粗的元素即为输出所表示的矩阵来源:力扣(LeetCode)链接:https://leetcode-c

2021-04-15 18:54:38 346

原创 【动态规划】最长公共子序列LCS

#include <iostream>#include <string>#include <cstdio>#include <vector>#include <string.h>using namespace std;//LCS#define MAXN 1001int dp[MAXN][MAXN];int n;int s1[MAXN],s2[MAXN];int main(){ cin>>n; f

2021-04-13 20:39:40 159

原创 【动态规划】导弹拦截(O(n2))

#include <iostream>#include <string>#include <cstdio>#include <vector>#include <string.h>using namespace std;/*导弹拦截*/int a[100001];int f[100001];//以a[i]结尾的最长上升子序列的长度int sys_height[100001];//系统i的最低高度int main(){

2021-04-13 16:59:28 147

原创 【蓝桥杯】

题目描述图片描述上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。输入描述输入的第一行包含一个整数 N\ (1 \leq N \leq 100)N (1≤N≤100),表示三角形的行数。下面的 NN 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。输出.

2021-03-30 12:32:09 93

原创 2021-03-24

#include <stdio.h>int vis[1000001];int a[101];int minest(int *a);/7oid calculate(int max);int t;int main(){ int flag=0; scanf("%d",&t); for(int i=1; i<=t; i++) { scanf("%d",&a[i]);//要求互质 vis[a[i]]=1;

2021-03-24 14:07:55 68

原创 【高精度】乘法模板

不太明白为什么alg2会超时,比alg1多了100+ms,而且两个算法复杂度都是O(n2)。不明白问题所在,希望有大佬在评论区指出#include <bits/stdc++.h>using namespace std;#define MAXN 10001int a[MAXN];int b[MAXN];int c[2*MAXN];string sa,sb;int main(){ cin>>sa>>sb; int la = sa.length

2021-03-03 10:16:00 124

原创 【高精度】加法模板

#include <bits/stdc++.h>using namespace std;int a[200];int b[200];int c[200];string sa,sb;int main(){ cin>>sa>>sb; int len = max(sa.length(), sb.length()); memset(a, 0, sizeof(a)); memset(b, 0, sizeof(b)); int

2021-03-02 18:58:02 127

原创 【蓝桥杯】网络寻路

题目描述X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。源地址和目标地址可以相同,但中间节点必须不同。如下图所示的网络。1 -> 2 -> 3 -> 1 是允许的1 -> 2 -> 1 -> 2 或者 1 -> 2 -> 3 ->

2021-02-26 22:50:58 196 1

原创 【蓝桥杯】2n皇后问题(嵌套dfs)

题目描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入输入的第一行为一个整数n,表示棋盘的大小。接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。输出输出一个整数,表示总共有多少种放法。样例输入41 1 1 11 1 1 1

2021-02-26 22:10:37 273 3

原创 【蓝桥杯】带分数(全排列)

题目描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入从标准输入读入一个正整数N (N< 1000*1000)输出程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!样例输入100样

2021-02-18 22:30:58 262 1

原创 【蓝桥杯】对局匹配(O(n)解法 取巧)

题目描述小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, … AN。小明想了解最多可能有多少名用户同时在线寻找对手,但是系统却一场对局都匹配不起来(任意两名用户积分差不等于K)?输入第一行包含两个个整数N和K。第二行包含N个整数A1, A2, … AN

2021-02-16 23:19:53 191

原创 【蓝桥杯】翻硬币(O(n)解法)

思路这题表面上问你最小次数,让你误以为是bfs,其实这道题根本没有最小,你直接顺序遍历,遇到不一样的就翻,最终得到翻的次数,就是答案刚开始看到的时候,还想着双向bfs,但是一看规模–1000长度的子串,那么最坏情况下,第二次bfs就有999种,还是挺可怕的,我感觉必定超时,所以直接顺序遍历,碰碰运气,没想到直接AC。如果慢慢观察的话,应该是能看出来不论早翻,还是晚翻,还是先后顺序不同翻,都不影响最终翻的总次数#include <bits/stdc++.h>#include &lt

2021-02-16 21:28:01 199

原创 【蓝桥杯】包子凑数(滑动窗口)

题目描述小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。而顾客想买7个包子时,

2021-02-16 21:05:19 204

原创 【蓝桥杯】青蛙跳杯子(队列双向BFS)

题目描述X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色。X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去。如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙。*WWWBBB其中,W字母表示白色青蛙,B表示黑色青蛙,*表示空杯子。X星的青蛙很有些癖好,它们只做3个动作之一:跳到相邻的空杯子里。隔着1只其它的青蛙(随便什么颜色)跳到空杯子里。隔着2只其它的青蛙(随便什么颜色)跳到空杯子里。对于上图的局面,只要1步,就可跳成下图局面:WWW*BBB

2021-02-16 20:23:51 291

原创 【蓝桥杯】国王的烦恼(并查集)

题目描述C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能到达了,居民们就会一起抗议。现在C国的国王已经知道了每座桥能使用的天数,超过这个天数就不能使用了。现在他想知道居民们会

2021-02-16 16:47:36 169

原创 【蓝桥杯】连号区间数

题目描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入第一行是一个正整数N (1 < = N < = 50000), 表示全排列的规模。第二行是N个不同

2021-02-16 10:05:51 137

原创 【蓝桥杯】核桃的数量(多个数的最小公倍数,gcd,lcm)

#include <bits/stdc++.h>#include <cstdio>using namespace std;int array_lcm(int a[],int s=3){//数组的最小公倍数 int ans = a[0]; for(int i=1;i<s;i++){ ans = a[i]*ans/__gcd(a[i],ans);//__gcd是c++内置函数 } return ans;}int main

2021-02-15 23:25:07 95

原创 【蓝桥杯】快速幂

对于求abmodPa^bmodPabmodP,当a,b非常大的时候,我们使用longlong也无法存下,这时候就需要a随时对P取模快速幂带mod算法如下typedef long long ll;ll fast_power_mod(ll a,ll b,ll c){ ll ans = 1; a %= c;//不可少,防止a*a溢出,这里会卡数据 while(b){ if(b & 1){ ans = (ans*a)%c;

2021-02-15 22:58:16 166

原创 【蓝桥杯】矩阵乘法(矩阵快速幂,二维数组函数参数引用&)

题目描述给定一个N阶矩阵A,输出A的M次幂(M是非负整数)例如:A =1 23 4A的2次幂7 1015 22输入第一行是一个正整数N、M(1< =N< =30, 0< =M< =5),表示矩阵A的阶数和要求的幂数接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例输入2 2 1 2 3 4 样例输出7 1015 22思路Cij=∑p=0

2021-02-15 22:40:15 329 1

原创 【蓝桥杯】危险系数(邻接图,DFS)

问题描述抗日战争时期,冀中平原的地道战曾发挥重要作用。地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。我们来定义一个危险系数DF(x,y):对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点。相应的,对于任意一对站点x和y,危险系数DF(x,y)就表示为这两点之间的关键点个数。本题的任务是:已知网络结构,求两站点之间的危险系数。输入输入数据第一行包含2个整

2021-02-14 22:25:07 134

原创 【NOIP2017】棋盘(DFS+剪枝)

题目链接题目较长,不再复制粘贴于此https://www.luogu.com.cn/problem/P3956思路总体不难过几天附视频讲解链接AC代码#include <iostream>#include <algorithm>#include <cstdio>#include <string.h>#include <map>#include <cmath>using namespace std;#defi

2021-02-04 12:17:34 317

原创 【蓝桥杯】剪格子(dfs)

历届试题 剪格子时间限制:1.0s 内存限制:256.0MB问题描述如下图所示,3 x 3 的格子中填写了一些整数。±-–±-+|10 1|52|±-***–+|20|30 1|*******–+| 1| 2| 3|±-±-±-+我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那

2021-02-01 18:29:45 263

原创 【蓝桥杯】分糖果

题目描述问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入程序首先读入一个整数N(2< N< 100),表示小朋友的人数。接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)输出要求程序输出一个整

2021-02-01 16:00:41 186

原创 【蓝桥杯】兰顿蚂蚁

兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。蚂蚁的头部朝向为:上下左右其中一方。蚂蚁的移动规则十分简单:若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。蚂蚁的路线是很难事先预

2021-02-01 15:01:43 213

原创 【蓝桥杯】二进制数数(位运算)

问题描述  给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。  如5的二进制为101,包含2个“1”。输入格式  第一行包含2个数L,R输出格式  一个数S,表示[L,R]区间内的所有数在二进制下包含的“1”的个数之和。样例输入2 3样例输出3题目分析题目最容易想到的是暴力解法,就是让每一个数%2,/2,但这种做法实在不太优雅(憨憨解法 )于是百度一波果然不出所料,位运算可以解,位运算代码如下。//bitint cnt_ones(int n){

2021-01-18 15:28:52 274

原创 【蓝桥杯】九宫重排(双向BFS)

题目描述如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面记为:123.46758显然是按从上到下,从左到右的顺序记录数字,空格记为句点。本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,则输出-1。输入输入第一行包含九宫的初态,第二行包含九宫的终态。输出输出最少的步数,如果

2021-01-12 21:51:42 476 2

原创 【蓝桥杯】能量项链(贪心)

题目描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有 N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标 记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗 能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为mrn(Mars单位),新产生的珠子的头标记为m,

2021-01-12 13:28:46 655 1

原创 【蓝桥杯】K-进制数

题目描述考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.例:1010230 是有效的7位数1000198 无效0001235 不是7位数, 而是4位数.给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.输入两个十进制整数N和K输出十进制表示的

2021-01-12 10:19:59 147 2

原创 【蓝桥杯】The 3n + 1 problem

题目比较简单,我使用递归做的,用while也能做,但是while过于暴力,然而这道题并没有去卡时间,所以暴力每一个数字也能AC~~(这好吗这不好)~~ 。我是使用了一个大数组把每一个数的cycle-length都记录下来,如果下一次又使用这个数字的cyc,直接拿出来使用坑点是,输入的两个端点可能是无序的,可能有begin>end,这时候要调换一下才行!AC代码#include <iostream>#include <cstdio>#include <cstd.

2021-01-10 22:15:10 187 1

原创 【算法】线性筛(欧拉筛)

今天开始刷寒假刷蓝桥杯的第一天,记录一下素数筛我对素数筛的理解在2~N范围内,所有的整数可以被分成四类1.素数2.素数的倍数3.合数4.合数的倍数求一个素数不好求,但是求一个合数的还是相当简单的,欧拉筛和埃氏筛的基本思想就是把2,3,4这三类数标记出来,剩下的自然而然就是素数。代码#define MAXN 1000007bool p_tag[MAXN];//是一个字典映射,p_tag[i]==true表示i是素数,否则不是素数int prime[MAXN];//素数表,存

2021-01-10 20:48:20 239

原创 洛谷普及+-题,附链接

P3752 语言普查P3791 普通数学题P5682 [CSPJX2019]次大值【民间数据】P5681 [CSPJX2019]面积【民间数据】P3954 成绩P5683 [CSPJX2019]道路拆除P5684 [CSPJX2019]非回文串【民间数据】P3369 【模板】普通平衡树P5661 公交换乘P1179 数字统计P1046 陶陶摘苹果UVA12558 埃及分数 Egyptian Fractions (HARD version)P1061 Jam的计数法P1047 校门.

2020-10-08 19:23:34 276

原创 使用马克飞象编辑Markdown文件

使用马克飞象编辑Markdown文件下载马克飞象 点击上面的连接下载,或者你可以打开[印象笔记官网](https://www.yinxiang.com/) 进入注册账户,然后会得到马克飞象的下载链接,点击链接即可下载客户端,也可以下载chrome app 一顿无脑下一步,安装成功...

2020-10-07 20:45:32 489

空空如也

空空如也

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

TA关注的人

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