自定义博客皮肤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)
  • 收藏
  • 关注

原创 LeetCode 比赛训练

LeetCode 比赛训练完成情况(按比赛序号)完成情况(按完成时间)比赛情况模拟情况

2021-02-07 12:23:32 182

原创 AtCoder 比赛训练

AtCoder 比赛训练完成情况(按比赛序号)完成情况(按完成时间)比赛情况模拟情况

2021-02-07 12:21:20 507

原创 算法竞赛进阶指南学习计划

算法竞赛进阶指南学习计划第一章书籍阅读情况习题练习情况第二章书籍阅读情况习题练习情况第三章书籍阅读情况习题练习情况第四章书籍阅读情况习题练习情况第五章书籍阅读情况习题练习情况第六章书籍阅读情况习题练习情况...

2021-02-06 12:00:40 240

原创 AtCoder 手速训练

AtCoder Beginner Contest计划:2021年2月6日到2021年3月15日寒假期间每日中午两道题。C题D题完成时间完成日期ABC125C - GCD on BlackboardD - Flipping Signs33min2021年2月6日11:50:23完成情况前缀gcd与后缀gcd(看了题解)无限操作相邻两数可能转移某位置的性质(独自完成)2021年2月6日11:50:23...

2021-02-06 11:55:39 452

原创 (4/4) Biweekly Contest 45

