自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 问答 (1)
  • 收藏
  • 关注

原创 《数论概论》

设 m 与 n 是整数,gcd(m, n) = 1,b 与 c 是任意整数,则同余式组 x ≡ b (mod m) 与 x ≡ c (mod n) 恰有一个解 0

2022-10-20 16:47:01 526 1

原创 2022下半年一些有趣(bushi)的题目记录

ACM题目

2022-07-11 20:56:03 191

原创 一些因吹斯汀的题目记录

组合数学——隔板法离散化 + 树状数组组合数学——隔板法题:https://ac.nowcoder.com/acm/contest/30184/L题意:给出每个数在 1~1000 之间的单调不增序列,其中有一些数字丢失了,找出有多少方案满足该序列要求,答案对1000000007取模。#include <iostream>#include <cstdio>#include <queue>#include <deque> #include &lt.

2022-03-22 02:06:14 677

转载 珂朵莉树ODT(基于std::set的暴力玄学数据结构)

使一整段区间内的东西变得一样,数据随机。在具有区间赋值操作,区间统计操作,以及最好保证数据随机的情况下在时空复杂度上把线段树吊起来打。珂朵莉树的各种操作的总体复杂度始终为O(NlogN),这会吊打某些常数大、附加工作会影响总体复杂度的线段树算法。typedef bool type;struct Node //每个结点代表一个闭区间{ unsigned int l; unsigned int r; mutable type data; //当前区间统一的类型和数值,data需要mutable

2022-03-14 08:59:36 215

原创 关于做算法题中比较粗心的一些点记录。

看错题(某道题输入看错了wa了一晚上我也是吐了orz)多个测试数据忘记初始化(这个错也是很经典了hhhh)遍历匹配子串的时候算错了,最后一个字母没遍历就break了(憨批.jpg)

2022-03-08 20:31:47 82

原创 基于深度学习的聊天机器人

梯度下降法Epochbatchasizeiterations参数和超参数Seq2Seq模型梯度下降法学习率:步长越大则学习率越高误差函数不断减小。如果训练数据过多,无法一次性将所有数据送入计算。故将数据分成几个部分:batch,分多个batch,逐一送入计算训练。Epoch一个 epoch(回合) 表示:将全部数据送入神经网络模型中,完成了一次 前向计算 + 反向传播 的(完整训练)过程。由于一个 epoch 通常太大,所有会分成几个小的 baches。将所有数据迭代训练一次是不够的,需.

2022-03-06 10:06:56 704

原创 机器学习QAQ

决策树ID3算法C4.5算法决策树监督学习。描述对数据进行分类的树形模型,可以是二叉树或非二叉树。内部结点(绿)表示一个特征或属性,叶子结点(橘)表示一个结果类。能用来做回归(叶子结点值指代输出值)、分类常见决策树算法:ID3,C4.5,C5.0,CART(分类效果一般优于其他决策树)ID3算法根据信息增益(熵减)来选择进行划分的特征,然后递归地构建决策树。适用于离散型数据。信息量:对信息的度量。越小概率的事情发生产生的信息量越大,越大概率的事情发生产生的信息量越小。一个具体事件.

2022-03-04 01:47:46 912

原创 树状数组ya

lowbit() 运算:非负整数 x 在二进制表示下最低位1及其后面的0构成的数值。ex:lowbit([12]10[12]_{10}[12]10​) = lowbit([1100]2[1100]_2[1100]2​) = [100]2[100]_2[100]2​ = [4]10[4]_{10}[4]10​int lowbit(int x){ return x & -x;}树状数组的本质思想是使用树结构维护”前缀和”,从而把时间复杂度降为O(logn)。每个结点t[x]保存

2022-02-20 21:54:25 262

原创 博弈论(Game Theory)

