自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Andysun06的博客

Andysun06的博客

  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 网络安全学习平台top10

1.Hack In The Box:http://www.hackinthebox.org/2.Hellbound Hackers:https://www.hellboundhackers.org/3.Exploit Database:https://www.exploit-database.net/4.Hacking-Tutorial:https://www.hacking-tutorial.com/5.Hack This Site:https://www.hackthissite.org/6.

2021-10-24 10:22:34 2157

转载 【题解】平版

文章来源题目题目描述小明喜欢玩拼板游戏,买了NNN块正方形的拼板,边长分别是A1,A2,...ANA_1,A_2,...A_NA1​,A2​,...AN​。可是在玩拼图游戏的过程中,他发现自己把拼板的尺寸搞错了。所以他需要调换其中的一些,使得调换以后所有拼板总面积正好是MMM。调换拼板是需要成本的,把一块边长是AiA_iAi​的拼板替换成一块边长是BiB_iBi​的拼板需要的成本是(Ai−Bi)2(A_i-B_i)^2(Ai​−Bi​)2。特别的,小明只能把之前买的拼板用来做调换。也就是说,他不能用A

2021-10-24 06:00:00 301

原创 网络安全技术学习平台top10

1.Hack In The Box:http://www.hackinthebox.org/2.Hellbound Hackers:https://www.hellboundhackers.org/3.Exploit Database:https://www.exploit-database.net/4.Hacking-Tutorial:https://www.hacking-tutorial.com/5.Hack This Site:https://www.hackthissite.org/6.

2021-10-24 06:00:00 1301

原创 【YBTOJ】二分例题1——数列分段

题目:题解题意:把一段数列分成 M 段,并且满足各段所有数的和的最大值是所有分段方法中最小的做法:用二分枚举答案,易证:每段和的最大值一定在 l~r 范围内( l 是数组中的最大值,r 是数组里所有数的和)定义一个变量 mid 如果每段和的最大值最小为 mid 看能否分成 M 段,如果可以,在 l~mid 里继续搜索,否则在 mid+1~r 里直到 l==r 就是答案#include<iostream>#include<cstdio>using namespac

2021-10-06 15:14:14 251

原创 2021年CSP-S初赛试题

下载地址:http://cloud.hackingfans.top/index.php?mod=shares&sid=V0JhSVpzOGUtQmsya1diN3FtaXFabzRIVHIwdGJMSTFuUW53

2021-09-19 12:33:15 1226

原创 P类问题和NP类问题—超简单理解

P类问题:可以用一个时间复杂度为多项式级别∗^*∗的的算法来解决的问题,就是P类问题NP类问题:可以在时间复杂度为多项式级别的方法来判断有无解的问题,就是NP类问题* :多项式级别就是例如O(1), O(na^aa), 这类的时间复杂度...

2021-08-18 18:58:07 592

原创 C++数列分块1代码详解

题目#include<bits/stdc++.h>#define reint register int#define ll long longint a[50005],add[50005],block[50005],opt,l,r,c; //a是原数组。add存当前分块整体加的数,block存是哪一个块using namespace std;int n,sn;void Add(int l,int r,int c) { //在l,r区间内加c reint i; if(blo

2021-08-17 19:01:05 345

原创 【YbtOJ】雷达装置

题目#include<bits/stdc++.h>#define reint register int#define ll long longusing namespace std;struct nod{ //存雷达区间 double l,r;}f[1005];int x[1005],y[1005],ans;bool cmp(nod a,nod b){ //按右边缘排序 return a.r<b.r;}int main(){ int n,d; scan

2021-08-16 18:02:42 188

原创 【YbtOJ】奶牛晒衣服

题目代码:#include<bits/stdc++.h>#define reint register int#define ll long longusing namespace std;int h; int main(){ int n,a,b,t(0); priority_queue<int> q; //优先队列 scanf("%d%d%d",&n,&a,&b); for(reint i=1;i<=n;++i){ sc

2021-08-16 16:11:52 179

原创 C++优先队列

