- 博客(146)
- 资源 (6)
- 收藏
- 关注
原创 【Python】取火柴小游戏(巴什博弈)
当我们想要玩一个简单而有趣的游戏,同时又想锻炼自己的编程技能时,一个经典的选择就是火柴游戏。这个游戏的规则很简单:有一堆火柴,每次可以拿走1到6根,两名玩家轮流取火柴,拿到最后一根的玩家获胜。在本篇博客中,我们将使用Python来模拟和玩这个火柴游戏。
2023-10-23 12:38:26
949
1
翻译 导读Emergence of Polarization in Coevolving Networks
The emergence of polarization in coevolving networks正文社交媒体中的意见分化现象很普遍,而现有的网络建模工作已经发现极化现象。但是,如何控制极化的定量方法和理论框架尚未建立。最新研究发现了观点分布的统一标度定律,并提出了一个共演化理论框架,可以将观点动力学和网络演化统一起来。该理论已在Facebook和博客社区的经验数据中得到验证,不仅解释了社交网络标度律,还能够定量预测标度系数。意见极化是指意见的对立随时间推移而增加的过程,常见于政治领域和社交媒
2023-05-01 15:17:10
251
1
原创 【CTF】PGP邮件加密教程
学习目的掌握PGP软件的安装方法;掌握公钥与私钥生成、备份和管理的方法;掌握使用PGP加密信息;掌握PGPDisk的使用。学习材料与设备计算机、局域网、PGP4win软件。学习内容与步骤参见链接kleopatra/gpg4win软件的使用安装PGP4win软件双击PGP的安装程序,根据安装向导进行安装。在User Type对话框中,根据实际情况进行选择:如果曾经使用过PGP,选择“Yes,I already have keyrings”单选按钮,再导入密钥即可。第一次使用PGP时
2021-12-09 11:04:03
3007
原创 【CTF】DDoS教程
学习目的理解Dos/DDos攻击的原理及实施过程,掌握检测和防范Dos/DDoS攻击的措施。学习材料与设备计算机、局域网、攻击软件。学习内容与步骤搭建FTP服务器和HTTP服务器在主机A上安装FTP服务和HTTP服务,进行端口等必要的设置。FTP服务器软件EasyFZS安装启动FTP服务用户管理HTTP服务器软件Http File Server安装打开安装包你希望将HFS添加到右键菜单吗?此时HTTP服务已打开,可进行相关配置使用LOIC或JavaL
2021-12-09 11:03:34
2170
2
原创 【CTF】端口扫描教程
学习目的熟悉TCP、UDP协议基础;掌握nmap扫描原理,能够使用命令行与图形界面进行信息收集;熟练使用nmap常用参数对不同网络环境进行端口扫描,并通过扫描结果对目标进行分析。预备知识TCP与UDPTCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议;UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。建立TCP连接的三次握手:第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待
2021-12-09 11:03:12
5143
1
原创 【matlab】数据预处理及微分方程计算
数据预处理为什么要进行数据预处理我们采集到的数据很有可能有很多错误的信息,同时需要对不同性质的信息进行比较,因此,在做数据分析之前,必须进行数据预处理。Min-max标准化min-max标准化方法是对原始数据进行线性变换。将A的一个原始数据映射到区间[0,1]中。公式为:newresource=(resource−min)/(max−min)new_resource=(resource-min)/(max-min)newresource=(resource−min)/(max−min)m
2021-12-09 11:02:59
631
原创 【数据挖掘】K-Means聚类算法
源代码数据挖掘的过程聚类分析聚类分析是根据数据本身结构特征对数据点进行分类的方法。实质是按照彼此距离 的远近将数据分为若干个类别,以使得类别内数据的“差异性”尽可能小(即“同质 性”尽可能大),类别间“差异性”尽可能大。聚类算法聚类的目标:将一组数据分成若干组,组 内数据是相似的,而组间数据是有较明显 差异。与分类区别:分类与聚类最大的区别在于分 类的目标事先已知,聚类也被称为无监督机器学习。聚类手段:①划分法 ②层次方法 ③基于密 度方法 ④基于网络方法 ⑤基于模型方法K-Means时十
2021-12-08 17:11:31
934
原创 Lingo线性规划教程
Lingo运算符算术运算符号解释^乘方*乘/除+加-减逻辑运算符符号解释#not#否定该操作数的逻辑值,#not#是一个一元运算符#eq#若两个运算数相等,则为true;否则为flase#ne#若两个运算符不相等,则为true;否则为flase#gt#若左边的运算符严格大于右边的运算符,则为true;否则为flase#ge#若左边的运算符大于或等于右边的运算符,则为true;否则为flas
2021-12-08 17:09:26
4315
原创 【C++】线段树
简介线段树是一种特殊的数据结构,他适用于进行区间RMQ问题。线段树的逻辑结构是一颗二叉树,叶子节点统计的是端点信息,而其余父节点统计的是所有子结点的信息,父结点也就构成了一个个统计区间,这些区间就像是线段,线段树因此得名。首先,线段树是一颗平衡二叉树,因此搜索效率极高。通常,线段树是一颗普通的平衡二叉树,这种二叉树实现较为复杂,如下图所示:(图片来自网络,侵删)zkw大佬在《统计的力量》PPT中介绍了一种更易于实现的线段树,这种线段树一般也被称为zkw线段树。zkw线段树是一颗满二叉树,可以直接
2021-12-08 17:06:45
1326
原创 【博弈论】威佐夫博弈
简介威佐夫博弈(Wythoff GameWythoff\ GameWythoff Game):有两堆物品个数是nnn和mmm,甲乙两个人轮流从一堆选取kkk个物品或两堆中选取各选取kkk个物品,最后取完物品的人获胜。思路两堆物品数用(n,m)(n,m)(n,m)表示,满足n≤mn\le mn≤m,如果n>mn>mn>m则交换nnn与mmm。现考虑各种状态,发现先手必输态如下:当n=0n=0n=0时,(0,0)(0,0)(0,0)没有物品甲必败,(0,m≠0
2021-12-08 17:05:16
306
原创 【博弈论】斐波那契博弈
斐波那契博弈简介一堆有nnn个物品,如果有甲乙两个人。甲和乙轮流从这对物品中选取物品,第一次可以取1∼n−11\sim n-11∼n−1个物品,后一个人能取的物品数范围是111到前一个人取的物品数222倍,最后取光物品的人获胜。思路若甲先手,设当前物品数为rrr。当r≤3r\le 3r≤3时,甲无法取胜,甲必败。当r=4r=4r=4时,甲取111,乙剩333个无法取胜,故甲必胜。当r=5r=5r=5时,甲若取222个及以上乙必胜。甲若取111个,乙取111个又变成了r=3r=3r=3的情况,乙
2021-12-08 17:04:27
545
原创 【博弈论】巴什博弈
巴什博弈简介巴什博弈(Bash Game):一堆有nnn个物品,如果有甲乙两个人。甲和乙轮流从这对物品中选取1∼m1\sim m1∼m个物品,最后取光物品的人获胜,也就是没有取完物品的人输。思路若甲先手,设当前物品数为rrr。当r≤mr\le mr≤m时,甲可一次取完,获胜。当r=m+1r=m+1r=m+1时,甲无论取多少都会输。当m+2≤r≤2mm+2\le r\le 2mm+2≤r≤2m时,甲可以取r−(m+1)r-(m+1)r−(m+1)个,使得无论如何乙取走后剩余个数不超过mmm个,甲
2021-12-08 17:03:55
1416
原创 【C++】堆排序
前言本文采用结构体重载比较运算符的方式进行大根堆的建立,算法逻辑类似STLSTLSTL的priority_queuepriority\_queuepriority_queue。结构体堆本身就是一颗完全二叉树,所以本身用数组存储就行。int heap[N];输入堆for(int i=1;i<=n;i++} cin>>heap[i];向上调整堆建堆后,从第一个非叶结点开始向前递减循环,依次比较堆是否比最大的孩子小,是的话则交换。void adjustUp(){ f
2021-12-08 17:03:01
162
原创 【C++】IDA*算法
算法简介IDA*(ID A*)算法是一种启发式搜索算法,他是采取了迭代加深的A∗A^*A∗算法,使用了深度优先搜索的方式(根据百度百科的说法,IDA*不是基于迭代加深的A∗A^*A∗算法,是迭代加深与全局最优性剪枝的A∗A^*A∗算法)。相对于A∗A^*A∗算法,IDA*算法主要解决了:A∗A^*A∗算法需要判重,对优先级排序的问题。A∗A^*A∗算法使用堆,需要大量空间存储的问题。算法思想IDA*算法的基本思想是设置一个搜索深度,这个搜索深度从0开始依次递增。使用深度优先搜索在这个深度内搜
2021-12-08 17:01:41
1351
原创 【C++】A*算法
算法简介A∗A^*A∗(A starA\ starA star)算法是一种启发式搜索算法,主要实现对图的路径搜索。A∗A^*A∗算法基于BFSBFSBFS(广度优先搜索),由于BFSBFSBFS具有盲目性,会进行许多偏离最佳路径的搜索,故此A∗A^*A∗算法主要目的就是克服BFSBFSBFS的盲目性,在进行光度搜索时有目的的选择搜索结点。算法思想在学习A∗A^*A∗算法之前,首先需要引入评估函数f(n)=h(n)+g(n)f(n)=h(n)+g(n)f(n)=h(n)+g(n),它
2021-12-08 16:58:07
1128
原创 【C++】Tarjan算法
相关介绍强连通分量在有向图中,如果某一个子图的任意两点都是连通的则该子图是一个强连通分量。算法简介TarjanTarjanTarjan算法有好几种,都是以TarjanTarjanTarjan命名的,这里讲的TarjanTarjanTarjan指求强连通分量的TarjanTarjanTarjan算法,他以深度优先搜索的方式对图进行染色,进而求得强连通分量。算法思想在一个顶点数为nnn的图中,TarjanTarjanTarjan算法需要维护一个顶点栈和几个数组。stack Sstack
2021-12-08 16:56:02
886
2
原创 【C++】Floyd算法
算法简介FloydFloydFloyd算法是多源最短路径算法,即可以求任意两点的最短路径,它基于动态规划的思想,时间复杂度为O(n3)O(n^3)O(n3)。它的创始人罗伯特·弗洛伊德(Robert W.Floyd)(Robert\ W.Floyd)(Robert W.Floyd)将此算法命名为Floyd−WarshallFloyd-WarshallFloyd−Warshall算法,简称FloydFloydFloyd算法。罗伯特·弗洛伊德是1978年图灵奖得主,他同时还创立了堆排序算
2021-11-09 10:09:01
599
原创 【C++】Ford算法和SPFA算法
算法简介Bellman−FordBellman-FordBellman−Ford(以下简称FordFordFord)算法是一种单源最短路径算法,他由Richard BellmanRichard\ BellmanRichard Bellman和Lester FordLester\ FordLester Ford提出并因此得名,其中Richard BellmanRichard\ BellmanRichard Bellman是动态规划的提出中。Ford
2021-11-09 10:08:31
336
原创 【C++】Dijkstra算法
算法简介迪杰斯特拉(Dijkstra)算法是图论中的最短路算法,它可以实现求解特定起点到任一点的最短路径。对于顶点个数为nnn的图,如果需要求解每两个点之间的最短路径则需要跑nnn次迪杰斯特拉算法。迪杰斯特拉的时间复杂度为O(n2)O(n^2)O(n2),缺点是不适用于带负权边的图。算法思想迪杰斯特拉算法基于贪心的思想,不断地寻找中间结点www使得u→w→vu\to w\to vu→w→v的距离小于u→vu\to vu→v的距离,即用中间值更新结果。相似算法思想参考朴素迪杰斯特拉算法邻接矩阵法。朴
2021-11-09 10:08:00
8353
2
原创 【C++】树状数组
定义所谓树状数组,逻辑结构是一棵树,但是采用数组实现,他能解决单点修改区间查询类的问题,属于前缀和的一种优化。lowbit学习树状数组,首先要引入lowbit概念,所谓lowbit,指的是二进制数最低位的111的权值,比如二进制数110011001100的lowbit就是二进制表示就是100100100,也就是权值为22=42^2=422=4,下文中我们用lowbit(x)表示x的lowbit值。树状数组结构...
2021-11-02 10:13:50
1376
原创 【C++】数论
排列组合排列排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数)个不同的元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列,从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号A(n,m)A(n,m)A(n,m)或AnmA_n^mAnm表示。A(n,m)=n∗(n−1)∗(n−2)∗...∗(n−m+1)=n!(n−m)!A(n,m)=n* (n-1) * (n-2)* ... * (n-m+1)=\frac{n!
2021-10-24 21:52:29
1721
原创 【C++】简单图
存储方法以下图为例,分别用邻接矩阵和邻接表建图。#mermaid-svg-Ru4dOxZNLSBeuzlz .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Ru4dOxZNLSBeuzlz .label text{fill:#333}#mermaid-svg-Ru4dOxZNLSBeuzlz .node re
2021-10-19 10:33:32
355
原创 【C++】树与二叉树
二叉树二叉树:最多分两叉的有序树。#mermaid-svg-ONpOkFFpZAqPMzXW .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-ONpOkFFpZAqPMzXW .label text{fill:#333}#mermaid-svg-ONpOkFFpZAqPMzXW .node rect,#m
2021-10-18 22:55:02
251
原创 【C++】扩展格雷码生成算法
定义一组mmm进制的nnn位格雷码,是一组有序的、无重复的、mmm进制nnn位数。这组数中一共有mmm的nnn次方个数。相邻的(因有序,所以有相邻的概念)两个数之间有且只有一位是不同的。这组数的第一个和最后一个数,也被视为相邻的数。输入一行nnn和mmm,分别表示格雷码位数和进制,其中2≤n≤12,2≤m≤10,mn≤50000002\le n\le 12, 2\le m \le 10, m^n\le 50000002≤n≤12,2≤m≤10,mn≤5000000输出任意一种格雷码编码方案,每个编
2021-10-11 12:06:00
587
1
原创 【C++】二分算法
简介二分查找又叫折半查找,他是有序线性表的一种查找算法。算法思想假定升序排列,下标从000开始,二分查找函数如下,返回查找到的下标,查找失败返回−1-1−1。/*二分查找*/int bin_find(int *num,int len,int key){ int low,high,mid; low=0;//查找下界 high=len-1;//查找上界 while(low<=high){ mid=(low+high)/2;//折半 if(key<nu
2021-09-30 00:19:01
1942
原创 【C++】贪心算法入门
简介贪心算法又叫贪婪算法,对于局部最优解就是全局最优解的问题,可以按照局部最优解的决策层层递进获得全局最优解。例题01背包题目描述有nnn个物品,物品i的体积为v[i]v[i]v[i]。现有一个容量为CCC背包,请计算该背包能装载物品的最大数量。注意:每个物品要么全装入,要么不装入,不能只装一部分。输入格式第111行是nnn和CCC;接下来一行有nnn个整数,第iii个数表示物品的体积v[i]v[i]v[i]。输出格式输出一个整数,表示能装入的最大物品数量。样例输入6 101
2021-09-29 21:43:20
1621
3
原创 【C++】递推&动态规划基础入门
斐波那契递归式斐波那契函数long long fib(long long k){ if(k==1||k==2) return 1; return fib(k-1)+fib(k-2);}上述函数存在一定的问题,比如fib(n)=fib(n−1)+fib(n−2),fib(n−1)=fib(n−2)+fib(n−2)fib(n)=fib(n-1)+fib(n-2),fib(n-1)=fib(n-2)+fib(n-2)fib(n)=fib(n−1)+fib(n−2),fib(n−1)=fib(n−2
2021-09-29 20:12:33
756
原创 【C++】回溯算法基础入门
简介回溯算法基于深度优先搜索,实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。由于非递归式回溯算法较难实现,本文只介绍递归式回溯。回溯算法框架int a[n+1];//这里用下标1~nvoid DFS(int i){//搜索第i层 if(i>n){//搜索结束 //结果处理(输出结果,方案计数等) } for(int j=下界;j<=上界;j++){ if(限界函数&&约束条
2021-09-29 20:10:35
2148
原创 【C++】飞机大战
闲来没事做了个飞机大战的雏形主要用了Windows API控制界面刷新和隐藏光标。#include <stdio.h>#include <conio.h>#include <time.h>#include <Windows.h>int score=0,enemy_x=0,enemy_y=4,bullet_x=-1,bullet_y=0,my_x=8,my_y=2,step=1;int space_x=3,space_y=4;void gotox
2021-09-15 16:03:14
966
原创 【洛谷P3374 P3368】树状数组
提示本文只记录模板,不做详细解释P3374 树状数组1原题链接#include <iostream>#define lowbit(x) x&(-x)#define N 5*(int)1e5+1using namespace std;int n,m,num[N];long long tree[N];void add(int idx,int val){ while(idx<=n){ tree[idx]+=val; idx+=lowbit(idx); }
2021-08-20 13:26:35
108
原创 【C++】高斯消元算法
题目链接题目背景Gauss消元题目描述给定一个线性方程组,对其求解输入格式第一行,一个正整数 nnn第二至 n+1n+1n+1行,每行n+1n+1n+1个整数,为a1,a2⋯ana_1, a_2 \cdots a_na1,a2⋯an和bbb,代表一组方程。输出格式共nnn行,每行一个数,第iii行为xix_ixi(保留2位小数)如果不存在唯一解,在第一行输出"No Solution".输入输出样例输入 #131 3 4 51 4 7 39 3 2 2输出 #
2021-08-07 14:30:18
2084
原创 【洛谷P2054洗牌】AC代码(扩展欧几里得+二分快速幂+二分龟速乘)
题目描述题目链接为了表彰小联为Samuel星球的探险所做出的贡献,小联被邀请参加Samuel星球近距离载人探险活动。由于Samuel星球相当遥远,科学家们要在飞船中度过相当长的一段时间,小联提议用扑克牌打发长途旅行中的无聊时间。玩了几局之后,大家觉得单纯玩扑克牌对于像他们这样的高智商人才来说太简单了。有人提出了扑克牌的一种新的玩法。对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两叠,取下面一叠的第一张作为新的一叠的第一张,然后取上面一叠的第一张作为新的一叠的第二张,再取下
2021-08-07 04:29:21
269
1
原创 STL详解
STL简介编程的抽象发展:面向过程→\to→基于对象→\to→面向对象→\to→泛型STL(Standard Template Library)是C++标准库的一部分(80%),采用模板(Template)机制来表达泛型。STL容器bitset 位集(位运算)位运算基础(&、|、^、~、>>、<<)位运算概述从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共
2021-07-27 07:36:41
6480
原创 【回溯法】工作分配
题目描述有nnn项工作要分配给nnn个人完成,每个人只能从事一项工作,且每项工作只能由一人完成。已知第iii个人完成第jjj项工作的工费是c[i][j]c[i][j]c[i][j]元,那么怎么给每个人分配工作才能使得总工费最小。输入格式一个整数nnn,接下来的nnn行,每行一个100001000010000以内的正整数,其中第i+1i+1i+1行第jjj列的整数 ,表示第iii个人完成第jjj项工作时的工费。输出格式输出一个整数,表示最小的总工费。样例输入36 5 44 3 21 5 2
2021-07-13 13:11:23
744
原创 【LZOJ】逛街
【题目描述】 小H正在一个 N 行 M 列的街区上闲逛。大H在某个时刻看见小H在位置 (A,B)(即街区的第 A 行 B 列的路口),恰好 T 秒后,大H又在位置 (X,Y)与小H撞了正着。大H并不知道在这 T 秒内小H是否曾经到过 (X,Y),他能确定的是现在小H在那里。 设 P 为小H在 T 秒内从 (A,B) 走到(X,Y) 所能选择的
2021-06-26 23:05:17
228
原创 Synaptics FP Sensors(WBF)(PID=0011)无法录入Windows Hello问题记录
本方法适用机型:Vostro 14 5468Vostro 15 5568问题:重装Win10系统之后,标题所示指纹驱动正常安装,但Windows Hello提示找不到指纹识别器。解决办法:问题在于戴尔官方发布了该问题的修复补丁,但是Assistant Support上无法检测到此补丁更新,需要手动安装。地址为https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=5ygp8...
2021-06-05 14:28:20
3098
原创 【MASM】小作业
文章目录BYTE数组逆序存入DWORDWORD数组存入DWORD数组字符串逆序存储数组循环右移一位BYTE数组逆序存入DWORD.386.model flat,stdcall.stack 4096ExitProcess proto,dwExitCode:dwordINCLUDE Irvine32.inc.databigEndian BYTE 12h,34h,56h,78hlittleEndian DWORD ?.codemain proc ;dump bigEndian mo
2021-05-20 15:15:48
207
原创 开源、免费软件收录
软件目录@[toc](软件目录)ABBandZipC[Code Blocks](http://www.codeblocks.org/)DDev-C++EEdgeF[Fyde OS](https://fydeos.com)GGIMPHHbuilderXIInkSpaceJ[JetBrains ToolBox](https://www.jetbrains.com/zh-cn/toolbox-app)K[Kali Linux](https://www.kali.org)KritaLMMySQLNNmapnode.
2021-01-14 17:09:44
3644
4
mysql-connector-java-5.1.23-bin.zip
2019-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人