自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

reedthink的博客

滴水穿石

  • 博客(79)
  • 收藏
  • 关注

原创 C++中的锁

相较于手动lock 和unlock ,重在支持RAII (资源获取即初始化)unique_lock 自动释放,但是支持手动解锁(写锁)shared_mutex 读写锁,可以多读。mutex 最简单的锁,互斥锁。lock_guard 自动释放。shared_lock 读锁。

2024-03-31 15:41:52 152

原创 解读C++实现线程池的思路与细节

线程池

2024-03-31 15:38:17 318

原创 游戏服务端面试备忘(C++、Python)

python的垃圾回收 循环引用怎么处理的 通过部分标记清除算法处理 深拷贝 浅拷贝 切片是深拷贝还是浅拷贝 MySQL查询语句的过程 Mongo放一个大文件会怎样 Linux指令 top指令 free python split函数的时间复杂度和实现 coredump 如何用gdb调试 memset malloc 和 new的区别 智能指针 堆和栈的区别 进程和线程 洗牌算法 sizeof 对于类的 战斗机制 structunion区别 多线程相关

2024-03-28 15:16:01 434

原创 c++实现洗牌算法

【代码】c++实现洗牌算法。

2024-03-28 15:14:06 511

原创 c#删除数组中符合条件的元素

在迭代过程中删除数组元素会有很大的问题,例如删除后位置移动,导致不该被删除的元素被删除。

2023-10-12 12:30:47 440 1

原创 C#的值类型和引用类型

不得不说c#的类型系统设计有点意思,不同的编程语言对于类型的设计各有取舍。

2023-10-11 23:19:10 409

原创 C#、.NET、CLR的区别和联系

2023-10-10 00:38:02 56

原创 c++中单例模式的实现和问题

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

2023-10-10 00:33:46 514

原创 Codeforces 687(Div2)