公平组合游戏ICG有向图游戏(博弈图)尼姆博弈 Nim Game巴什博弈 Bash Game威佐夫博弈 Wythoff Game斐波那契博弈 Fibonacci GameSG函数 Sprague - Grundy公平组合游戏ICG两名玩家交替行动游戏进程任意时刻,可执行的合法行动与轮到哪位玩家无关游戏中同一个状态不能多次抵达,游戏以玩家无法行动为结束,且定会在有限步后以非平局结束有向图游戏(博弈图)给定一个有向无环图,有唯一的起点,其上放有一枚棋子,两名玩家交替使棋子沿有向边移动,每次一步.

2022-02-13 07:34:19 639

原创 弗洛伊德(Floyd)算法

弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径迪杰斯特拉算法用于计算图中某一个顶点到其他顶点的最短路径。迪杰斯特拉算法可以计算指定起点到所有结点的最短路径长度,因此分别对每个结点使用一次迪杰斯特拉算法即可求的任意两结点间的最短路径。迪杰斯特拉算法的时间复杂度为O(n2),因此采用这种方法的时间复杂度为O(n3)。但是,迪杰斯特拉算法不允许权值为负数,因此需要使用弗洛伊德算法。弗洛伊德算法允许权值为负数的边,但不允许回路的路径长度为负数。因为,若回路长度为负数,那么走一次回路,路径长度一定比

2022-02-12 09:19:34 793

原创 高斯消元法(Gauss Elimination)

是线性代数中的一个算法。可用来求解线性方程组,可以求出矩阵的秩和可逆方阵的逆矩阵。通过逐步消除未知数来将原始线性系统转化为另一个更简单的等价系统。原理:用初等行变换将增广矩阵转换为行阶梯矩阵,然后回代求出方程解。顺序消去法:将 Ax = b 按照从上至下、从左至右的顺序化为上三角方程组,中间过程不对矩阵进行交换。过程:局限:每次运算时,必须保证对角线上的元素不为0(即运算中的分母不为0),否则算法无法继续进行。即使不为0,但如果绝对值很小,由于第k次运算中在分母位置,因此除数会引起很大

2022-02-04 23:09:50 3559

原创 舞蹈链(Dancing Links)算法 —— 求精确覆盖问题

精确覆盖问题:给定一个由0、1组成的矩阵,是否能找到一个行的集合,使得集合中每一列恰好包含一个1。这类问题就是经典的精确覆盖问题,没有多项式算法,属于NP完全问题。回溯穷举:选择第一行(红色),同一列中有1会与之冲突的元素用蓝色标识出来。从列看下去,同样有1的使用蓝色标识的这些行不能选择,用绿色标识。选择了第一行红色后,蓝色与绿色不予考虑,那么将红色记录,将红蓝绿删除后,问题简化。继续用同样的方式求解这个小规模矩阵。再次缩小问题规模,删除完后剩下的矩阵变成了空矩阵。

2022-01-30 00:19:05 1860

原创 字典(Trie)树

前缀树是关于“字典”的一棵树。即:它是对于字典的一种存储方式。这个词典中的每个“单词”就是从根节点出发一直到某一个目标节点的路径,路径中每条边的字母连起来就是一个单词。上图到橙色节点(目标节点)所组成的单词分别为:a、abc、bac、bbc、ca功能:维护字符串集合(即字典)向字符串集合中插入字符串(即建树)查询字符串集合中是否有某个字符串统计字符串在集合中出现的个数将字符串集合按字典序排序求集合内两个字符串的LCP(Longest Common Prefix 最长公共前缀)结

2022-01-23 19:07:19 251

原创 Bellman-Ford算法&&SPFA算法(单源最短路径)

Bellman-Ford算法SPFA(Shortest Path Faster Algorithm)算法Bellman-Ford算法贝尔曼-福特算法是求解单源最短路径问题的一种算法。原理是对图进行V-1次松弛操作,得到所有可能的最短路径。其优于Dijkstra算法的方面是支持负权边、实现简单,缺点是时间复杂度过高,高达O(VE)。V为顶点的个数,E为边的个数。实现方式是通过m次迭代求出从源点到终点不超过m条边构成的最短路的路径。一般情况下要求途中不存在负环。但是在边数有限制的情况下允许存在负.

