自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷P1451 求细胞数量

P1451 求细胞数量题目地址https://www.luogu.com.cn/problem/P1451题目大意题目描述一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。输入格式第一行两个整数代表矩阵大小 n 和 m。接下来 n 行,每行一个长度为 m 的只含字符 0 到 9 的字符串,代表这个 n×m 的矩阵。比较简单的题,但我的bfs&dfs很弱,就记下来,多练几次具体思路可以

2021-03-31 19:54:21 159

原创 Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round) A&B&C

A. Prison Break题目链接https://codeforces.com/contest/1484/problem/A题目大意没读题,猜的 a*b解题思路同上#include<bits/stdc++.h>using namespace std;int main(){ int t; cin >> t; while(t--){ int a,b; cin >> a >> b; cout << a * b &

2021-03-24 12:05:41 163

原创 Acwing 基础课—数据结构—单链表、双链表(数组模拟)

单链表,后续邻接表的基础——常用来存储树和图此处使用数组模拟单链表,结构体方法在 new Struct 时非常费时。使用e[N]存储元素,ne[N]存储next值。两者通过坐标关联。单链表如下所示1 单链表题目链接https://www.acwing.com/problem/content/description/828/题目大意实现一个单链表,链表初始为空,支持三种操作:(1) 向链表头插入一个数;(2) 删除第k个插入的数后面的数;(3) 在第k个插入的数后插入一个数现在要对该

2021-03-05 16:35:41 938

原创 PTA甲级 1002 A+B for Polynomials (25 分)

题目链接https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000题目大意给定AB两个多项式(各一行)2 1 2.4 0 3.22 2 1.5 1 0.5格式如下其中K是多项式中非零项的个数,N分别是指数和系数。输出格式也按照上方。解题思路map暴力。需要注意的地方是,当多项式系数为0时,指数和系数都不需要输出,相应的;当多项式整体为0时,只需要输出0。有亿点坑。#include<

2021-03-04 17:02:24 150

原创 Acwing 基础课—基础算法—双指针算法

1 最长连续不重复子序列题目链接https://www.acwing.com/problem/content/description/801/题目大意给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。解题思路https://www.acwing.com/solution/content/6460/核心思路:1 遍历数组a中的每一个元素a[i], 对于每一个i,找到j使得双指针[j, i]维护的是以a[i]结尾的最长连续不重复子序列,长度为i - j + 1, 将

2021-03-04 13:59:04 428 1

原创 Acwing 基础课—基础算法—离散化、区间合并

1 离散化——区间和题目链接https://www.acwing.com/problem/content/description/804/题目大意假定有一个无限长的数轴,数轴上每个坐标上的数都是0。现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。−109≤x≤109 ,1≤n,m≤105,−109≤l≤r≤109,−10000≤c≤10000解题思路参考链接https

2021-03-04 11:21:00 222

原创 Educational Codeforces Round 105 (Rated for Div. 2) A&B

A. ABC String题目链接http://codeforces.com/contest/1494/problem/A题目大意给定一个仅由’A’,‘B’,‘C’构成的字符串,如“AABBAC”现将字符串中的A、B、C替换成 ‘(’ 或 ‘)’.替换过程中,需要保证所有相同的符号,只能替换成同一中括号。如所有的A都替换成‘(’。问,替换之后构成的 ‘(’,’)’ 字符串,是不是正则括号序列(regular bracket sequence)。如:“(()())”是“()()(())”是

2021-03-03 19:49:30 210 2

原创 Acwing 基础课—基础算法—位运算

1 二进制中1的个数题目链接https://www.acwing.com/problem/content/803/题目大意给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。解题思路一 暴力对于每一个数字a,a & 1得到了该数字的最后一位是1或者0,统计为1的次数,之后将a右移一位,直到为0#include<bits/stdc++.h>using namespace std;int main(){ int n; cin >>

2021-03-02 21:31:53 266

原创 Acwing 基础课—基础算法—前缀和与差分

1 前缀和题目链接https://www.acwing.com/problem/content/description/797/题目大意输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。解题思路一维前缀和序列中,求第l个数~第r个数的和 ,等于 a[r] - a[l - 1]#include<stdio.h>const int N = 100005;long long a[N] =

2021-02-22 14:15:16 413

原创 Acwing 基础课—基础算法—高精度加减乘除模板

1 高精度加法题目链接https://www.acwing.com/problem/content/793/题目大意给定两个正整数,计算它们的和。位数100000#include<stdio.h>#include<iostream>#include<string>#include<algorithm>using namespace std;const int N = 100010;int A[N],B[N],C[N];// A+B=C

2021-02-22 12:54:10 637

原创 Acwing 基础课—基础算法—二分排序