A题解法:枚举四个顶点,最远点肯定是这四个之一。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5 + 7;int main(){ int n,t,m,r,c; cin>>t; while(t--) { cin>>n>>m>>r>>c;

2020-11-30 00:40:32 103

原创 vscode矩形编辑

环境:linux vscode 1.43.0快捷键 shift+alt+鼠标选中

2020-03-15 18:00:13 1517

原创 HTTP学习手记(一)

HTTP协议中的9种方法:1.GETGET方法是最常见的方法。浏览器输入网址,请求服务器资源。用于获取服务器上的资源是幂等方法。幂等:在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个...

2020-03-03 10:40:28 177 1

原创 vscode配置C++开发环境2020年2月14日版

date: 2020年 02月 14日 星期五闲话:虽然现在网上已经有了很多的vscode的配置教程,但是很多都失去了时效性。因为vscode的更新很快,扩展更新也很快,今天笔者斗胆写下自己的vscode配置C++的教程。小声bb:其实官网就有很好的文档,但是都是全英文的,看起来费劲啊。英文的信息密度比中文差太多(毕竟是硕果仅存的非拼音文字嘛)正文:1.安装vscode官网:https...

2020-02-18 22:21:07 1254

原创 Go语言踩坑之旅

前言:友人寻我合做一个小网站。我们最终决定采用Go语言写后端。因此我开始了Golang踩坑之旅。注:本文基于Go 1.13.7 。操作系统为Manjaro KDE 64位,下文golang等同于Go语言以前,golang缺乏好用的包管理器,并且所有项目必须在GOPATH文件夹下组织。如此反直觉的开发方式让笔者在之前对GO浅尝辄止。在Go的1.11版本后,Go引入了go mod,在Go1.13版...

2020-02-09 16:57:24 578

原创 HDU 2609 字符串的最小表示法

题意:有n个有01组成的字符串,每个字符串都代表一个项链,即字符串是环状结构,问不同的串有多少个。分析:既然是环形,将每个字符串最小表示出来,扔进set即可。//字符串的最小表示法#include <iostream>#include <string.h>#include <string>#include <set>using na...

2019-10-11 22:04:42 147

原创 HDU 1358 Period

Just read code.code//本题利用KMP算法中求Next[]数组的性质可以解决;//即如果一个字符串为循环串时,(例如adcabcabc)那么它的next[]数组满足下面性质://1、len%(len-p[len])==0;2、len/(len-p[len])就是循环的次数;这里len是字符串的长度,p[]是next[]数组;//刚开始,想的有点挫每次都执行一次Getp函...

2019-10-08 17:56:43 86

原创 Jin Yong’s Wukong Ranking List(Floyd判环)

图论不会套模板…………code#include <bits/stdc++.h>using namespace std;#define endl '\n'const int maxn = 550;int mp[maxn][maxn], n;map<string, int> q;void floyd(){ for(int k=1 ;k<=n;+...

2019-10-07 16:56:15 171

原创 Codeforces 1185C2 Exam in BerSU (hard version)

题目链接题意:有n个学生依次答题,每个学生都有自己的答题时长。答题总时间只有M分钟。问第 ** i ** 个学生要答题,则前面最少多少人不答题才行?分析:由题面我们可以知道t较小,因此无需使用主席树(而且主席树会TLE,/(ㄒoㄒ)/~~)。代码:#include <bits/stdc++.h>using namespace std;const int maxn = ...

2019-10-02 21:26:08 164

原创 Codeforces Codeforces Round #490 (Div. 3) D. Equalize the Remainders

题目题意:给出一个n,一个m(n%m==0),之后n个数,即数组a。一次操作可以对a数组任意一个元素+1。一个数组c,大小为m,**c[i]为数组a的元素对m取余结果为i的数量,问:使所有c[i]**等于n/m,至少进行多少次操作,并且输出操作后的数组a。做法:对于,每一个...

2019-09-19 21:38:12 127

原创 Codeforces Round #585 (Div. 2)部分题目题解

前言:题解会的笔者自己写,不会的笔者参考官方题解(练习翻译,个人觉得翻译之后读起来比直接读英文舒服)A没啥好说的,直接暴力,codeforces传统艺能。简述:最少的罚下人数很好确定,最多的罚下人数分类讨论一下即可。code:#include <bits/stdc++.h>using namespace std;typedef long long ll;const in...

2019-09-16 11:24:20 403

原创 codeforce 750E

#include <bits/stdc++.h>//codeforce 750E(https://codeforces.com/contest/750/problem/E)using namespace std;const int maxn = 1000050;typedef pair<int, int> P;typedef long long ll;const ...

2019-09-10 21:43:27 189

原创 牛客 子串查询(实际上是子序列匹配

题目链接题意:其实应该是子序列查询。解析:设nex[i][j]表示s串中第i后面第一个字符为(j+‘a’)的位置(0<=j<26),规定s串的下标从1开始,如果不存在这样的位置则nex[i][j]=-1。对于每次查询,按顺序枚举串t的所有字符,每次优先匹配可以匹配的最小位置进行贪心。更正式的说,最开始我们设now=0,每次枚举到串t的位置i,我们使得now=nex[now][t[...

2019-09-07 11:16:22 190

原创 牛客 Barn Echoes (扩展KMP)

题目链接题意给出两个字符串,求一个字符串的前缀与另一个字符串的后缀最长重叠长度分析采用扩展KMP可以轻松解决此题代码#include <iostream>#include <algorithm>#include <string.h>#include <stdio.h>using namespace std;string str1...

2019-08-30 21:39:35 181

原创 牛客 Bessie's Weight Problem (01背包,空间优化)

题目链接题意一头牛最多能吃H kg的草,这里有N堆草,每堆草一旦选择就必须吃完,求牛最多能吃多少kg的草思路很明显,这是一个01背包问题,然而最朴素的01背包会内存超限,所以要进行空间优化,这里采用背包九讲里提到的空间优化方式,很轻松就解决了。代码#include <iostream>#include <algorithm>#include <stri...

2019-08-30 21:30:10 336

原创 HDU 6441 Find Integer(费马大定理,勾股数的推导)

题目链接分析:费马大定理:仅仅在n为1或 2时题目中公式才成立,n为1时,随便整一组b和c即可。勾股数推导见代码里的注释代码#include <stdio.h>#include <math.h>using namespace std;typedef long long ll;// 当a为大于1的奇数2n+1时,b=2n^2+2n, c=2n^2+2n+1...

2019-08-20 20:47:40 115

原创 POJ 2752 (扩展KMP,Z函数)

题目链接(Virtual Judge)扩展KMP(又称Z函数)的模板题,参考资料:Z 函数(扩展 KMP) - OI WikiZ函数定义:一个长度为n 的字符串s。该字符串的 Z 函数 为一个长度为n 的数组,其中第 i 个元素为满足从位置 i开始且为 s前缀的字符串的最大长度。定义有点儿绕,但是也很明确。作为对比,附上KMP算法的前缀函数的定义:next[i]为既是子串s[0~i]的前缀...

2019-08-05 21:11:22 183

原创 codeforces 1199 C

https://codeforces.com/contest/1199/problem/C这一题题意还挺曲折,看懂题目之后,其实很简单,很多方法都能做。比如尺取法(又称双指针,滑动窗口)。下方代码是瞎写的,反正能AC就好了代码:#include<bits/stdc++.h>using namespace std;int a[400001];set<int> ss...

2019-07-31 20:59:52 252

原创 2019 杭电 多校第3场 1007 Find the answer (HDU 6609)

红黑树赛高,封装STL赛高!(有时候选择比努力更重要)代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;multiset<int> ss;const int maxn = 200010;int a[maxn];int main(){ int t; cin ...

2019-07-30 17:01:57 118

转载 Miller_Rabin 算法 快速判断大质数(存在误差,非确定算法)

#include <bits/stdc++.h>using namespace std;typedef long long ll;ll mod;ll mul(ll a,ll b) //高精度{ a%=mod; b%=mod; ll c=(long double)a*b/mod; ll ans=a*b-c*mod; return (ans...

2019-07-30 11:57:33 155

原创 2019 杭电 多校第3场 1006 Fansblog (HDU 6608)

题目链接题解:威尔逊定理转换后,就是求逆元。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll exgcd(ll a,ll b,ll &x,ll &y){ if(a==0&&b==0) return -1; if(b==0) {x=1...

2019-07-30 08:33:06 114

原创 字典树(前缀树)例题 HDU 1251

题目点这里直达题意很明确,就是字典树的裸题。资料 1:OI Wiki资料 2 :http://ddrv.cn/a/44982代码:#include <bits/stdc++.h>using namespace std;const int maxn=500001;struct trie{ int nex[maxn][26], cnt; bool exis...

2019-07-27 14:05:35 101

原创 2019 杭电 多校第二场 1011 Keen On Everything But Triangle

题目链接题意 :N条线段,Q次查询。查询的是区间内线段能组成的周长最长的三角形的周长。分析:首先,对于三条线组成周长最长三角形的问题,我们将线段排序后从大到小依次枚举,然后判断是否能构成三角形。值得注意的是,在最坏情况下我们也只需枚举几十次。因为最坏情况是斐波那契数列,然而斐波那契数列几十个之后就在数据范围之外了。既然是区间查询问题,我们考虑使用线段树或者主席树,然而发现线段树维护区间有序...

2019-07-25 15:26:32 240

原创 zzuli oj 1178 单词数

题目描述统计一篇文章里不同单词的总数。(test输入有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由大小写字母和空格组成,没有标点符号,遇到#时表示输入结束。每篇文章的单词数小于1000,每个单词最多由30个字母组成。输出每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。样例输入you are my friend#样例输出...

2019-04-17 23:06:28 2222 6

转载 两球的体积并

#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;iostream&gt;#include&lt;math.h&gt;#define CLR(a,b) memset(a,b,sizeof(a));const int inf=0x3f3f3f3f;using namesp...

2019-03-01 20:15:25 183

原创 codeforces-1084C The Fair Nut and String(数学题)

已迁移New blog

2019-01-22 20:10:30 207

原创 codeforce1105C(数学+DP)

题目点这里

2019-01-21 18:01:16 290

原创 zzuli 1605 数字序列 (矩阵快速幂取模)

题目描述一个数列的定义如下:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给出A和B,你要求出f(n).输入输入包含多个测试案例。每个测试用例包含3个整数A,B和n在一行(1<=A,B≤1000,1≤n≤100000000)。当输入三个0表示结束输出对于每个测试案例,输出f(n),单独占...

2018-12-27 18:00:28 317

转载 51nod 1003 阶乘后面0的数量

题目就是题意分析:一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出 5 的个数即可.题解中给出的求解因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加. 例如, 100/5 = 20, 20/5 = 4, 4/5 = 0, 则 1 到 100 中因子 ...

2018-12-19 21:12:22 129

原创 UVa 1587 Box

题目:https://vjudge.net/problem/UVA-1587题意:给出6个矩形的长和宽,均小于10000,判断是否可组成一个长方体,可以的话,”输出 POSSIBLE“。否则输出“IMPOSSIBLE”解法:把6个面排序,先按宽度从小到大排,再把宽度相等的面按长度从小到大排。经上述方式排序后,要构成长方体,首先保证第1、2面,第3 、4面,第5、6面分别相同,而且,第2、 ...

2018-11-27 21:59:27 276

原创 鸽了这么多解题报告…………

惭愧惭愧,解题报告计划暂时搁置一下吧,最近陆陆续续开始期末考试了,还有英语四级考试。

2018-11-26 17:53:00 172

原创 Codeforce 1076B Divisor Subtraction 2/5

题目链接:http://codeforces.com/contest/1076/problem/BB. Divisor Subtractiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are...

2018-11-13 18:59:32 349

空空如也

空空如也

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

TA关注的人

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