2022-01-20 23:12:25 245

原创 Flood Fill(泛洪填充)

Flood Fill(泛洪填充):从一个起始节点开始,把附近与其连通的节点提取出或填充成不同颜色,直到封闭区域内的所有节点都被处理过为止。是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典算法。可以抽象成一个二维矩阵(图片其实就是像素点矩阵),然后从某个点开始向四周扩展,直到无法再扩展为止。即求连通块问题的算法。具体实现采用BFS或DFS。BFS求解:可以求出最短路或者判断两者是否连通,不存在爆栈的风险,但空间相对用的多一些而且代码相对来说繁琐一些。DFS求解:DF

2022-01-18 00:04:20 434

原创 DP(动态规划)问题

状压DP状压DP引入:经典旅行商(TSP)问题。用一个数的二进制表示一个集合:有结点V = {0, 1, 2, 3, 4, 5}26(10) = 011010(2)表示经过结点V1 = {1, 3, 4}状态表示:转移方程:(标号从0开始)如果标号从1开始,则改为S|(1<<(j-1)),不然会浪费一位二进制位。G[i][j]是从i到j的权值初始状态:dp[i][1<<i] = 0;(没有限制从哪个点出发,且初始权值点为0)子集枚举:.

2022-01-10 18:48:43 311 1

原创 寒假练习题

https://ac.nowcoder.com/acm/problem/14595

2022-01-06 20:28:38 92

原创 unity实现mmd功能(跳舞)

将pmx模型转化为fbx模型Unity支持从两种不同类型的文件导入网格和动画:导出的3D文件格式,如.fbx或.obj。专有的3D或DCC(数字内容创作)应用程序文件,例如来自AutocdeskoB3ds Maxk@或Blender的.max和.blend文件格式。只能在创建专有文件的软件中编辑这些文件。专有文件通常无法在未经转换和导入的情况下直接由其他软件编辑。导出的3D格式Unity可读取.fbx、.dae(Collada)、.3ds、.dxf和.obj文件。将pmx模型转化为fbx模.

2021-12-18 23:41:32 6071 1

原创 《逐梦旅程——windows游戏编程之从零开始》笔记

游戏开发面面观游戏产业的分类——六大游戏市场游戏类型游戏开发面面观游戏产业的分类——六大游戏市场AAA级游戏开发领域AAA级(游戏业界通常称其为“Triple-A”,即 3A)游戏是我们经常在评价一款游戏是否为大作的衡量标准,是游戏业界“酷”的代名词。通常指的是游戏平台像XBOX360/Play Station或者 PC上的游戏作品。通常团队规模50人以上,开发周期在2~5年之间,有着不菲的开发预算。是成熟的商业作品,通常都有着精美的画质,好莱坞电影风格的过场CG动画,能将艺术与技术进行.

2021-12-13 19:30:15 7651 1

原创 BFS/DFS实现狼羊白菜农夫过河问题

#include<iostream>#include<ctime>#include<cstdlib>#include<cmath>#include<queue>#include<set>#include<memory.h>#include<algorithm>using namespace std;typedef long long ll;typedef int ElemType;str

2021-12-11 22:52:06 639

原创 归并排序.

#include<iostream>#include<cstdlib>#include<algorithm>#include<cmath>#include<ctime>using namespace std;typedef long long ll;typedef double ElemType;const int N = 1e5 + 5;ElemType ta[N];int n;//归并排序,速度仅次于快排,O(nlog

2021-12-11 22:50:42 586

原创 《Unity3D人工智能编程精粹》笔记