(4/4) Biweekly Contest 455657. 唯一元素的和思路:开辟数组记录,最后遍历数组取记录为1的标记累加。代码:class Solution { int sum[105];public: int sumOfUnique(vector<int>& nums) { memset(sum, 0, sizeof sum); int res = 0; for (int i = 0; i < nu

2021-02-07 22:16:04 141

原创 图论——有向图的强连通分量(未完成)

图论——有向图的强连通分量对于一个有向图来说,连通分量度不爱对于分量中任意两点uuu,vvv,必然可以从uuu走到vvv,也可以从vvv走到uuu。强联通分量SCCSCCSCC指的是极大连通分量。时间复杂度O(n+m)O(n+m)O(n+m)。有向图的强联通分量做法通常思路为:有向图——>缩点(将所有联通分量缩成一个点)——>有向无环图(DAG拓扑图)。TarjanTarjanTarjan算法求解SCCSCCSCC时引入了时间戳的概念:dfn[u]dfn[u]dfn[u]打表遍历到u

2021-02-06 15:43:06 313

原创 搜索——BFS(未完成)

搜索——BFS基础:BFS的应用:最短距离(从地图的起始点走到地图的终点)、最小步数(把一种地图变为另一种地图)。BFS一般用来求最小,并且由于其为迭代加深的算法,不会爆栈。题型1——Flood Fill算法:其原理为:高低和凹地,注水,覆盖凹地,可以在线性的时间复杂度内找到某个点所在的连通块。例题:AcWing 1097. 池塘计数高低和凹地,注水,覆盖凹地,求水池个数。#include <bits/stdc++.h>using namespace std;#defi

2021-02-04 10:23:31 130

原创 MySQL学习笔记(4)——DDL语言

MySQL学习笔记(4)——DDL语言【】内部的语句代表可以省略。DDL语言主要用于库和表的管理。一、库的管理:库的创建:create database【if not exits】库名。库的修改:rename database 库名 to 新库名(以前可以用,现在此条语句被取消)、alter database 库名 character set gbk。库的删除:drop database【if exists】库名。二、表的管理:表的创建:create table 表名(列名

2021-01-16 16:29:14 112

原创 数据结构——线段树

数据结构——线段树一、不带懒标记的线段树我们用如下的数据结构表示点为1到10的线段:每个线段维护一个性质:比如区间最大值、区间和、区间gcdgcdgcd等。线段树是一个满二叉树,所以我们可以用一维数组存储整棵树。那么对于编号是XXX的节点,它的父亲节点为X/2X/2X/2,我们也可以写成X>>1X>>1X>>1;它的左儿子为2X2X2X,也可以写成X<<1X<<1X<<1;它的右儿子为2X+12X+12X+1,也可以写成X&l

2021-01-14 16:24:09 176

原创 数论——容斥原理、莫比乌斯函数

数论——容斥原理、莫比乌斯函数容斥原理举一个简单的例子:用韦恩图来思考,求S1S1S1、S2S2S2、S3S3S3三个集合的原有元素的并集,那么结果为:S1+S2+S3−S1∩S2−S1∩S3−S2∩S3+S1∩S2∩S3S1+S2+S3-S1 \cap S2-S1 \cap S3-S2 \cap S3+S1 \cap S2 \cap S3S1+S2+S3−S1∩S2−S1∩S3−S2∩S3+S1∩S2∩S3。以此类推到NNN个圆的交集:用容斥原理的方法答案为所有单个集合的元素个数-所有两个集合互

2021-01-13 16:49:33 445

原创 MySQL学习笔记(3)——DML语言

MySQL学习笔记(3)——DML语言插入:insert into 表名(列名) values(一一对应);insert into 表名 set 列名=值, 列名=值 ... ;第一种写法可以省略列名,那么默认为所有列名,且列名顺序和表名一致。第一种写法支持插入多行,values中的值用逗号隔开。第一种写法支持子查询:select into 表名(列名) select ...;,第二种写法不支持。修改:update 表名 set 列名=值, 列名=值 ...; (where 筛选条件)

2021-01-13 15:18:50 99

原创 (6/6) Codeforces Round #455 (Div. 2)

(6/6) Codeforces Round #455 (Div. 2)A. Generate Login题意:给你两个字符串a,b要求取a的任意前缀和b的任意前缀结合,要求最后得到的字符串字典序最小。思路:首先a的第一个字符一定要取,接下来从a的第二个字符和b的首字符开始,比较a的每一位和b的每一位,如果a的字符小放a再循环比较;否则放b,退出循环。如果a全部放进去了,那么接下来放b的第一个字符。代码:#include <bits/stdc++.h>#define int l

2021-01-12 23:25:09 128

原创 (5/5) Codeforces Round #695 (Div. 2)

(5/5) Codeforces Round #695 (Div. 2)A. Wizard of Orz题意:n个位置,每个位置第0秒为0,之后每秒+1,如果大于10则变为0。你可以让第i位静止,之后i-1和i+1会在1s后静止,i-2和i+2会在2s后静止,其余位置以此类推。问n个位置可以组成的最大数。思路:最优可定让第一位为9,那么会有多种可能:例如第二位为8,那么第三位则为9,;例如第三位为7,那么第二位则为8。以此类推:最优989012……代码:#include <bits

2021-01-11 21:07:36 103

原创 图论——最近公共祖先、树上差分(未完成)

最近公共祖先、树上差分一、最近公共祖先方法1:向上标记法:时间复杂度:每次询问的时间复杂度为O(n)O(n)O(n)。两个点xxx,yyy,先从xxx向上走,染色标记。再从yyy向上走,碰到的第一个染色的点即为最近公共祖先。方法2:倍增法:时间复杂度:预处理O(nlogn)O(nlogn)O(nlogn),查询O(logn)O(logn)O(logn)。预处理两个数组,f[i,j]f[i, j]f[i,j]代表从iii开始,向上走2j2^j2j步所能走到的节点,jjj在000与log2n

2021-01-10 22:12:21 244 1

原创 MySQL学习笔记(2)——DQL语言

MySQL学习笔记——DQL语言基础查询select 查询列表 from 表名;查询列表:表中的字段、常量值、表达式、函数,查询的结果是个虚拟的表格。去重:select distinct 查询列表 from 表名;,distinct只能加一个字段名。+只能做运算符,转换失败则值为0,只要其中一方为null,结果则为null。条件查询where模糊查询:like / between and / in / is null / is not null。%通配符:任意多个字符,包含0个字符。

2021-01-09 23:05:40 113

原创 (6/6) Codeforces Round #694 (Div. 2)

(6/6) Codeforces Round #694 (Div. 2)A. Strange Partition题意:给一个数组,数组中的所有元素可以任意合并,求数组的每个元素除以x上去整的和,求结果的最大值和最小值。思路:瞎猜。最小值肯定是都合并在一起,最大值是分开。代码:#include <bits/stdc++.h>#define int long longusing namespace std;int a[100010];void work() { int n,

2021-01-08 15:45:40 173

原创 MySQL学习笔记(1)——纲要

DB:数据库DBMS:数据库管理系统SQL:结构化查询语言将数据放到表中,再将表放到库中,表由列组成,也称为字段,一个数据库有多个表。net start/stop mysql80 windows下开启数据库服务。连接数据库方法:①通过SQL自带客户端,仅限root。②windows客户端mysql -h主机名 -P端口号 -u用户名 -p密码 本机可省略-h -P 。退出exit或ctrl c。每条命令用分号结尾,不区分大小写,建议关键字大写。基础命令:show databases;.

2021-01-05 22:17:18 109

原创 (4/4) Biweekly Contest 42

(4/4) Biweekly Contest 421700. 无法吃午餐的学生数量思路:双指针遍历学生数组和三明治数组,如果学生可以选择,则两个指针均后移,并且标记学生。每次比较之后再从头开始遍历学生,如果没有一名未标记的学生可以选择接下来的三明治,则跳出双指针循环。未被标记的学生数量即为所求。代码:class Solution {public: int countStudents(vector<int>& stu, vector<int>&

2020-12-29 20:44:19 132

原创 图论——网络流

网络流最大流知识点梳理流网络,不考虑反向边,可以存在环,有向图。可行流,不考虑反向边。(1)两个条件:容量限制,流量守恒。(2)可行流的流量指从源点流出的流量-流入源点的流量。(3)最大流是指最大可行流。残留网络,考虑反向边,和可行流一一对应,是原图中边数的二倍。其中正向的边表示可以增加的流量,反向的边表示可以退回去的流量。残留网络的可行流f’+原图的可行流f=原题的另一个可行流。(1)|f’+f| = |f|+|f’|(2)|f’|可能是负数增广路径,从源点出发,沿着容量大于0的

2020-12-26 01:52:35 1051

原创 (5/6) Codeforces Round #692 (Div. 2)

(5/6) Codeforces Round #692 (Div. 2)A. In-game Chat题意:给你一个字符串,如果末尾连续的)的数量个数大于字符串剩余字符的数量个数,则输出yes,否则输出no。思路:暴力模拟。代码:#include <bits/stdc++.h>using namespace std;#define int long longvoid work() { int n; cin >> n; string s; cin >

2020-12-24 23:04:13 235

原创 (6/6) AtCoder Beginner Contest 186

(6/6) AtCoder Beginner Contest 186A - Brick题意:有一个车最多可以装N斤,一块砖M斤,问最多可以装多少砖。思路:N/M下取整。代码:#include <bits/stdc++.h>using namespace std;void work() { int a, b; cin >> a >> b; cout << a / b << endl;}int32_t main() {

2020-12-24 03:40:09 408

原创 (5/5) Codeforces Round #450 (Div. 2)

(5/5) Codeforces Round #450 (Div. 2)A. Find Extra One题意:在二维平面上有n个点,所有点都在y轴两侧,问能否删除一个点使得所有点都在y轴的一侧。思路:统计y轴两侧的点数a,b:如果a或者b其一等于0,则yes。如果a或b其一等于1,则yes。否则no。代码:#include <bits/stdc++.h>using namespace std; void work() { int n; cin >>

2020-12-19 15:03:52 137 2

原创 (5/6) Educational Codeforces Round 100 (Div. 2)

(5/6) Educational Codeforces Round 100 (Div. 2)A. Dungeon题意:三个数a,b,c代表三个怪物的血量,有一门炮,每次发射会对一个怪物造成伤害1,当发射的次数为7的倍数时,会对三个怪物同时造成1的伤害,要求是否可以在最后一次发射时同时杀死三个怪物。思路:求和如果不能被9整除,则输出no。每一轮会对和减9,最少对每只怪物造成伤害1,所以记录9的次数t,如果存在怪物的初始值小于t,那么输出no。否则输出yes。代码:#include <

2020-12-18 16:23:12 244 2

原创 (5/6) Codeforces Round #689 (Div. 2)

(5/6)Codeforces Round #689 (Div. 2)A. String Generation题意:输出一个只包含a、b、c三种字符的字符串,长度为n,要求其最长回文子串不得超过k。思路:因为k大于等于1,所以我们不断输出abc,回文子串长度为1,一定小于k。代码:#include <bits/stdc++.h>using namespace std;int main() { int t; cin >> t; while (t--) {

2020-12-17 12:47:44 174

空空如也

空空如也

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

TA关注的人

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