算法
文章平均质量分 61
一口木桶饭
意气风发,挥斥方遒!
展开
-
leetcode 198. 打家劫舍
解题思路两种思想,动态规划和记忆化搜索1.动态规划动态规划,定义一个数组memo[n+1], 其中memo[0]表示一个店也没有,固定值为0;memo[1]表示洗劫到了第一个店,是固定值,毕竟就一个店,有多少拿多少。注意这里的定义,表示洗劫到了第几个店,当然这个店洗不洗,不一定,至少到这个店了。假如到了第n个店,会有两种情况:a. 洗劫:那么就要求第n-1个不能洗,于是洗劫值为当前店nums[n] 和 前n-2个店的最大值之和;b. 不洗劫,那么就是说我要求前n-1个店洗劫最大值,毕竟不洗劫第原创 2022-03-18 10:55:34 · 5266 阅读 · 0 评论 -
CCF 201604-2 俄罗斯方块
0. 问题描述俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的方块上边缘重合或者达到下边界时,板块不再移动,如果此时方格图的某一行全放满了方块,则该行被消除并得分。 在这个问题中,你需要写一个程序来模拟板块下落,你不需要处理玩家的操作,也不需要处理消原创 2021-07-14 00:16:42 · 162 阅读 · 0 评论 -
CCF 201403-2 窗口
1. 问题描述2. 解题思路画出样例中的窗口排列如下:原创 2021-05-05 10:20:13 · 179 阅读 · 0 评论 -
计算机图形学 之 中点画线算法
之前我们使用DDA来画线, 这种算法每步只进行一个加法运算,那么加法运算李里边有浮点数, 我们是否还可以再提高效率 也就是把浮点运算变成整数加法, 或者改变直线方程类型中点画线算法利用直线的一般方程 Ax + By + C = 0对于一般直线方程,对于直线上的点, 那么 Ax + By + C = 0对于直线上方的点, 那么 Ax + By + C > 0对于直线下方的...原创 2020-04-02 12:31:45 · 6635 阅读 · 0 评论 -
计算机图形学 之 DDA直线算法(数值微分法)
1. 直线段的扫描转换算法在数学上,直线就是由无穷多个点组成的, 在计算机屏幕显示的话, 需要做一些处理,对于光栅显示器光栅显示器上就是用有限多个点去逼近直线, 那么这些有限个点,我们需要知道每一个像素点的坐标(都是整数)求P0, P1的直线方程y= kx + b斜率为 (y1 - y0)k = --------------- (x1 != x0) ...原创 2020-04-02 11:20:31 · 3852 阅读 · 1 评论 -
堆排序代码
#include<iostream>#include<cstring>using namespace std;int arr[10010];//要排序的数据int n;//一共有多少数据void Max_heap(int arr[], int first, int last){ int par = first; int son = par *...原创 2019-12-28 01:22:01 · 1294 阅读 · 0 评论 -
数据结构之 图(一) 图的存储结构
图的存储一般用邻接矩阵或邻接表来存储邻接矩阵图的存储要考虑两方面的内容,①顶点的信息,②各个顶点之间的边的信息。顶点信息,我们用0 – n-1来表示各个顶点。边的信息用二维数组来表示。其中这个存储边信息的二维数组就是邻接矩阵。代码如下(C++代码):#define MaxVertexNum 100//设置顶点最大为100个#define maxn 1000000;int MGraph...原创 2019-12-27 19:07:47 · 242 阅读 · 0 评论 -
7-2 银行排队问题之单窗口“夹塞”版 (30分)
排队“夹塞”是引起大家强烈不满的行为,但是这种现象时常存在。在银行的单窗口排队问题中,假设银行只有1个窗口提供服务,所有顾客按到达时间排成一条长龙。当窗口空闲时,下一位顾客即去该窗口处理事务。此时如果已知第i位顾客与排在后面的第j位顾客是好朋友,并且愿意替朋友办理事务的话,那么第i位顾客的事务处理时间就是自己的事务加朋友的事务所耗时间的总和。在这种情况下,顾客的等待时间就可能被影响。假设所有人到达...原创 2019-12-25 23:27:26 · 852 阅读 · 0 评论