自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10配置docker和ubuntu遇到的一些坑

安装docker-desktophttps://www.runoob.com/docker/windows-docker-install.html微软商店进不去微软商店无法登录和下载Ubuntu,我遇到的是网络连接正常却显示无internet,网页能进但是微软商店无法连接解决方法:https://www.bilibili.com/read/cv5292887/如果之前按照其他方法在注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

2022-05-20 11:16:24 623

原创 PTA L2-001 紧急救援(dijkstra+路径打印)

好久没写dj生疏了,嫖别人的代码#include <bits/stdc++.h>using namespace std;typedef long long ll;#define iosy ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)const int N = 5e2 + 5;int g[N][N];int dist[N];bool st[N]; //点的状态int c[N]; //救援队数目int a[N].

2022-04-20 20:46:07 304

原创 简单词法分析器——C++实现 (编译原理作业)

词法分析器——C++实现单词符号表示(1)标识符:以字母开头的包含字母和数字的符号(2)保留字:while、if、else、switch、case(3)常数:数字0~9(4)运算符:+、-、*、<、<=、==、=(5)界符:;(6)需略除的:空格、制表符、换行符主要函数concatenation() //连接token和character中字符作为token中新的字符串letter ()//判断是否字母digit() //判断是否数字reserve() //按照tok

2022-04-18 17:08:43 5575 1

原创 AcWing 802. 区间和(离散化)

由于下标范围(-1e9,1e9),数组或者哈希表都会爆,数据很大但是数量有限,将相隔巨大的点映射到有限长度的数组中,即离散化a[N],s[N]存放数据,前缀和alls存所有下标(包括原数组和询问的,根据询问来选择下标来存数)add表示位置x数值+c,query表示询问简而言之,问题是求(l,r)区间的和,那么只要将所有询问的下标存下,再找出原数据中x的值在下标数组(a)中的位置并加上c即可。对于询问,前缀和预处理将每次查询的复杂度降为o(1)总复杂度O((n+2∗m)log(n+2∗m)),输.

2022-02-22 02:33:15 367

原创 Codeforces 1607C - Minimum Extraction

SAMPLE INPUT811020 03-1 2 042 10 1 722 353 2 -4 -2 02-1 11-2SAMPLE OUTPUT10025222-2题意t组输入,每次输入整数n,接下来输入n个数,每次操作选其中一个数删除,剩下所有数字减去这个数,直到所有数都删除,求操作中每次最小数的最大值比如[2,10,1,7]→[1,9,6]→[8,5]→[3][2,10,1,7]最小数是1,第一次操作所有数字减去1[1,9,6] 最小数.

2022-01-10 15:22:10 374

原创 Codeforces 1606B-Update Files

EXAMPLEINPUT48 36 67 11 1output4360题意t个样例,每次包括正整数n,k表示n台电脑,最多同时传输数量是k。初始电脑1有数据,一台电脑在1个时间内可以传输到一台无数据的电脑,问最少需要多少时间传输数据到所有电脑。思路如果没有k的限制,时间1有2台,时间2有4台,时间x有2的x次方台,当2的x次方大于k,同一时间只能最多传输k台#include <bits/stdc++.h>using namespace std;type.

2022-01-10 15:10:07 375

原创 Codeforces 1606A-AB Balance

EXAMPLEINPUT4baabbbabaaabbbabbaabOUTPUTbaabbbabaabbbbabbaaa题意输入t个只包含a,b的字符串,最少需要改变几个字符使其连续子串中ab和ba的数量相等,输出操作后的字符串。例如abbb中有1个(ab),0个(ba),改成abba或者bbbb即可思路1统计字符串中ab和ba的个数,从后往前改,直到数量相等#include <bits/stdc++.h> using namespace std;typ.

2022-01-10 14:57:51 625

原创 AcWing 848. 有向图的拓扑序列(图的bfs应用)

