自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Linux编译PyTorch1.31.1+CUDA版

需要把Python解释器嵌入C++程序中使用,并且同时想要能够同时在C++代码和Python代码中使用Torch(所以不能仅使用libTorch),能通过pybind11在python和C++代码中传递tensor(at::Tensor和torch.Tensor)。最开始尝试将使用pip安装的cuda版pytorch下的torch/lib中的.so文件作为动态库参与链接,却发生了ABI不兼容的问题,查询一波资料后发现只能自行编译pytorch解决。折腾了很长时间才成功,这里面坑太过于多,遂记之。

2023-03-28 23:41:34 502

原创 计算机图形学&OpenGL系列教程(三) 基本的程序框架

(本文由作者转载自出处,转载请保留信息)概述  本次教程将本着够用原则,将对代码进行比较精细的讲解,利用glut与glew创建一个基本的能够运行的OpenGL程序框架,同时讲解一些相关概念。glut在第一次教程已经对glut做了简介,这里结合代码使用glut创建一个支持OpenGL渲染的窗口,并加入对键盘按键的处理函数,首先是头文件和库文件的引入:#include <windows...

2020-02-02 20:44:55 746 6

原创 计算机图形学&OpenGL系列教程(二) 图像、显卡与显示器

(本文由原作者转自出处,转载请保留信息)  在上一章中提到,计算机图形学主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。网上大多数教程都缺失对图像,以及渲染图像的显卡,显示图像的显示器的介绍,然而这些内容又是必要的,只有了解一定的这些内容的原理,才能正确使用OpenGL进行计算机图形学的学习。此外,本章的内容也对于学习数字图像处理,计算机视觉...

2020-02-02 20:29:39 2405 1

原创 计算机图形学&OpenGL系列教程(一) OpenGL环境的配置

(本文由原作者转自出处,转载请保留信息)前言   本教程为北京交通大学2020年春季学期计算机与信息技术学院开设的计算机图形学课程准备,使用OpenGL作为图形渲染引擎,并使用freeglut创建窗口,处理键盘,鼠标输入等。内容涵盖从OpenGL环境的配置一直到创建简单的带有光源的三维场景。计算机图形学这门课程相比于之前所学的专业课如web基础训练,计算思维导论等,入门门槛较高,需要一些高等数...

2020-02-02 20:10:46 3956 1

原创 狄利克雷卷积与莫比乌斯反演