优先队列所需头文件 #include <queue>他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队(其实就是在先返回最大的或最小的)定义priority_queue<int, vector<int>, less<int> > a; //等同于 priority_queue<int> a ,大顶堆,先返回大的priority_queue<int, vector<int>, g

2021-08-16 15:57:07 140

原创 C++主席树求第k小得数模板程序详解

#include<bits/stdc++.h>#define reint register intusing namespace std;int n,m;inline void read(int &a) { //快读 int x(0),y(1); char c=getchar(); while(c<'0'||c>'9') { if(c=='-')y=-1; c=getchar(); } while(c>='0'&&c<=

2021-08-13 22:01:11 189

原创 C++主席树的单点修改&单点查询模板代码详解

部分操作和线段树相似,本文不作解释,如果对未作解释的部分有疑问的,可以看这篇博文,讲得很详细#include<iostream>#include<cstdio>#define reint register intusing namespace std;int n,m;int s[1000005],v,loc,value,p,root[1000005],top; //s存原数组,v,loc,value,p意义与题目相同,root存根,top统计节点数struct n.

2021-08-13 18:15:01 420

原创 C++笔记

scanf的返回值是成功读入的个数,如果读入失败会返回-1即EOF

2021-08-13 17:42:05 120

原创 C++线段树区间乘法&区间加法&区间查询代码详解(可能是最详细的了)

当我刚刚接触线段树区间乘法时,因为一直没想懂乘法和加法的懒标记怎么一起下推,上百度和CSDN搜索程序讲解,但搜到的绝大多数都是一些没有讲解,直挂代码的博文,很难让人看懂代码意思,往往会花费大量时间在理解变量的作用和操作的原理,因此为了方便初学者学习(也为了方便我以后复习),就写了这篇博文,希望对你有所帮助!题目:代码解释:代码虽然长,但原理简单#include<iostream>#include<cstdio>#define ll long longusing.

2021-08-12 21:24:21 980

原创 记录一个做题思想——时间倒流

题目:题解:代码:#include<bits/stdc++.h>#define reint register intusing namespace std;struct nod { int w,t; //w表示做这件事需要的精力 ,t是做事可以获得的信誉 int b; //b用来记录这件事是第几个真香(第几个被不用做)} f[10001]; //f用来记录每个事的数据int n,m;int dp[10001],ff[10001]; //dp记录动态规划的结果,

2021-08-12 16:20:21 155

原创 C++线段树区间加法&区间查询代码详解(超详细)

#include <bits/stdc++.h>#define MAXN 100005using namespace std;typedef long long ll;inline ll read() { //快读 ll ans = 0; char c = getchar(); while (!isdigit(c)) c = getchar(); while (isdigit(c)) { ans = ans * 10 + c - '0'; c = getchar

2021-08-11 22:01:05 554

原创 C++差分思想详解