n 个点 m 条边的有向图,图中可能存在重边和自环。(1≤n,m≤1e5)a b表示有向边a->b输出任意一个拓扑序Sample Input3 31 22 31 3Sample Output1 2 3#include <bits/stdc++.h>using namespace std;const int N = 100010;int h[N], e[N], ne[N], idx; //邻接表存图int n, m;int q[N], d[N]; // q

2021-11-09 20:35:06 74

原创 AcWing 847. 图中点的层次(邻接表存图 bfs)

输入n,m表示n个点m条边a b表示边a b输入n,求1到n的距离,无路径则输出“-1”、#include <bits/stdc++.h>using namespace std;const int N = 100010;int h[N], e[N], ne[N], idx; //邻接表存图int n, m;int q[N], d[N]; // q表示队列,d表示点的入度void add(int a, int b){ e[idx] = b, ne[idx] = h

2021-11-09 20:31:52 69

原创 POJ3026-Borg Maze(Kruskal+bfs)

题目描述InputOutputSample Input26 5##### #A#A### # A##S ####### 7 7##### #AAA#### A## S #### ##AAA######## Sample Output811题意t组提问,每组n*m个点,S代表起点,A代表外星人,#表示边界,搜索到外星人后可以继续移动,求最小移动的步数思路最小生成树+BFS,BFS求每个点到其它点最短距离(因为有墙,不能直接用坐标求

2021-08-14 10:19:50 131

原创 UVA 10462 Is There A Second Way Left?(Kruskal求次小生成树)

45 41 2 53 2 54 2 55 4 55 31 2 53 2 55 4 55 51 2 53 2 54 2 55 4 54 5 61 0Case #1 : No second wayCase #2 : No wayCase #3 : 21Case #4 : No second way思路求最短路和次短路,有最次路就输出长度。Kruskal求最短路和次短路,判断是否存在。#include<iostream>#include<cs.

2021-08-11 15:49:42 99

原创 POJ1251 Jungle Roads(最小生成树)

InputOutputSample Input9A 2 B 12 I 25B 3 C 10 H 40 I 8C 2 D 18 G 55D 1 E 44E 2 F 60 G 38F 0G 1 H 35H 1 I 353A 2 B 10 C 40B 1 C 200Sample Output21630思路模板题,Kruskal算法求最小生成树#include<iostream>#include<cstdio>#include<al..

2021-08-10 10:38:43 84

原创 HDUOJ-1325 Is It A Tree?(并查集)

Problem DescriptionInputOutputSample Input6 8 5 3 5 2 6 45 6 0 08 1 7 3 6 2 8 9 7 57 4 7 8 7 6 0 03 8 6 8 6 45 3 5 6 5 2 0 0-1 -1Sample OutputCase 1 is a tree.Case 2 is a tree.Case 3 is not a tree.输入x,y表示有向边x->y,要求无环,只有一个根,所有节点连通(根能到

2021-08-04 16:18:26 121

原创 最短路径01-Dijkstra算法

邻接矩阵版时间复杂度:O(n^2)空间复杂度:O(n^2)(用邻接矩阵存图)#include<iostream>#include<algorithm>#include<cstdio>using namespace std;const int N = 1e2+5;//最大N个顶点const int INF = 1<<30;//1左移30位,等于2^30int n,m,s,g[N][N];//n个顶点,m条边,g[x][y]表示边x->y的

2021-07-28 10:25:28 109

原创 求最短上升子序列(DP)

#include<cstdio>#include<iostream>#include<algorithm>using namespace std;#define INF 1<<30//1e9int main(){ int n, a[100010], dp[100010]; while(~scanf("%d", &n)) { for(int i=0; i<n; i++) {

2021-07-22 09:03:37 267

原创 Apple Catching POJ 2385(DP)

Apple Catching题目大意:两棵树标记1,2 ,每分钟会有一棵树掉苹果,牛牛站在一棵树下接苹果(起始位置为1)可以移动到另一棵树下(移动时间不计),移动次数有限,问最多能接到几个苹果InputOutputSample Input7 22112211Sample Output6Hint#include <iostream>#include<cstdio>#include<algorithm>using namesp

2021-07-21 15:28:03 98

原创 Codeforces 489B - BerSU Ball(贪心+散列)

题目描述InputOutputSample Input41 4 6 255 1 5 7 941 2 3 4410 11 12 1351 1 1 1 131 2 3Sample Output302#include <iostream>#include<algorithm>using namespace std;const int N = 105;int a[N];int b[N];int main(){ int n,m

2021-05-31 20:36:34 191 2

原创 Codeforces 520B - Two Buttons(BFS)

题目描述InputOutputSample Input4 610 1Sample Output10 19Note#include <iostream>#include<queue>using namespace std;const int N = 10010;int ans[N];int n,m;void bfs(int a,int b){ queue<int>q; q.push(a); while(!q.

2021-05-31 20:06:54 137

原创 Find a way(BFS)

题目描述Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfei’s home is at the countryside, but Merceki’s home is in the center of ci

2021-05-30 11:32:00 467 1

原创 AcWing 844 走迷宫 BFS模板题

题目描述给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m) 处,至少需要移动多少次。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。输入格式第一行包含两个整数 n 和 m。接下来 n 行,每行包含 m 个整数(0 或 1),表示完整的二维数组迷宫

