- 博客(163)
- 资源 (1)
- 收藏
- 关注
原创 五种IO模型详解
五种I/O模型详细讲解前言I/O的本质阻塞IO模型非阻塞IO模型多路复用IO模型selectpollepoll信号驱动IO模型异步IO模型总结前言I/O的本质网络IO的本质就是socket流的读取,通常一次IO读取会涉及两个阶段与两个对象,其中两个对象为:用户进程(线程)Process(Thread)、内核对象(kernel),两个阶段为:等待流数据准备阶段、从内核向进程复制数据阶段。对于socket而言,第一步通常等待网络上的数据分组到达,然后被复制到内核的某个缓冲区,第二步数据从内核的缓冲区复制
2021-09-04 15:56:32 5986 2
原创 基础算法:差分讲解
1.差分的基本概念:如果有一数列 a[1],a[2],.…a[n]且令 b[i]=a[i]-a[i-1],b[1]=a[1]那么就有a[i]=b[1]+b[2]+.…+b[i] =a[1]+a[2]-a[1]+a[3]-a[2]+.…+a[i]-a[i-1]此时b数组称作a数组的差分数组换句话来说a数组就是b数组的前缀和数组 例: 原始数组a:9 3 6 2...
2019-03-09 20:37:51 4941 2
原创 Golang连接使用本地MySQL数据库
下载mysql数据库macos:mysql下载设置环境变量PATH="$PATH":/usr/local/mysql/bin如果直接在终端运行,则关闭终端会失效,需要每次配置,建议写入.bash_profile中运行mysql终端运行: mysql -u root -p密码同样可以 mysql -u root -p 回车 然后输入密码如图,则表示成功。可以使用简单的命令检测一下:show databases;或者use sql;show tables;使用\q退出即可Gol
2021-12-20 01:17:53 1642 1
原创 Go学习记录
Go语言学习笔记1.写一个简单的Go程序并运行编写简单的hello.go文件package mainimport "fmt"func main(){ fmt.Println("Hello World!")}使用go run hello.go运行或者使用go build命令生成二进制文件并运行go build hello.go./hello.exe对上述代码hello.go语言结构进行分析:1.package main定义的是包名,必须再源文件的非注释第一行指明属于哪个包
2021-11-13 18:16:55 706
原创 详解C++中Lambda的用法
Lambda用法详细介绍Lamdba是什么?Lambda表达式又称匿名函数,用于定义并创建匿名的函数对象,是C++11版本新增内容,可以简化代码的编程工作。Lambda的语法为:[capture_list] (params_list) mutable exception -> return type { function body }其中,各个部分参数的意义为:capture__list:捕获外部变量列表,方式包括=,&,this等,不可省略。params_list:形参列表
2021-09-10 22:36:22 3382
原创 数据库常见面试题汇总
数据库面试知识点汇总1.简述关系型与非关系型数据库的区别?关系型数据库是依据关系模型来创建的数据库,所谓关系模型就是“一对一”、“一对多”、“对多对”等。常见的关系型数据库有Oracle、MySQL、SQL Server等。非关系型数据库主要基于“非关系型模型”,其中非关系型模型有:列模型、键值对模型、文档类模型。比如redis属于键值对模型。关系型数据库的优点:易于维护:都是使用表结构,格式一致。使用方便:SQL语言通用,可用于复杂查询。复杂操作:支持SQL,可用于一个表以及多个表之间
2021-09-09 21:58:12 5978
原创 linux常用命令总结(四、编写Shell脚本)
一、运行Shell脚本shell基础#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。执行脚本执行脚本的两种方法:1.chmod 755 file.sh 先修改可执行权限cd到当前目录下 使用 ./file.sh file.sh为执行的脚本名称2.通过bash调用bash file.sh如果是html文本使用firefox浏览器执行: firefox file使用echo命令进行文本时,使用的引号可以包含换行符,因此可以包含多
2021-04-04 15:45:43 610
原创 linux常用命令总结(三、常见任务和主要工具)
一、软件包管理下面各命令都以Debian类为例,包含ubuntuDebian类的系统 使用的低级工具为dpkg 高级工具为apt-get、aptitude常见的软件包管理任务在库里面查找软件包apt-get updateapt-cache search search_string 安装库中的软件包apt-get updateapt-get install package_name package_name 是软件包名称更新库中的软件包apt-get u
2021-04-02 00:28:28 1290
原创 Codeforces Round #418 (Div. 2) C. An impassioned circulation of affection(尺取法)
//https://codeforces.com/contest/814/problem/B//C. An impassioned circulation of affection#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 2e5 + 100;vector&...
2019-11-26 00:31:30 213
原创 2017 ECfinal D.Mr. Panda and Geometric Sequence(数学 思维 枚举)
D.Mr. Panda and Geometric Sequence题意:给你一个l,r,问构造一个满足等比数列拼接而成的数在[l,r]区间内有多少个其中等比数列的公比可以为分数分析:对于每个数列的公比 设为p/q 且满足gcd(p,q)=1恒成立 因为数列最少要为3项 所以枚举第一项时 设x=ipp y=iqp z=iqq 这样保证前三个必为整数 且 y<=1e5 对于之后枚举的...
2019-10-29 12:07:44 392
原创 poj1556 The Doors (计算几何+最短路)
The DoorsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11497 Accepted: 4227DescriptionYou are to find the length of the shortest path through a chamber containing obstructing walls. ...
2019-10-05 23:01:21 229
原创 51nod 1258 序列求和(拉格朗日插值||ntt多项式求逆)求解自然数幂和问题
**1258 序列求和 V4**8.0 秒 131,072.0 KB 1280 分 9级题T(n) = n^k,S(n) = T(1) + T(2) + … T(n)。给出n和k,求S(n)。例如k = 2,n = 5,S(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55。由于结果很大,输出S(n) Mod 1000000007的结果即可。输入第1行:一...
2019-09-21 16:04:59 455
原创 2019杭电多校第九场 1002 Rikka with Cake(树状数组+离散化)
题意:在一个矩形中有若干条平行坐标轴的直线 ,求将矩形分成多少块。分析:根据离散数学公式可以推出分成的区域就是k条直线的交点数+1,将问题转化先将坐标离散化 然后对于其中为L方向的点加入树状数组, 依次枚举每各点的坐标如果方向向上 则查询树状数组后缀和 若向下 查询前缀和若向左则将树状数组的这个点删去 因为此后他不在贡献 若向右再加入树状数组 贡献一直到结尾位置//http://acm....
2019-08-20 16:25:53 236
原创 2019杭电多校第四场 K-th Closest Distance (主席树 二分)
K-th Closest DistanceTime Limit: 20000/15000 MS (Java/Others)Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 2524Accepted Submission(s): 910Problem DescriptionYou have...
2019-08-02 18:47:50 270
原创 HDU - 1247 Hat’s Words (字典树变形)
A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.You are to find all the hat’s words in a dictionary.InputStandard input consists of a...
2019-07-25 21:09:44 281
原创 POJ.1753 Flip Game(高斯消元+枚举自由元 两次)
题意:给你一个4*4的矩阵,每个位置对应着一个状态(开或者关),然后如果你按动某一个位置,那么上下左右位置都会被影响二改变状态,问最少经过几次达到全开或者全馆的状态。分析:其实对于每一个位置都可以列一个线性方程,构成一个方程组,a[i][j]就是表示按动j位置时对i位置有影响,然后对于方程组用高斯消元求解,然后对于存在自由元的情况需要枚举判断符合的个数,最后取最小值。#include <...
2019-07-11 18:14:07 230 1
原创 AcWing207.球星产生空间(高斯消元)
AcWing207.球星产生空间有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。输入格式第一行是一个整数n。接下来的n+1行,每行有n个实数,表示球面上一点的n维坐标。每一个实数精确到小数点后6位,且其绝对值都不超过20000。输出格式...
2019-07-10 13:43:27 199 1
原创 HDU3974.Assign the task(DFS序&&线段树)
Assign the task**题意:**给你一个有向树,然后可以执行两种操作:1.修改:将该点的子树节点都修改为同一个值。2.查询:单点查询,查询该点的值。**题解:**首先对于一个树形结构,可以用DFS序将它转化为线性结构,ll[x]和rr[x]为该店的左右端点,然后用那个线段树维护区间。#include<bits/stdc++.h>using namespace s...
2019-06-11 16:39:12 271
原创 Good的集合
链接:https://ac.nowcoder.com/acm/contest/911/A来源:牛客网Good 的集合题目描述平面上给 n(3≤n≤1000) 个点,保证不存在 3 点共线,保证这些点两两不重合,对于一个点集 S ,如果从 S 中任意选出三个不同的点,构成的三角形重心都不是整点(横坐标,纵坐标都是整数的点,称为整点),那么这个点集是 good 的,输出最大的 good 的点...
2019-06-04 13:48:32 500
原创 2019.西安邀请赛 M.Travel(二分+bfs)
M.TravelThere are nn planets in the MOT galaxy, and each planet has a unique number from 1 \sim n1∼n. Each planet is connected to other planets through some transmission channels. There are mm transm...
2019-05-30 20:55:53 278
原创 codeforces 86 D. Powerful array(普通莫队)
D. Powerful arrayAn array of positive integers a1, a2, …, an is given. Let us consider its arbitrary subarray al, al + 1…, ar, where 1 ≤ l ≤ r ≤ n. For every positive integer s denote by Ks the numbe...
2019-05-14 23:20:21 224
原创 D.温暖的签到题(线段树 区间修改)
温暖的签到题时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述给你一个长度为n的序列,初始为1,2,3…n,对其进行m次操作。操作有两种:1 l r 表示将区间[l,r]用 [1,2…r-l+1] 覆盖2 l r 查询[l,r]的区间和输入描述:第一行包含2个数字,n,m(1 &...
2019-05-13 19:59:01 224
原创 ZZULIOJ2185: 就是防AK题(河南省多校连萌5)
2185: 就是防AK题题目描述草原上有N个被栅栏包围起来的圆形牧场,保证不同牧场的边界没有公共点,跳跳羊在点(x1,y1)处,正要前往点(x2,y2)去喝水,保证跳跳羊的位置和饮水处均不在牧场边界上,跳跳羊在前进过程中,遇到栅栏时会展现自己惊人的弹跳能力——直接跳过栅栏。那么问题来了,跳跳羊想知道自己至少需要跳过多少栅栏才能成功喝上水呢?输入第一行一个整数N,表示牧场的个数;第二行N...
2019-05-02 14:25:36 381 1
原创 H - Pairs Forming LCM
H - Pairs Forming LCMFind the result of the following code:long long pairsFormLCM( int n ) {long long res = 0;for( int i = 1; i <= n; i++ )for( int j = i; j <= n; j++ )if( lcm(i, j) == n )...
2019-05-01 01:01:16 252
原创 ZZULIOJ.1726迷宫(bfs)
1726: 迷宫题目描述在很多 RPG (Role-playing Games) 游戏中,迷宫往往是非常复杂的游戏环节。通常来说,我们在走迷宫的时候都需要花非常多的时间来尝试不同的路径。但如果有了算法和计算机的帮助,我们能不能有更快的方式来解决这个问题?我们可以进行一些尝试。现在我们有一个 N 行 M 列的迷宫。迷宫的每个格子如果是空地则可以站人,如果是障碍则不行。在一个格子上,我们可以一步...
2019-04-29 10:38:13 212
原创 ZZULIOJ.2494: 考试排座位(模拟)
题目描述每到考试时,为了保证每位同学和其周围的同学都不认识,小明想出了如下策略:假设某个考场有 N 个学校的考生,第 i 所学校有 t名考生参加考试。令每校考生排成一列纵队,第 i+1 队的考生排在第 i 队考生之后。从第 1 所学校开始,各校的第 1 位考生顺次入座,然后是各校的第 2 位考生…… 以此类推。如果最后只剩下 1 所学校还没有分配座位,则需要安排他们的考生隔位就坐。但是小明...
2019-04-24 17:06:41 386
原创 ZZULIOJ.1458: 走迷宫(二分+DFS)
题目描述Dr.Kong设计的机器人卡多非常爱玩,它常常偷偷跑出实验室,在某个游乐场玩之不疲。这天卡多又跑出来了,在SJTL游乐场玩个不停,坐完碰碰车,又玩滑滑梯,这时卡多又走入一个迷宫。整个迷宫是用一个N * N的方阵给出,方阵中单元格中填充了一个整数,表示走到这个位置的难度。这个迷宫可以向上走,向下走,向右走,向左走,但是不能穿越对角线。走迷宫的取胜规则很有意思,看谁能更快地找到一条路径,其...
2019-04-24 14:07:36 331
原创 牛客.哈尔滨工程大学第十四届程序设计竞赛 (F.I.L)
F 小帆帆走迷宫链接:https://ac.nowcoder.com/acm/contest/642/F来源:牛客网题目描述小帆帆被困在一个 NxN 的方格矩阵迷宫,每个格子中都有一个整数 A[i][j]。小帆帆从迷宫起点(左上角)格子 A[1][1]开始走,每一步可以向右或向下移动,目标是移动到迷宫的出口右下角 A[N][N]。 小帆帆需要支付的费用包括路径中经过的所有格子中的...
2019-04-22 17:12:30 386
原创 HDU3068.(马拉车)
最长回文Problem Description给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等Input输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c…y,z组成的字符串S两组case之间由空行隔开(该空行不用处理)字符串长度len <= 110000Output...
2019-04-14 23:26:20 206 1
原创 HPU.L.最优规划(Kruskal)
最优规划有很多城市之间已经建立了路径,但是有些城市之间没有路径联通。为了联通所有的城市,现在需要添加一些路径,为了节约,需要满足添加总路径是最短的。输入第一行 3个整数 n, m, s, 分别表示城市的数量、已经存在的路的数量、可修的路的数量。之后的 m行,每行 3个整数 x, y, d,表示点 x到点 y有一条长度为 d的已经存在的路径。之后的 s行,每行 3整数 x, y, d,表示点 ...
2019-04-01 19:55:44 322
原创 Codeforces Round #547 (Div. 3)D. Colored Boots
**D. Colored Boots**链接:http://codeforces.com/contest/1141/problem/D题意:输入一个n表示字符串的长度,然后输入两个字符串a,b 对于a,b中的每一个字符,相同的情况下可以配对,然后?可以和任意配对,最后输出配对个数即对应位置,所以运用STL中的vector记录位置,pair辅助存两个点,避免使用结构体,然后对于?要特判两次...
2019-03-20 21:01:16 160
原创 51nod.1110 距离之和最小 V3(三分)
距离之和最小 V3(三分)X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i]。点P到点P[i]的带权距离 = 实际距离 * P[i]的权值。求X轴上一点使它到这N个点的带权距离之和最小,输出这个最小的带权距离之和。输入第1行:点的数量N。(2 <= N <= 10000)第2 - N + 1行:每行2个数,中间用空格分隔,分别是点的位置及权值。(-10^...
2019-03-15 13:03:04 276 1
原创 牛客小白月赛12 部分题解
B.华华教月月做数学https://ac.nowcoder.com/acm/contest/392/B分析:看似是一个简单的快速幂,但是a,b,p的数据范围过大,相乘时会有溺出的情况,所以在快速幂里面算乘法的时候转化为二进制加法时间复杂度为log(n)#include&amp;lt;iostream&amp;gt;#include&amp;lt;algorithm&amp;gt;#include&amp;lt
2019-03-10 00:24:10 623 4
原创 洛谷p1939矩阵加速(矩阵快速幂)
洛谷p1939矩阵加速链接:https://www.luogu.org/problemnew/show/P1939题目描述a[1]=a[2]=a[3]=1a[x]=a[x-3]+a[x-1] (x>3)求a数列的第n项对1000000007(10^9+7)取余的值。输入输出格式输入格式:第一行一个整数T,表示询问个数。以下T行,每行一个正整数n。输出格式:每行输出一个非...
2019-03-06 23:31:41 352 2
原创 UVA11642.Fire!(两次BFS)
题解:火的数目不一定唯一,所以遍历地图将火的位置加入队列,bfs1数组搜索火达到某一点的时间,然后用bfs搜索如何出去,当到达某一点如果_time不为INF那么如果step大于time,那么火已经到达这一点,不能加入队列,如果time为INF那么可以到达,直到走出迷宫,或者走不出去#include<iostream>#include<algorithm>#inclu...
2019-03-02 19:02:17 224 1
原创 牛客练习赛41E.球的体积并
E.球的体积并链接:https://ac.nowcoder.com/acm/contest/373/E题解:先判断一下两个球不相交以及包含的关系,比较好考虑,然后就是两个球有交集的时候,主要就是求两个弧面对应的高,可以设夹角,然后利用cos角的关系就是余玄定理表示对应的高,最后就是求相交的体积,得出结果。#include<iostream>#include<algori...
2019-03-02 01:43:04 257 2
原创 牛客练习赛41.C.抓捕盗窃犯(并查集)
题目链接:https://ac.nowcoder.com/acm/contest/373/C题解:这个题中逃犯是可以连续移动的,而不是移动到一个位置后停止,所以用并查集find函数将每个点的最开始的那个点作为父亲,然后求属于此节点的总和,最后排序找出前m大。#include<iostream>#include<algorithm>#include<cstdio...
2019-03-02 00:33:29 223
原创 HDU1180.诡异的楼梯.(bfs)
诡异的楼梯Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 20528 Accepted Submission(s): 5338Problem DescriptionHogwarts正式开学以后,Harry发现在Hogwart...
2019-02-28 18:23:11 297 1
原创 HDU1754.I Hate It(线段树)
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 110189 Accepted Submission(s): 41188Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某...
2019-02-26 22:32:47 295 1
原创 Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2)C.Connect
C.Connect每次测试的时间限制1秒每次测试的内存限制256兆字节输入标准输入产量标准输出爱丽丝生活在一个平坦的行星上,可以建模为正方形网格 n × n,枚举自的行和列 1 至 ñ。我们代表行的交叉处的单元格[R 和专栏 C 有序对 (r ,c )。网格中的每个单元都是陆地或水。一个行星的例子 n = 5。它也出现在第一次样本测试中。爱丽丝居住在陆地小区(r1,c1)。她希望行进...
2019-02-25 21:48:00 693
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人