自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GAMES101学习笔记 Part1 图形学中的线性代数

Part1 图形学中的线性代数Day1 向量与矩阵向量向量的点乘计算公式:a⃗⋅b⃗=∣a⃗∣∣b⃗∣cosθ \vec{a} \cdot \vec{b} = |\vec a||\vec b|cosθa⋅b=∣a∣∣b∣cosθa⃗⋅b⃗=(xaya)⋅(xbyb)={xaya}⋅{xbyb}=xaxb+yayb\vec{a} · \vec{b} = \begin{pmatrix}x_a\\y_a\end{pmatrix} · \begin{pmatrix} x_b\\y_b \end{pmat

2022-05-03 14:38:26 314

原创 计算机网络学习笔记

写在读前:配套使用《计算机网络自顶向下法》与中国大学MOOC平台哈工大微课《计算机网络》。文中图片侵删,转载需笔者口头同意。更新日志:2022.1.22 计网概述、传输层、应用层;1. 计网概述1. 通信系统模型信源->发送设备->信道(易被噪声源干扰)->接收设备->信宿。2. 计算机网络的定义计算机网络是一个互连的、自治的计算机集合。3. 交换网络(ISP)由交换节点(路由器或交换机)构成的网。4. Internet的定义组成角度:全球最大的计算机集合

2022-01-22 21:04:32 8254

原创 题解 P3299 保护出题人 (斜率转化凸包+三分)

题目源自洛谷;题目大意:模拟植物大战僵尸的一排,可以理解成豌豆射手对第一个僵尸发射激光,造成持续伤害并且第一个僵尸死后第二个僵尸立马收到伤害。然后不同的是,有n个回合,每回合在僵尸队列前端会添加一个僵尸,之后的僵尸会往后移动d个距离,n个回合单独计算。求n个回合杀死所有僵尸的最小攻击力(hp/s)。题目讲解:首先模拟一下样例,贪心的求:在第i个回合,能杀死前j个僵尸的攻击力,取最大值;数学表达就是max(sumi−sumj−1xi+(i−j)∗d)max(\frac{sum_i-sum_{j-1}

2021-10-21 20:40:33 347 3

原创 题解 P2638 安全系统 (dp递推/组合计数)

题目源自洛谷;题目大意:原版题目太阴间了,直接把人误导+过样例,然后一交全wa掉。。。。n个箱子,a个百球,b个黑球,求装箱方案数,重点是球可以有剩余不装的,箱子可以是空的。解题思路:<1. 递推状态表示:f(i,j,k)表示前i个箱子装j个白球,k个黑球的方案数。状态转移:不同状态之间的联系就是后面的状态比前面的状态多了cnt1个白球,cnt2个黑球,所以转移时我们要枚举i,j,k,cnt1,cnt2五个变量(捂脸qaq)。上一份用了高精的代码:#include <bits

2021-09-09 22:16:35 333

原创 题解 P2575 高手过招 (二进制压缩+记忆化sg/模型转换阶梯nim)

题目源自洛谷;题目大意:n*20的棋盘,每行有若干个棋子。对于一个棋子,能将它向右移动一格,如果右边有棋子,则向右跳到第一个空格,如果右边没有空格,则不能移动这个棋子,如果所有棋子都不能移动,那么将输掉这场比赛。解题思路:思路1:暴力sg根据题意可知每行进行操作都是独立的,所以整个游戏又可分为n个子游戏,这是sg定理的第一步。下一步考虑每个子游戏的状态。可知当棋子紧邻着排在左边的时候为必败态,而其他状态的后继可以通过枚举每个棋子向右走一步得到。这样通过sg解题就差最后一步如何表示状态了,

2021-08-06 22:13:14 247

原创 题解 计算几何刷题记录

题单源自洛谷:16408 计算几何 - 从入门到跳楼:入门:P1652 圆:题意:给n个不相交的圆,求从Point1到Point2一条曲线最少穿越多少个圆。思路:n个圆都不相交,且连接两点的曲线可以任意弯曲延展,则除了只包括point1或者只包括point2的圆不能避开,其他都可以避开(同时包括point1和point2不会被影响)。代码:#include<bits/stdc++.h>#define eps 1e-6using namespace std;struct p

2021-05-12 20:50:00 391

原创 学习记录 动态规划实时更新

写在读前:此博客旨在系统的总结笔者学习动态规划问题的过程,仅当学习笔记供读者使用。Part1 前景知识:面向问题:多阶段决策问题。前提条件:<1. 最优化原理:可以划分为若干有限个子结构,每个子结构的最优状态构成最终的问题最优解;<2. 无后效性原则:在当前状态进行动作不会影响已经形成的最优子结构。基本概念:<1. 阶段:问题的子结构;      阶段变量:阶段的具象化表示。<2. 状态:一个阶段具有若

2021-05-06 20:18:32 966

原创 题解 F-Palindrome 出自第十八届浙大城市学院程序设计竞赛

扫了一眼数据,长度和小于1e4,很快啊,一个暴力代码出来了。梦幻云端彩虹桥上的zcs仙女说过:“Think twice, code once. And debug for the rest of your life.”由于对hash的理解不透彻,直到赛后才过了这题(痛哭)。思路:从最朴素的枚举算法入手,枚举两个位置的复杂度为O(n) ,那么就必须做到在O(1) 的复杂度内判断是否能构成回文串。而判断回文可以也使用 通过判断字符串正序逆序是否相等 的途径,于是自然而然就想到了*O(1)*判断字符串是否

2021-03-21 19:44:21 227

原创 题解 2020级HAUT新生周赛(二)

题解 2020级HAUT新生周赛(二)

2020-12-08 22:00:57 3421 6

原创 学习记录 mooc浙大数据结构第三、四讲 树

写在读前:博客内代码基本每句都含注释,请参考注释食用~博客内容包括课程框架梳理,要点总结,笔者个人总结的拓展内容,PTA课后题解等等,多有理解不当或者概念错误请多多指出并加以包涵~引例:二分查找;引自百度百科词条 “二分查找”二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。引自百度百科词条 “二分查找的过程”首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如

2020-09-30 00:50:36 327

原创 题解 NOIP提高组2003 神经网络(拓扑排序+向前星)

写在读前:坑点略多,但数据量较小;此题解仅代表笔者的一己之见,若有所偏差或失误请读者多多指出并加以海涵;若您有更好的理解及方法欢迎在评论区分享高见共同讨论。先上题目地址请移步洛谷;题目(题目截图用于学习):输入:5 61 01 00 10 10 11 3 11 4 11 5 12 3 12 4 12 5 1输出:3 14 15 1题目分析与算法设计:先说题目中的Ci和Ui,Ci与Ui包括边权都可以为0为负,但值得一提的是题目中所给的“输入层”一开始就处

2020-09-18 01:39:54 439

原创 题解 02-线性结构1 两个有序链表序列的合并(mooc浙大数据结构)

题目原地址请移步此处:点击此处题目:裁判测试样例:#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;struct Node { ElementType Data; PtrToNode Next;};typedef PtrToNode List;List Read(); /* 细节在此不表 */void P

2020-09-12 11:11:05 241

原创 题解 02-线性结构4 Pop Sequence(mooc浙大数据结构)

原题目地址请移步此处(习题集已关闭,无法提交):点击此处题目:Input:5 7 51 2 3 4 5 6 73 2 1 7 5 6 47 6 5 4 3 2 15 6 4 3 7 2 11 7 6 5 4 3 2Output:YESNONOYESNO题目分析:掌握了栈的原理之后用数组模拟即可;代码:#include<stack>#include<cstdio>#include<cstring>using namespace

2020-09-12 11:01:30 422

原创 题解 02-线性结构3 Reversing Linked List(mooc浙大数据结构)

原题目地址请移步此处(习题集已关闭,无法提交):点击此处题目:题目大意:给定一个链表L,划分为每段有K个单位的若干部分,将每部分独立反转,若末尾元素构不成一部分,则不做处理;Input:00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000099999 5 6823712309 2 33218Output:00000 4 3321833218 3 1230912309 2 0010000100 1 999999

2020-09-12 10:33:40 291

原创 题解 02-线性结构2 一元多项式的乘法与加法运算(mooc浙大数据结构)

原题目地址请移步此处(习题集已关闭,无法提交):点击此处题目题目分析在课程内何钦铭老师讲解了用链表处理的方法,在此笔者提供一种完全用数组模拟的方法 其实是因为懒得写链表纯暴力模拟,没什么好说的;代码:#include<bits/stdc++.h>using namespace std;int base1[1005],base2[1005],n1,n2,len1,len2;int cul[100005],sum[100005],counter=0;int counter1=

2020-09-12 10:04:08 414

原创 学习记录 mooc浙大数据结构第二讲 线性结构(附向前星的详细讲解,持续更新中)

写在读前:作者于2020年暑期学习本课程,于2020年暑期末写下本博客,博客内容包括课程框架梳理,要点总结,PTA课后题解,多有理解不当或者概念错误请多多指出并加以包涵~线性表线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。 ——引自百度百科“线性表”词条顺序存储——数组最简单的数据结构;定义一个头指针,所有元素根据头指针位置依次按顺序储存。定义:Element

2020-08-23 02:43:33 377

原创 算法 线段树专题总结(帮助萌新认识线段树)

写在读前:本文中专题指[kuangbin]线段树专题中前九道,面向初次认识线段树的萌新,且文中线段树实现方式大多为数组与递归的方式实现,相对易于理解。博客内容包括笔者对线段树的浅薄见解以及九道题目的要点总结;多有不足请大佬们指出。关于线段树:笔者对线段树的认识是"一种批量处理数据的高效算法",是建立在树的数据结构与分治的算法思想上的一种更厉害 (小学语文功底) 的算法。ps: 线段树的每种操作,不论是建树,更新树还是查询树,都是以分治为核心思想。线段树的本质是一棵二叉树,之所以被称为线段树,是因

2020-07-20 00:34:13 342

原创 题解 PTA数据结构习题集 01复杂度1、2 最大子列和问题的多解法与延申问题Maximum Subsequence Sum

题目:输入:输入第1行给出正整数K (≤100000);第2行给出K个整数,其间以空格分隔。输出:在一行中输出最大子列和。如果序列中所有整数皆为负数,则输出0。输入样例:6-2 11 -4 13 -5 -2输出样例:20题目分析:解法一:枚举;枚举全部的子序列和,找出其中最大值;采用三重for循环,第一重循环确定子序列起点,第二重循环确定子序列终点,第三重循环计算子序列和。复杂度O(n^3)提交结果:解法二:枚举;解法一的改进版,采用二重循环枚举全部子序列和,在确定起

2020-07-11 00:45:25 449

原创 算法 使用vector简单模拟大整数

写在读前:看了大佬们利用结构体与重载运算符写的大整数类;c++只会套用stl的菜鸡直呼????????的同时又深感无力;便写了这篇比较简单的利用vector模拟实现的大整数。1. 定义:typedef vector<int> Bigint;简洁明了,一个vector便可以模拟一个大整数,每位数字倒序储存在vector中,原则上来说vector中每个元素大小都不超过10;2. 输入与赋值:string number;cin>>number;

2020-07-04 02:10:32 532

原创 题解 Ugly Numbers (UVA136)紫书P120priority_queue的应用

Vjudge地址移步此处;题目:丑数是指不能被2,3,5以外的其他素数整除的数。把丑数从小到大排列起来,结果如下:1,2,3,4,5,6,8,9,10,12,15……求第1500个丑数无输入输出:The 1500’th ugly number is x.(x代表数字);题目分析:**数据结构:**利用具有自动排序功能的优先队列储存丑数;**算法设计:**暴力循环;**模块设计:**定义与预处理–初始化–计算–输出–return 0;代码:#include<queue>#

2020-07-03 17:20:48 296

原创 题解 Team Queue(UVa540)紫书P118queue的应用

先上Vjudeg地址:点击这里;题目:有t个团队的人正在排一个长队。每次新来一个人时,如果他有队友在排队,那么这个新人会插队到最后一个队友身后。如果没有任何一个队友排队,则他会排到长队的队尾。输入每个团队中所有队员的编号,要求支持如下3种指令(前两种指令可以穿插进行)。ENQUEUE:编号为X的人进入长队。DEQUEUE:长队队首出队。STOP:停止模拟。对于每个DEQUEUE指令,输出出队的人的编号。输入:输入文件中有一组或多组测试数据。每组测试数据开始有t个团队。下面t行,每行的第一个

2020-07-03 13:16:42 416

原创 题解 The SetStack Computer(UVa12096)紫书P116STL的综合应用

先上Vjudge地址:点击这里题目:有一个专门为了集合运算而设计的“集合栈”计算机。该机器有一个开始为空的栈并且支持以下操作。1.PUSH:空集“{}”入栈。2.DUP:把当前栈顶元素复制一份后在入栈。3.UNION:出栈两个集合,然后把二者的并集入栈。4.INTERSECT:出栈两个集合,然后把二者的交集入栈。5.ADD:出栈两个集合,然后把先出栈的集合加入到后出栈的集合中,把结果入栈。例如,栈顶元素是A = { {},{{}} },下一个元素是B = { {}, {{{}}} },则:

2020-07-03 01:59:03 263

原创 题解 Ananagrams(UVa156)紫书P113map的应用

紫书P113;set的应用;UVa146 Ananagrams;Vjudge题目链接请点击此处题目大意:输入一些单词(输入包含若干行,每行不超过80个字符,由一些单词组成。单词由不超过20个大小写字母组成),找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入的大小写,按字典序排列。Sample Inputladder came tape soon leader acme RIDE lone Dreis peat

2020-06-24 14:20:06 303

原创 题解 Andy s First Dictionary(UVa10815)紫书P112set的应用

紫书P112;set的应用;Andy’s First Dictionary(UVa10815);Vjudge题目地址请移步此处题目大意:输入一个文本(最多500行,每行最多200个字符,以EOF结尾),找出所有不同的单词,按照字典序从小到大输出以小写输出(一行一单词)。Sample InputAdventures in DisneylandTwo blondes were going to Disneyland when they came to a fork in theroad. The

2020-06-23 03:24:25 430

原创 题解 The Blocks Problem(UVa101)紫书P110vector的应用

紫书P110;vector的应用;UVa101 The Blocks Problem原题目地址在这里题目大意:输入n,得到编号为0到n-1的木块,分别摆放在顺序排列编号为0到n-1的位置。现对这些木块进行操作,操作分为四种。move a onto b:把木块a、b上的木块放回各自的原位,再把a放到b上;move a over b:把a上的木块放回各自的原位,再把a发到含b的堆上;pile a onto b:把b上的木块放回各自的原位,再把a连同a上的木块移到b上;pile a over b:

2020-06-22 22:54:33 315

原创 学习记录 紫书第五章 C++与STL入门

C++与STL入门C与C++1. 函数定义参数时的引用:c语言中函数变量的传递为将一个值传递到该函数的局部变量中;c++语言中可以按照“引用”的方式传递,即引用改变量,使函数中的形参打到实参的效果。函数定义局部变量时采用 int& a 的形式使用“引用”传递,即该函数引用a作为其局部变量。2. 字符串string类:定义:string s;读入:cin>>s//读入一个单元内容; getline(cin,s);//读入一行内容注:使用scanf读入string类将会使s

2020-06-16 22:12:51 504

原创 算法 前缀和与差分(一维二维)(幼稚园也能看懂的详解)

写在读前:本文主要针对原理及如何实现,概念理解及方法或有偏差请多多指出并海涵~前缀和与差分一维前缀和关于前缀和的介绍实现前缀和操作二维前缀和sum[m][n]的含义如何建立sum[][]如何利用sum[][]数组进行计算一维差分关于差分的介绍实现差分操作二维差分diff[m][n]的含义(以后再补)如何建立diff[][]数组(未补)如何利用diff[][]数组进行计算(未补)总结一维前缀和二...

2020-04-20 21:11:36 2931 7

原创 题解 Pie(POJ3122)超详细易懂的二分入门

POJ3122 Pie 二分入门题目详细注释题解。

2020-02-02 03:27:30 1008 1

空空如也

空空如也

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

TA关注的人

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