2021-05-29 16:23:37 180

原创 poj3984 迷宫问题

迷宫问题定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sam

2021-05-25 19:43:43 135

原创 poj 1321 棋盘问题 DFS

poj 1321 棋盘问题在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。INPUT输入含有多组测试数据,每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋

2021-05-25 19:20:08 156 1

原创 二分模板

二分模板//区间被划分成[l,mid],[mid+1,r]时使用;int besearch_1(int l,int r){ while(l<r) { int mid = l+r >> 1; if(check(mid)) r = mid;//check()判断mid是否满足性质 else l = mid + 1; } return l;}//区间被划分成[l,mid-1],[mid,r]时使用;int

2021-05-19 20:55:39 53

原创 快速排序模板

快速排序快速排序,双指针算法+递归#include<iostream>#include<algorithm>using namespace std;void quick_sort(int a[],int l,int r){ if(l>=r)return;//停止递归条件 int i=l-1,j=r+1; int x=a[l+r>>1];//取中间值 while(i<j) { while(a

2021-05-19 20:38:41 75

原创 AcWing 3404. 谁是你的潜在朋友

AcWing 3404. 谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。首先你对借阅记录进行了一番整理,把 N 个读者依次编号为 1,2,…,N,把 M 本书依次编号为 1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份

2021-05-19 14:53:20 57

原创 A^B%C问题

输入a,b,c,求a^b mod c直接快速幂会爆数据范围,配合快速乘,乘转为加,超了就取模#include <iostream>using namespace std;typedef long long ll;ll slow_mul(ll a,ll b,ll c){ ll res=0; while(b) { if(b&1)res=(res+a)%c; a=(a+a)%c; b>>=1;/.

2021-03-30 20:31:50 191

原创 Codeforces 1419A. Digit Game

Codeforces 1419A. Digit Game

2021-02-19 00:20:09 160

原创 String LCM CodeForces - 1473B C语言

用strcpy和strcat函数将字符串长度增加至最小公倍数,然后判断是否相等

2021-01-28 21:27:25 188

原创 杭电OJ 今年暑假不AC C语言贪心算法

此题使用贪心算法,先对结束时间进行排序,开始时间晚于上个结束时间即可+1

2021-01-13 05:26:43 1538

原创 OJ字符串多组输入问题

多组输入字符串while((scanf("%s",a))!=EOF)要求字符串带空格的可以用while(gets(a)!=NULL过OJ

2021-01-12 05:37:47 1635

空空如也

空空如也

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

TA关注的人

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