Unity3D人工智能架构模型游戏AI的架构模型Unity3D人工智能架构模型感知:是AI角色与游戏世界的接口,负责在游戏运行过程中不断感知周围环境,读取游戏状态和数据,为思考和决策收集信息。(for example:是否有敌人接近等。)思考:利用感知的结果选择行为,在多种可能性之间切换。(such as:战斗还是逃跑?躲到哪里?)一般来说,这是决策系统的任务,有时也可能简单地与感知合二为一。行动:发出命令、更新状态、寻路、播放声音动画,也包括生命值减少等。这是运动系统、动画系统和物理系统的任.

2021-12-11 20:57:39 4000

转载 A*(Star)算法

初始化open_set和close_set;将起点加入open_set中,并设置优先级为0(优先级最高);如果open_set不为空,则从open_set中选取优先级最高的节点n:如果节点n为终点,则:从终点开始逐步追踪parent节点,一直达到起点;返回找到的结果路径,算法结束;如果节点n不是终点,则:将节点n从open_set中删除,并加入close_set中;遍历节点n所有的邻近节点:如果邻近节点m在close_set中,则:跳过,选取下一个邻近节点如果邻近...

2021-12-09 23:32:39 119

原创 __int128

在很多题目里面要求高精度,但是这种高精度又不是那种非常大的,可能比unsigned longlong大,所以这个时候去写高精度模板非常不划算,用__int128代替就非常不错;但是__int128对cin,cout,print,scanf都不支持,要另写输入输出;inline __int128 read(){//输入模板 __int128 x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch

2021-12-03 01:45:00 708

原创 KMP(Knuth-Morris-Pratt)字符串查找算法 && BM(Boyer-Moore)算法 && Sunday算法

KMP算法步骤KMP完整代码模板BM算法原理BM算法代码实现坏字符好后缀完整代码Sunday算法原理代码模板KMP算法KMP的匹配是从模式串的开头开始匹配的步骤①寻找前缀后缀最长公共元素长度如果给定的模式串是:“ABCDABD”,从左至右遍历整个模式串,其各个子串的前缀后缀分别如下表格所示:②求next数组找最大对称长度的前缀后缀,然后整体右移一位,初值赋为-1(当然,你也可以直接计算某个字符对应的next值,就是看这个字符之前的字符串中有多大长度的相同前缀后缀)。③根据next数.

2021-12-03 01:24:44 295

原创 二叉树qwq

#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;#define OK 1#define TRUE 1#define ERROR 0#define FALSE 0#define OVERFLOW -1typedef int Status;typedef char TElemType;typedef struct BitNode{ TElemTyp

2021-11-18 15:26:34 298

原创 大数模拟(高精度加减乘除)

大数(高精度)加减#include<iostream>#include<string>#include<vector>using namespace std;vector<int> A, B, C;void init(){ string a, b; cin >> a >> b; for (int i = a.size() - 1; i >= 0; --i) A.push_b

2021-11-15 07:05:22 734

原创 多维数组qwq

#include<stdio.h>#include<stdarg.h> //变长参数#include<stdlib.h>#define MAX_ARRAY_DIM 8#define ERROR 0#define UNDERFLOW -1#define OVERFLOW -2#define OK 1typedef int ElemType;typedef int Status;typedef struct { ElemType *base; /

2021-11-04 15:48:12 73

原创 省赛练习题

Maximal submatrixGiven a matrix of n rows and m columns,find the largest area submatrix which is non decreasing on each columnInputThe first line contains an integer T(1≤T≤10)representing the number of test cases.For each test case, the first line cont

2021-09-25 18:34:28 94

原创 立方差推导

1^3 + 2^3 + 3^3+……+ n^3= [n(n+1)/2]^2证明:(n+1)^4 - n^4 = [(n+1)^2 + n^2 ] [(n+1)^2 - n^2]=(2n^2 + 2n + 1)(2n + 1)=4n^3 + 6n^2 + 4n + 12^4 - 1^4 = 4 * 1^3 + 6 * 1^2 + 4 * 1 + 13^4 - 2^4 = 4* 2^3 + 6 * 2^2 + 4 * 2 + 14^4 - 3^4 = 4 * 3^3 + 6 * 3^2 + 4

2021-09-07 19:17:17 251

原创 计算几何——最小圆覆盖

Weird Flecks, But OK题目描述An artist who wanted to create an installation where his works appeared to be floating in midair has cast a large cube of clear acrylic to serve as a base. Unfortunately, during the casting, some small flecks of dirt got into the

2021-08-21 03:34:19 517

原创 计算几何——凸包//极角排序//旋转卡壳

凸包卷包裹法极角排序存储排序方法atan2()函数叉积象限凸包假设平面上有p0~p12共13个点,过某些点作一个多边形,使这个多边形能把所有点都“包”起来。当这个多边形是凸多边形的时候,我们就叫它“凸包”。卷包裹法先找一个最边缘的点(一般位于最下方,如果有多个点,则选择最左方的点),假设有一条绳子,以该点为端点向右边逆时针旋转直到碰到另一个点为止,此时找出凸包的一条边;然后再用新找到的点作为端点,继续旋转绳子,找到下一个端点;重复这一步骤直至围成一个凸多边形,即可得到这个点集的凸包。时间.

2021-08-03 19:56:15 521

转载 最小生成树

Kruskal算法连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边,则必定.

2021-08-02 21:07:26 134

原创 Benelux Algorithm Programming Contest 2020(牛客网) 补题

B - Balanced BreakdownB - Balanced BreakdownFor communication through space between earth and satellites, one cannot simply transmit a message in the same way as cellular communication like 4G. Because of the extremely long distance a signal travels, th.

2021-08-02 17:14:32 124

原创 拓扑排序!

HDU - 2647 RewardDandelion’s uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewards.The workers will compare their rewards ,and some one m.

2021-07-31 16:24:33 88

转载 普通并查集

并查集的重要思想在于,用集合中的一个元素代表集合。这是一个树状的结构,要寻找集合的代表元素,只需要一层一层往上访问父节点(图中箭头所指的圆),直达树的根节点(图中橙色的圆)即可。根节点的父节点是它自己。初始化假如有编号为1, 2, 3, …, n的n个元素,我们用一个数组fa[]来存储每个元素的父节点(因为每个元素有且只有一个父节点,所以这是可行的)。一开始,我们先将它们的父节点设为自己。int fa[MAXN];inline void init(int n){ for (int i

2021-07-30 10:40:22 76

转载 计算几何基础+判断线段相交

快速排斥实验假设以线段P1,P2为对角线作一矩形R,再以Q1,Q2为对角线作矩形T,当两个矩形不相交的时候两条线段肯定不相交,即线段相交的必要条件时矩形相交。P1坐标为(p1x,p1y),P2坐标为(p2x,p2y),Q1的坐标为(q1x,q1y),Q2的坐标为(q2x,q2y)。那矩形相交的条件就是:min(p1x,p2x) <= max(q1x,q2x) &&min(q1x,q2x) <= max(p1x,p2x) &&min(p1y,p2...

2021-07-28 09:18:30 2542

原创 尺取算法!

尺取法顾名思义,像尺子一样取一段。通过左右端点的伸缩来解题。A - Jessica’s Reading Problem题Jessica’s a very lovely girl wooed by lots of boys. Recently she has a problem. The final exam is coming, yet she has spent little time on it. If she wants to pass it, she has to master all .

2021-07-16 21:13:05 252 1

原创 归并排序!

归并排序:是创建在归并操作上的一种有效的排序算法。是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。题:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。

2021-07-16 09:54:31 90

原创 B. Pleasant Pairs

You are given an array a1,a2,…,an consisting of n distinct integers. Count the number of pairs of indices (i,j) such that i<j and ai⋅aj=i+j.InputThe first line contains one integer t (1≤t≤10^4) — the number of test cases. Then t cases follow.The firs

2021-06-28 13:29:00 664 4

空空如也

空空如也

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

TA关注的人

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