举个例子,有一个数组 a[]={ 1,5,3,7,2,8 }。他的差分数组就是 b[]={ 1,4,-2,4,-5,6 }想必你也很快发现了他们之间的联系,bi=ai−ai−1b_i=a_i-a_{ i-1 }bi​=ai​−ai−1​ ,因此可以推出 ai=b1+b2+b3+...+bia_i=b_1+b_2+b_3+...+b_iai​=b1​+b2​+b3​+...+bi​ 。当我们把 a2a_{2}a2​ 到 a5a_5a5​ 都加上 2 后,数组 a 就变成了 a[]={ 1,7,5,9,4,

2021-08-11 20:08:23 1303

原创 树状数组模板程序讲解2(超详细)

本文主要介绍和解释树状数组的区间修改和单点查询的模板区间修改和单点查询请看树状数组模板程序讲解1(超详细)模板题目:题目链接模板代码:本题需要用到差分思想,如果不会可以先在这里学习,否则很难理解本题做法(而且差分经常和树状数组一起出现)为了方便你对程序的理解,可以在不太清楚的地方结合此图思考一下,能节约思考时间。讲解请看代码注释#include<iostream>#include<cstdio>#define reint register int.

2021-08-11 19:43:41 275

原创 HCL论坛&网盘分享

HCL论坛HCL论坛(也叫黑客技术爱好者论坛)是给黑客初学者互相交流学习的平台传送门HCL网盘HCL网盘(也叫黑客技术爱好者网盘)是用来给程序员提供代码存储空间的网盘,新用户可向管理员申请更大储存,管理员会根据实际使用情况进行调整,空间上不封顶。传送门...

2021-08-11 18:05:08 448

原创 题解 CF851A 【Arpa and a research in Mexican wave】

CF851A 题解题目分析:本题题面较为复杂,导致像我这样的初学者有点糊涂。但是,静下心来仔细推一推式子,看看样例解析。很显然,只有三种情况。如果 t≤kt\le kt≤k,就是 ttt 个人站着如果 k≤t≤nk\le t\le nk≤t≤n,就是 kkk 个人站着如果 n≤t≤n+kn\le t\le n+kn≤t≤n+k,就是 n+k−tn+k-tn+k−t 个人站着在了解了这三种情况的时候,就可以写出代码了。题目难度及考点:大致难度在 入门 左右,主要是考思维,代码较为简单。做

2021-08-11 17:53:48 82

原创 避免在CSP&NOIP竞赛中因编译错误导致爆零的方法

一、打开全部警告提示打开步骤:按下 Alt+t ,点击编译选项找到“代码生成/优化”找到“代码警告”选择“显示最多警告信息”步骤图:这样就可以看到编译器的所有警告信息,按照编译器的警告修改你的代码,因为本地编译器和CSP使用的编译器不完全相同,有可能在本地是警告而在评测时就是错误,如果在比赛中遇到就很有可能带来遗憾,在修改后就可以避免本地编译通过,而提交显示编译错误的情况。友情链接:优秀C++教程大全【2021最新】【入门至提高】【初赛&复赛】...

2021-08-11 17:48:56 883

原创 树状数组模板程序讲解1(超详细)

本文主要介绍和解释树状数组的模板,方便初学者理解树状数组程序写法,如果你还不清楚树状数组的原理or作用,可以在这里寻找适合你的教程~模板题目:题目连接模板代码:为了方便你对程序的理解,可以在不太清楚的地方结合此图思考一下,能节约思考时间。讲解请看代码注释#include<iostream>#include<cstdio>using namespace std;int f[2000001],n; //f用来维护树状数组,n是 数列数字总个数int lo.

2021-08-11 17:27:28 188

原创 洛谷 CF63A 题解

CF63A 题解一. 题目分析:首先,看到题目,我们就知道,一共有n个人,有四个等级,分别是:老鼠(rat)妇女(woman)和儿童(child)男人(man)船长(captain)二. 题目难度:个人认为在 普及- 难度左右当船沉时,需要按照这四个等级依次下船,如果等级相同,则按照序号,小的先下船。三. 做法分析:因为每个人的姓名和身份输入时,就是按顺序的,所以我们...

2021-08-10 17:56:22 296

原创 洛谷 CF23B 题解

CF23B 题解这题居然还没有 Pascal 题解,那我就来一篇吧!题目思路:有 nnn 个人要去参加聚会,刚开始所有人都在,然后有零个朋友的人会离开,接着是有一个朋友的人会离开,以此类推直到有 n−1n-1n−1 个朋友的人离开 问你最佳情况下最后会剩余多少人?这个题目描述看起来似乎有点复杂,但是当我们开始尝试推式子是,立马就可以发现只要输出 t−1t-1t−1 就可以了。但有一种特殊...

2021-08-10 17:55:13 136

原创 最小生成树Kruskal算法详解

Kruskal算法简介:Kruskal 算法是一种用来求最小生成树的算法,在稀疏图中比 Prim 有更高的效率,且方便实现,所以本文重点讲解 Kruskal 算法的用途和使用方法Kruskal算法原理:Kruskal 算法主要利用贪心的思想使得边权和最小Kruskal 算法步骤:把 mmm 条边按边权从小到大排序把图中的 nnn 个顶点看成独立的 nnn 棵树组成的森林;先从边权小的边开始循环,通过并查集判断添加这条边后是否会形成环(也就是能否连接两个不同祖先的点),如果可以,则添加这条边。

2021-08-10 17:41:26 1049

原创 【YbtOJ高效进阶2021】【广搜BFS教程】【例题1】走迷宫图——超详细题解

题目:题目大意:题目让我们求两点间的最短路径长度,显然是需要广搜,因为广搜先搜到一定就是最短路,深搜可以搜索路径,但搜到的不一定最短,往往都需要多次回溯和判断,耗时太长,只能过1个点。做题思路:刚开始做这题时,我毫不犹豫的打完了深搜的代码(虽然我知道是广搜),然后一直TLE,我还全然没发现自己写错了算法,我的深搜错误代码:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("abm,avx,mmx,pop

2021-08-10 11:33:40 331

原创 C++调试时出现<optimized out>问题的解决办法

问题场景:问题如下图原因分析:出现这种问题的原因大部分是因为GCC自动开启了O2优化选项,也有可能是人为的O1,O2,O3,Os优化,这都有可能导致在单步调试时出现<optimized out>的错误,比如下图所示代码就会导致无法单步调试:解决方案:对于GCC自动开启的优化:在编译选项中把 -O2 改为 -O0对于人为开启的优化:用//或者/* */把优化代码注释掉,或者删除有帮助的话点个赞再走呗~...

2021-08-10 10:18:47 8180 4

原创 个人介绍~

YbtOJ洛谷SSLOJ

2021-08-10 07:56:30 164

原创 C++语言简介

目录:什么是信息学奥林匹克竞赛什么是C++语言C++语言特点C++语言标准C++语言工作原理安装DEV C++推荐书籍内容:1. 信息学奥林匹克竞赛信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力,选手首先应针对竞赛题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后编写出计算机能够执行的程序。程序设计是信息学竞赛的基本,选手参与竞赛活动的第一步是熟练掌握一门程序设计语言,目前竞赛中允许使用的程序设计语

2021-08-09 19:50:38 1899

原创 C++随机数生成

使用方法:随机数头文件 #include <cstdlib>时间头文件 #include <ctime>在头文件下添加宏定义 #define random(a,b) (rand()%(b-a)+a)在主程序开头加上 srand((int)time(0));最后,在程序中加入 random(l,r); 就可以求 lll 到 rrr 之间的随机数了。5.程序示范: #include <iostream> #include

2021-08-09 18:01:19 992

原创 C++线性筛(模板&原理)

线性筛用途:快速的求范围 nnn 内的所有素数,其时间复杂度小于暴力求素数。线性筛原理:具体见这里程序模板: bool isPrime[100000010]; int Prime[5000010], cnt=0; void GetPrime(int n) { memset(isPrime, 1, sizeof(isPrime)); isPrime[1] = 0; ..

2021-08-09 17:58:00 447

原创 C++并查集用法教程(文档&视频教程)

并查集,顾名思义,就是有合并,查找等操作的集合。文档教程????这里视频教程????这里∙\bullet∙ 程序模板: #include<iostream> #include<cstdio> using namespace std; int a[10001],i; int zhao(int x) { //用来查找x的祖宗 if(a[x]==

2021-08-09 17:57:26 205

原创 C++队列实现(STL实现和数组实现)

STL队列的分析及用法:包含队列的头文件:#include<queue> 。队列的特点:先进先出,与栈相反定义一个队列:queue<Type> q; 其中Type为数据类型。队列的主要操作: q.push(a)//将a压入队列尾部 q.pop()//删除队首元素,但不返回 q.front()//返回队首元素,但不删除 q.back()//返回队尾元素,但不删除

2021-08-09 17:48:19 483

原创 C++栈用法(STL实现&数组实现)

STL栈的分析及用法:包含栈的头文件:#include<stack> 。栈的特点:先进后出,与队列相反定义一个栈:stack<Type> s; 其中Type为数据类型。栈的主要操作: s.push(a);//将a压入栈顶 s.pop();//删除栈顶的元素,但不会返回 s.top();//返回栈顶的元素,但不会删除 s.size();//返回栈中元素的个数 s.

2021-08-09 17:46:42 554

原创 快速维护数列的中位数

例题:题目描述:在一个长度为 nnn 的数列 aaa 中,做 mmm 次操作,操作种类如下:操作1:查询当前数列的中位数,用 C 表示操作2:在数列的第 xxx 个数与第 yyy 个数中插入一个数 kkk ,用 T x y k 表示操作3:删除数列中的第 xxx 个数 ,用 S x 表示输入:第一行,两个数 n,mn,mn,m第二行,共 nnn 个数,即数列 aaa接下来m行,每行都有一个操作输出:输出每次查询的结果样例输入:4 21 2 3 4S 2C样例输出:3

2021-08-09 15:55:08 570

原创 2021优秀C++教程大全【入门至提高】【初赛&复赛】【建议收藏】

零、初赛相关基础知识题库一、语言基础指针和结构体关于指针的那些事二、算法基础快速排序图解快速排序三、数据结构树树的简介及二叉排序树C++模板实现.关于二叉查找树的一些事儿(bst详解,平衡树入门)树的简介及二叉排序树C++模板实现.史上最强图解Treap总结, 不是浅谈!无旋Treap——FHQ-Treap详解FHQ-Treap学习笔记浅析Treap——平衡树栈栈的简介及C++模板实现 ←总结(更加具体)

2021-08-09 11:46:21 614

原创 【一本通高效进阶】E.1.划分数列详细题解

题面:题目描述给定一个长度为 n 的数列 ,要求划分最少的段数,使得每一段要么单调不降,要么单调不升。输入格式第一行一个整数 n 。接下来 n 个数表示数列 。输出格式输出最少的划分数。样例样例输入 161 2 3 2 2 1样例输出 12样例输入 291 2 1 2 1 2 1 2 1 样例输出 25样例输入 371 2 3 2 1 999999999 1000000000样例输出 33题解博主使用的是最好理解的模拟做法思路:用一次循

2021-08-08 18:27:02 416

原创 Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)

本文章使用的是Kali Linux的2020-4-installer-amd64版本Kali Linux的安装过程本文章不做过多说明,请自行百度一、DDos攻击首先,打开一个命令行输入以下命令:git clone https://github.com/Ha3MrX/DDos-Attack提示如图所示这样,用于DDos的数据包就已经下载到了你的Kali上下面,进入你所下载的DDos文件夹,输入命令(注意大小写):cd DDos-Attack然后设置ddos-attack.py设置

2021-07-06 20:38:58 94266 153

原创 快速幂详解

一、引入当我们遇到一个很简单的问题,例如计算 abmod  na^b \mod nabmodn 的结果,我们可以使用多个循环迅速解决,时间复杂度约为 O(b)O(b)O(b)代码就像这样: sum=1; for(int i=1;i<=b;++i){ sum=sum*a%m; } cout<<sum;当然,如果是一些简单的题目,自然没有任何的问题,但是当我们遇到需要快速求解的题目或需要求解多个时,显然会超时,因此,我们需要考虑如何优化这一个算法二

2021-02-09 23:13:23 366

转载 无旋Treap——FHQ-Treap详解

FHQ-treap——无旋treap前置知识:二叉排序树treap了解什么是函数式编程引入“平衡树好烦啊,转来转去的,而且treap遇到区间序列问题就gg。”“有一种不用旋转的treap,叫FHQ-treap,可以解决区间序列问题。”正文约定我们做出以下约定:int ch[MAXN][3];//0 左孩子,1右孩子int val[MAXN];//每个点的权值int rnd[MAXN];//每个点的随机权值int size[MAXN];//以每个点为根的树的大小

2021-01-29 20:16:57 700

----鼠标连点器----

连点器

2021-08-13

BatToExe文件转换工具

可以把Bat文件转换成Exe文件

2021-07-07

CPU检测软件CPUZv1.95 x64

CPU检测软件CPUZv1.95,64位操作系统

2021-07-07

cena评测软件-0.8.1.rar

软件名:Cena评测软件 版本:0.8.1 内容:安装包压缩文件 安装方法:解压后即可安装 大小:7MB 分享者:Andysun06 所需积分:3

2020-07-28

空空如也

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

TA关注的人

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