(声明:同步个人博客 http://sxysxy.org/blogs/123 到 csdn)狄利克雷卷积:给出 元素为数论函数的集合G,与二元运算符 *,定义f * g 狄利克雷卷积:运算满足:交换律:结合律单位元逆元特别地,狄利克雷卷积的逆元:莫比乌斯反演:有数论函数f, g 其中μ是莫比乌斯函数:根据莫比乌斯函数的重要性质:显然:莫比乌斯函数的逆元因为把上面这个性质改写一下:根据定义即可得出

2017-03-12 17:54:17 3167 4

原创 [题解] USACO cow hopscotch(牛跳房子)

牛跳房子 题目大意:从网格左上角开始,每次只能转移到严格在当前格子右下方,上面的标记与当前格子不同的格子。求最后到达右下角的格子的方案数。反过来考虑如何转移到当前格子,那就是从严格在左上方,标记与当前格子不同的格子转移来。所以:一眼O((RC)^2)的递推即:#include <cstdio>#include <cstring>#include <cstdarg>#include <queue

2017-03-11 15:38:36 1436

原创 线性规划的单纯形法

(同步个人博客http://sxysxy.org/blogs/78 到csdn…可以到 https://github.com/sxysxy/math/tree/master/simplex 下载本文的markdown文件和代码等相关资料线性规划简介:线性规划(Linear Programming, LP),是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一

2016-12-13 14:50:49 13092

原创 一个简单图形界面框架XYGui的设计与实现 (五)

到这里,没有什么技术含量的东西差不多就说完了,剩下的就是更没有技术含量的体力活了。修改XYGui_ext.c里面的窗口过程,让窗口能够响应更多的交互事件:比如支持拖拽文件到窗口:case WM_DROPFILES: // Drop files into the window // wParam is HDrop (Win32) __tmpcptr1

2016-11-29 08:09:07 1118

原创 一个简单图形界面框架XYGui的设计与实现 (四)

给窗口更多功能窗口出来了,但是什么实用功能都不能做的话,那也就太无趣了,我们想扩展出来更多的功能,比如与用户互动之类的。事件机制与请求机制XYGui提供一套事件机制和请求机制。先说说事件机制:在发生比如鼠标按下,窗口被拖拽入文件等,在窗口过程里面是可以截取到这些事件的,但是如何让XYGui库的用户自定义处理这些事件的方法呢?常用的套路是借助oop+重载,我们约定一下比如发生鼠标按下时,调用onBut

2016-11-29 07:52:09 2485

原创 一个简单图形界面框架XYGui的设计与实现 (三)

回顾上节解决了只用ruby语言制作窗口过程的问题。只用ruby语言的话,可以用局部变量_self = self,然后在Fiddle::Closure的匿名子类里面的call方法,借助_self变量访问ruby世界的”窗口对象”。但是用C语言的话,怎么办呢?CreateWindowEx这个函数最后一个参数,lpParam。一般我们都把它设为0,也就是无用。但是现在他就要派上用场了。这个参数可以传递一个

2016-11-29 07:07:02 999

原创 从ruby到x86机器语言

(同步个人博客 http://sxysxy.org/blogs/69 到csdn    在最开始之前,我要特别感谢 兰兰姐姐 在相关技术上给予我的指导。也正是在兰兰姐姐的帮助下,我才能较为顺利地进行 XYGui 的开发。准备在这里我假定泥大概看过ruby的源码,知道怎么写ruby的c扩展,略懂一些汇编语言与操作系统相关的原理。请安装devkit for ruby(on windows)随便写个

2016-11-28 21:49:47 886

原创 [综合] 一个简单图形界面框架XYGui的设计与实现 (二)

封装!上一节最后用了30多行ruby代码做了一个窗口出来,看起来很是麻烦,如何像XYGui里面一样,一行就能创建那样的窗口呢?实际上这里面是有很深的套路的,本节开始,讲述XYGui对创建窗口的封装先解决一些技术上的问题:已编译成的机器语言与ruby语言互相调用没错,你没有看错,机器语言调用ruby语言!高版本的ruby(准确来说是ruby2.0之后)标准库里面就有了一个叫做Fiddle的东西,这个东

2016-11-28 21:46:59 726

原创 一个简单图形界面框架XYGui的设计与实现 (一)

前传和dram神犇做了个交♂易,我来发布一些关于制作一个Gui库的教程。借用林则徐的两句名言来描述我现在的心情:(这里省略14个字)简介这里我以半年多前我开坑的 XYGui 为讲解的对象。XYGui是一个几乎完全使用ruby语言开发的,简洁快速的,支持opengl等高级功能的Gui框架,是我学OI颓废之时抽空制作的….你需要准备:windows系统,ruby 2.x(32位),devkit for

2016-11-26 22:03:29 1080

原创 OI 字符串 常用哈希方法

(同步个人博客 http://sxysxy.org/blogs/44 到csdn下面这个方法来自 算法竞赛入门经典-训练指南方法对于一个字符串s,令h[i] = h[i+1]*x + s[i] ,其中x是你自选的一个常数。令xp[i] = xp[i-1]*x这样之后定义s的起点为下标i,长度为len的子串的哈希值为 h[i] - h[i+len]*xp[len] 。这个值与子串的位置,子串的内容,

2016-10-08 20:48:19 2980

原创 后缀自动机 转变为 后缀数组

(同步个人博客 http://sxysxy.org/blogs/41 到csdn)如题 为什么会有这样的需求?像我这只会写后缀自动机的选手遇到LCP相关的问题就一脸无奈,而用后缀数组可以解决这样的问题。而且,不管怎么讲,还是后缀自动机时间复杂度低啊!要是能用后缀自动机弄出来后缀数组那就非常妙了(好,常数这个东西啊...qaq)后缀自动机 代码简单,易于理解,在线,跑得快。后缀自动机 -> 后缀排序

2016-10-05 10:19:42 2208

原创 树上最远点对的线性时间算法

(同步个人博客 http://sxysxy.org/blogs/40 到csdn树上最远点对,就是给一棵树,对于树上所有点对(u, v) 中dist(u, v)的最大值。在hihoCoder上看到了一个很妙的算法 http://hihocoder.com/problemset/problem/1050首先我们可以很明显想到这样一个方法:对于一个节点来说,如果把它看作是整棵树的树根,从树根向下走两条不

2016-10-02 00:35:06 1229

原创 最小路径覆盖

(同步个人博客 http://sxysxy.org/blogs/39 到csdn最小路径覆盖是这样的问题:给一个有向无环图,使用最少的路径,不重不漏地覆盖图上所有点。省队集训的时候观神犇的ppt了解到这样一个定理:最小路径覆盖 = 节点数N - 最大匹配。最大匹配是把一个节点拆成两个分属两个集合A,B,对于原图中一条边(u,v)则连接A中u和B中v,最后得到的最大匹配。But why? 0。0 当

2016-10-01 21:45:52 324

原创 NOIP2013提高组Day1 解题报告

(同步个人博客 http://sxysxy.org/blogs/37 到csdn)总的来说NOIP2013Day1的这三道题,感觉总的来说还是并不难,并且也比较符合套路。T1是良心的一眼送分题,T2是比较需要思考,代码写起来比较简单的但建立模型需要好好思考的偏重算法思维的题目,T3是比较注重代码能力,代码量稍大(还是只是因为我人傻写得多?)的题目。T1转圈游戏http://cojs.tk/cogs/

2016-09-22 15:12:39 1831

原创 NOI2015 软件包管理器 题解

(同步个人博客 http://sxysxy.org/blogs/36 到csdn)题目: http://www.lydsy.com/JudgeOnline/problem.php?id=4196 or http://cojs.tk/cogs/problem/problem.php?pid=2019描述较为复杂,这里不再复述。显然依赖关系构成一棵树。对于安装软件x操作,需要安装x到根上所有未安装的软件

2016-09-18 21:15:51 384

原创 SCOI2006 整数划分

(同步个人博客 http://sxysxy.org/blogs/34 到csdn题目 http://www.lydsy.com/JudgeOnline/problem.php?id=1263大意是,将n划分成n = a1+a2+…..使得划分出来的a1,a2……乘积最大一眼感觉是数学题。但是最后还是百度了一波才了解,要尽量划分出3,如果不能划分出3那就划分出2。为什么呢?问了问学长(%%神犇Fmuc

2016-09-15 11:06:13 405

原创 BZOJ1977 (严格)次小生成树

(同步个人博客 http://sxysxy.org/blogs/30 到 csdn)题目见http://www.lydsy.com/JudgeOnline/problem.php?id=1977 权限题不过还可以在http://cojs.tk/cogs/problem/problem.php?pid=2453 提交求一张无向图的严格次小生成树,严格次小就是权值之和严格小于最小生成树。首先构造最小生成

2016-09-09 17:00:36 619

原创 空间优化的字典树

(同步个人博客 http://sxysxy.org/blogs/29 到csdn)字典树空间优化如果字典树要储存的字符串的字符集比较大,(比如全部的字符),甚至可能有多字节字符。这是我们给每个节点256个子节点吗? 用平衡树(或map <char, int>)牺牲时间来换取空间吗?不,可以进行这样的优化: 我们考虑把一个8位的char,拆开变成2个4位的数据,依次加入字典树。显然4位最大值也只是2^

2016-09-08 18:40:16 3064 1

原创 用c语言写一个网络爬虫

写一个网络爬虫写一个网络爬虫,来获取一个网站上感兴趣的信息。最基本的模型就是图。每个页面看作一个节点,若页面A有到达页面B的链接,则添加一条由A到B的单向边。爬虫要遍历这张图。遍历这张图广度优先搜索即可。 不推荐用深度优先搜索(容易陷入单个分支而难以搜索到更广泛全面的信息) (如果不明白,请自行查询图论相关资料)(以上noip普及组难度)但是细节(重点)1 这不是OI题目,不会把节点以编

2016-09-08 18:19:40 23976

原创 NOIP2015运输计划 题解

(同步个人博客 http://sxysxy.org/blogs/27 到csdn)noip2015运输计划,可以在 http://syzoj.com/problem/91提交大意是一棵n个节点的树上要完成m个从a到b任务,经过树上每条边都要花费一定时间。可以把树上其中一条边通过所需时间改为0,问完成m个任务中花费的时间最大值 的最小值是多少。(注意好断句…((见到树就想剖一剖这是病得治啊首先考虑如何

2016-09-02 21:41:03 477

原创 后缀排序 后缀自动机的应用

同步个人博客 http://sxysxy.org/blogs/23 到csdn)给一字符串的所有后缀排个序输出,字符串长度 <= 100000排序要求字典序小的在前面,在满足这个条件的情况下,短的后缀放到前面例如ababa的后缀排序结果是[a, aba, ababa, ba, baba]。暴力做法很容易想到,枚举出字符串s的总共length(s)个后缀,sort一下,然而time limit ex

2016-08-31 13:57:34 2081 2

原创 第k短路 A*启发式搜索解决

(同步个人博客 http://sxysxy.org/blogs/19 到csdn)给一张图,求两点间第k短的路径的长度。查了相关资料,这个竟然可以用启发式搜索来解决!其实是,在启发式搜索时,同时记录目标点t入队(意味着走到了t)多少次(被”启发”了多少次)。第一次启发到t是第1短路,第二次是第2短…..第k次就是第k短路。通过这个题,我涨了姿势:启发式搜索还能这样用!!搜索中,距离目标点t的估价可以

2016-08-25 21:26:31 502

原创 树链剖分 ZJOI2008 树的统计 Count

(同步个人博客http://sxysxy.org/blogs/3 到csdn)题目大意:有一棵有N个节点,N-1条边的树,每个节点都有一个权值w。现在要求支持以下操作: CHANGE u t 把节点u的权值修改为t,QMAX u v 询问从节点u到v路径上权值最大的节点,QSUM询问从节点u到节点v上所有节点的权值之和。(N <= 3W ,修改/询问次数 <= 20W)LCT并不会写orz,于是树链

2016-08-19 14:39:47 387

原创 多项式乘法运算 NTT(数论变换)实现

(同步个人博客 http://sxysxy.org/blogs/16 到csdn)多项式乘法 http://uoj.ac/problem/34之前用FFT交了一个无限WA,怀疑是精度有问题然后就转向NTT。关于FFT和NTT力荐这两篇吼文章,讲得太吼了!http://blog.csdn.net/acdreamers/article/details/39026505 http://blog.mis

2016-08-19 14:34:11 2772

原创 JSOI2007 祖码Zuma

(同步个人博客 http://sxysxy.org/blogs/7 到csdn)原题目见 http://www.lydsy.com/JudgeOnline/problem.php?id=1032区间DP,我第一看见这题,好像是去年的时候了。。。。当时觉得超级高大上啊。。。首先预处理出各个连续的颜色出现的位置和数量,可以表示成 (颜色,长度) 的形式,例如颜色 1 1 2 1

2016-08-19 14:24:51 321

原创 莫比乌斯反演 讲解

(同步个人博客 http://sxysxy.org/blogs/10) 懵逼乌斯反演?反正WC2016上我是听得一脸懵逼的,也就是学会了这个名词的认读与拼写。->, ->(雾) 这个东西可以用来简化一些运算,对于定义在两个正整数集合上的两个函数f(x)与g(x),满足 ,根据这个式子,我们可以发现  当我们想要计算g(x)的时候,如果直接计算g(x)难以计算(太慢太慢太慢TLE TLE TLE

2016-08-19 14:22:42 7187 3

原创 BZOJ1901 动态排名 线段树套平衡树

(同步个人博客 http://sxysxy.org/blogs/14 到csdn)动态区间第k小,http://www.lydsy.com/JudgeOnline/problem.php?id=1901 (权限题所以大致描述下题面:初始有一个长度有n得序列a1,a2…an,要求支持查询序列下标区间l, r内第k小的数,支持修改序列内某个数。序列长度n <= 10000(这里我用来练习线段树套平衡树,

2016-08-19 14:18:12 414

原创 生成函数(母函数)的简单应用

同步个人博客 http://sxysxy.org/blogs/15 到csdn Simple一个简单的问题,给定一个数k,从集合A中选一个数a,集合B中选一个数b,使得a+b = k的方案数有多少?扫描A的所有元素a然后在B里面找k-a --> 哈希/平衡树/stl大fa好!!!3个集合A,B,C呢?n个集合呢?复杂度蹭蹭蹭地就不知道高到哪里去了。(假设每个集合里面的数约为k个,可以试着计算n个集

2016-08-19 14:15:37 502

原创 A*搜索四方向寻路 C++代码实现

眼馋A*算法很久了,可是很久却还不能入门。昨天终于狠下心来,花一天使劲折腾它,终于写出了A*搜索,(我写的是自动寻路系统,很多网游里面用的那种)。我也在网上搜了很久。但一直没有找到c++的实现,于是就自己造了这个轮子。下面是几张运行的截图:关于A*算法的理论原理,网上已经有很多文章介绍了,而我只是初学,理论不是特别清晰,所以也不在此献丑了。仅在此贴上代码

2016-02-16 08:45:30 3541 2

空空如也

空空如也

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

TA关注的人

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