二分排序模板在一个升序序列中,求一个数第一次出现的位置、最后一次出现的位置,不存在返回-1int first_pos(){ int l = 0; int r = n - 1; while(l < r){ int mid = (l + r) / 2; if(a[mid] < x){ l = mid + 1; }else{ r = mid; } }

2021-02-21 21:41:08 200

原创 Acwing 基础课—基础算法—归并排序

归并排序模板 稳定O(n*log n) 空间O(n)参考链接https://www.acwing.com/solution/content/2099/#include<stdio.h>const int N = 100005;int a[N];int t[N];void ms(int l,int r){ if(l >= r) return ; int mid = l + r >> 1; ms(l,mid);ms(mid+1,r);

2021-02-21 18:34:04 274

原创 Acwing 基础课—基础算法—快速排序

快速排序模板参考链接https://www.acwing.com/solution/content/2096/核心思想就是快排的每一趟,数轴的左边都会是 <= x 的, 右边都是 >= x 的。#include<bits/stdc++.h>using namespace std;int a[100005];void qs(int l,int r){ if(l >= r) return; int i = l - 1; int

2021-02-21 16:48:51 386

原创 2019 ICPC 上海 K Color Graph(二分图+dfs/二分图+状态压缩)

题目链接https://ac.nowcoder.com/acm/contest/4370/K参考博客 二分图+dfshttps://blog.csdn.net/qq_43627087/article/details/104346194题目大意给出一个由 n 个点和 m 条边组成的无向图,保证无自环无重边,初始时所有的边都是白色的,现在要求尽可能多的将白边染成红色,不过需要保证不存在红色的奇环,问最多能染多少条边思路一 二分图+DFS二分图中不存在奇环,一个无奇环的图必定是一个二分图所以我

2021-02-21 12:07:16 142

原创 CF小组训练赛 Holiday 30

A. XORwice小组训练赛,链接无法访问,具体题目地址可以直接搜索题目标题题目大意求(a xor x)+ (b xor x) 的最小值解题思路思维题。以二进制考虑a,b:当a=1,b=1时,为了取最小值0,当x=1时上述运算结果为0当a=1,b=0时,无论x取何值,上述运算结果都为1当a=0,b=0时,为了取最小值0,当x=0时上述运算结果为0当a=0,b=1时,无论x取何值,上述运算结果都为1所以,当a,b分别取不同值时,上述运算的最小值如下:1,1–>0;0,0–&g

2021-02-20 11:33:07 159

原创 CF小组训练赛 Holiday 23

A. Discounts小组训练赛,链接无法访问,具体题目地址可以直接搜索题目标题题目大意77 1 3 1 4 10 823 4要买7个巧克力,2个优惠券,每个优惠券面额为q,可以采购q个巧克力(其中最便宜的一个免费,剩下q-1个原价),剩下的7-q个巧克力全部原价购买。问,每个优惠券最低花费多少钱。解题思路 前缀和水题。很显然,优惠券可以采购的q个巧克力为价格最大的q个,q个最贵的巧克力中最便宜的免费,计算q个的总共花费,然后剩下的n-q个巧克力原价,再计算总共花费即可。#includ

2021-02-03 14:41:05 123

原创 CF小组训练赛 Holiday 1

A. Super Agent具体题目地址可以直接搜索题目标题题目大意判定一个字符矩阵是否中心对称解题思路水题。#include<bits/stdc++.h>using namespace std;char a[5][5];int main(){ for(int i = 0; i < 3;i++){ for(int j = 0;j < 3;j++){ scanf("%c",&a[i][j]); } getchar(); } int f

2021-02-02 22:48:59 123

原创 洛谷小组训练赛 Contest 1

P1618 三连击(升级版)题目地址https://www.luogu.com.cn/problem/P1618题目大意将 1, 2,3…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数解题思路划水题,唯一需要注意,判定时,i % a == 0才能成比例#include<bits/stdc++.h>using namespace std;int a[30];int get(int x,int y,int z)

2021-02-02 17:28:48 210

原创 CF小组训练赛 Holiday 19

A. Balls of Buma具体题目地址可以直接搜索题目标题题目大意"BBWWBB"代表不同颜色的球,要求往这个不同颜色的球构成的球段的某位置放入一个某种颜色的球,如果放入球后,如果某些相同颜色的球段由于上一个动作而变长,并且其长度至少变为3,则此段的所有球都将被消除。例如"BBWWBB",放入"BBWWWBB",由于**上一个动作(放入W球)而W颜色的球段变长,且长度>=3,则W颜色的球被消除,球段变成"BBBB",由于上一个动作(消除颜色W的球)**而B颜色球段变长,且长度>=

2021-02-02 13:23:24 202344

原创 入门组 Week 1打卡

数字三角形题目链接https://www.acwing.com/problem/content/description/900/题解简单DP#include<bits/stdc++.h>using namespace std;int a[550][550];int main(){ int n; cin >> n; for(int i = 1;i <= n;i++){ for(int j = 1;j <= i;j++)

2021-01-31 15:10:58 82

原创 PTA甲级 1001 A+B Format (20分)

题目地址链接很简单,仔细读题就可以#include<bits/stdc++.h>using namespace std;int main(){ int a,b; cin >> a >> b; int c = a + b; int f = 1; if(c < 0){ c = -c; f = -1; } stack<char> s; if(c <

2021-01-28 23:00:12 94

转载 关于lower_bound( )和upper_bound( )的常见用法(数组&vector)

关于lower_bound( )和upper_bound( )的常见用法转载自:https://blog.csdn.net/qq_40160605/article/details/80150252lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回e

2021-01-28 21:54:30 764

原创 Codeforces Round #697 (Div. 3)

Codeforces Round #697 (Div. 3)http://codeforces.com/contest/1475A. Odd Divisor题目大意判断一个数是否存在一个大于1的奇因子解决思路不断的除2,然后最后检查即可#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int t;cin >> t; while(t--){ ll x;

2021-01-26 22:26:50 98

原创 洛谷P2032扫描

洛谷P2032 扫描题目地址题目描述有一个 1 \times n1×n 的矩阵,有 nn 个整数。现在给你一个可以盖住连续 kk 个数的木板。一开始木板盖住了矩阵的第 1 \sim k1∼k 个数,每次将木板向右移动一个单位,直到右端与第 nn 个数重合。每次移动前输出被覆盖住的数字中最大的数是多少。输入格式第一行两个整数 n,kn,k,表示共有 nn 个数,木板可以盖住 kk 个数。第二行 nn 个整数,表示矩阵中的元素。输出格式共 n - k + 1n−k+1 行,每行一个整数。

2021-01-13 22:00:16 261

空空如也

空空如也

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

TA关注的人

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