自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 _22-py

py学习小结

2022-10-11 22:22:13 632 1

原创 _21-jQuery用AJAX无法访问到Servlet

ajax访问servlet

2022-06-22 10:53:18 519

原创 _20-DP

CASE:12022.05.02,开始在洛谷上”做做“简单的dp,看到一题:之前看到过更简单一点的,只要走一次,求路径的最大值之和。而这题要走两次,且走过的话就要把数字归为零,一开始想dp两次行不行,但是直觉告诉我不行。后来在题解里看到一种我比较容易看懂的方法:主要思想就是双线程动规,定义四位数组ans[i][j][k][l],(也就是模拟两个人同时走),最后的ans[n-1][n-1][n-1][n-1](从0开始)就是题目所要的答案。更正:上面这段刚写完去敲代码,发现输出的数很大,

2022-05-02 11:19:42 89

原创 _19-牲口棚的安全

题目:思路:昨天刚好了解了next_permutation()的使用,写这题刚好又用到了。直接用数组记录所给的c个字母,用next_permutation()进行全排列,然后每次选前l个进行判断(①是否以字典序排列②是否至少1元2辅),符合条件存入数组即可。代码:#include<iostream>#include<vector>#include<algorithm>#include<map>#include<queue&gt.

2022-04-29 19:07:07 97

原创 _18-bestpartner

题目思路:先用两个二维数组记录男女优势,再将他们对应位置相乘记录到数组v,计算矩阵之和最大值。核心代码:int c[10] = {0,1,2,3,4,5,6,7,8,9};int sum, i, ans = 0;do{ for(sum=i=0;i<n;i++) sum += v[i][C[i]]; if(sum > ans) ans = sum;}while(next_permutation(c,c+n));cout << ans << en

2022-04-29 17:57:29 63

原创 _17-防御罩最短距离

搜到的方法:对于给出的每个基地的坐标,将他们相减得到两两基地之间的距离再存入数组,每次取最小值,并将其加到左右值中更小得那个。注意要在头和尾插入最大值。#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { int last = 0; int l, n, m, t; cin >> l >> n >&gt..

2022-04-27 22:26:00 101

原创 _16-并查集

int f[1000]int find(int u) { if (f[u] != u) //如果u已经有父亲了(f[u]!=u),就找u父亲的父亲 f[u] = find(f[u]); return f[u];}void Union(int x, int y) { if (find(x) != find(y)) //如果x,y的父亲不一样,就让x的父亲改为y的父亲 f[find(x)] = find(y); //f[find(x)]还能顺便更新x的父亲...

2022-04-21 20:49:17 58

原创 _15-骑士精神(IDA*)

一道经典的IDA*入门题,本质上就是dfs+估价函数思路:以唯一的空位为起点,进行dfs,利用估价函数进行剪枝。 for(int dep=1;maxdep<=15;dep++){ //dep:本次需要移动的次数,因为从1开始,一但满足条件,就是题目所要求的最小步数 A_star(0,stx,sty,dep); //dfs代码,stx sty:空位所在位子 if(success){ //如果满足条件,输出步数 printf("%d\n",dep);..

2022-04-18 21:24:20 294

原创 _14-tips

stoi/stodupper_bound、lower_bound是一个用二分法在已排序好的数组里查找元素。头文件:#include<algorithm>upper_bound(n):查找第一个大于n的元素,返回地址。lower_bound(n):查找第一个大于等于n的元素,返回地址。助记:(up主是独一无二的,所以upper没有等于,lower有等于)使用方法:①直接作为数组的方法调用set<int> a;if(a.upp

2022-04-11 17:24:40 374

原创 _13-二维向量优先队列

#include <iostream>#include <vector>#include <queue>using namespace std;struct cmp //重写仿函数{ bool operator() (vector<int> a, vector<int> b) { return a[0] < b[0]; }};int main() { int n, m, l,c,d; int ans = .

2022-03-21 11:01:36 174

原创 _12-图的连通性

题意:给出一个图,请你给出这个图里连通分量的数目。本题中的图都为无向图。思路: 利用并查集。每输入一组顶点就将其联合,最后只需要统计根顶点等于自身的顶点个数即可。源码:#include<iostream>#include<vector>using namespace std;int Find(vector<int>& father, int x) { //查找节点的根顶点 if (father[x] == -...

2021-11-16 18:58:49 269

原创 _11-Prime算法求最小生成树

题意:本题要求你用Prime算法求图的最小生成树。本题的图都是无向图且最小生成树不存在二义性(包括每一步选入的节点)。请你输出节点选择的次序和邻接矩阵思路: 对于记录数据。用邻接矩阵arr记录无向图,用lowCost向量记录v个顶点的最低权重,用visit向量记录顶点是否归入最小树。因为我们先将0号顶点作为最小树的根,所以将其余点与0顶点的权重值作为lowCost的初始值。对于循环次数。因为已经将0顶点最为最小树的根,所以我们只需再做v-1次循环,每次循...

2021-11-16 16:54:20 2037

原创 _10-红黑树的插入

题意:本道题测试通过不同的用例帮助你完成红黑树的插入,有几点需要注意:节点的颜色以枚举RBTREECOLOR来表示,共有RED,BLACK和ROOT三种颜色,ROOT是为了方便编码特地规定的虚拟根节点的颜色。请注意看模板代码。 依习惯,整个树挂在虚拟根节点-1的右节点上。-1节点的颜色为ROOT,可以方便判断根节点。 以红黑树定义来说,如果节点的左右子树为空,应当视为挂载了黑色节点,《算法导论》中采用一个特别的NIL节点来替代NULL,本题不采用这一解法,还是为空指针,请注意处理空结点的颜色问题

2021-11-01 18:37:36 114

原创 _09-子弦

题意:有一个字符串 S,并希望你能求出 S 出现次数最多的非空子串的出现次数,记作 p。思路:贪心算法入门,出现最多次(假设为n)的子串中至少有一个字母也出现了n次,且字符串中任一字母最多也只出现n次,所以只需统计每个字母出现的最大次数即可。源码:#include <iostream>using namespace std;int main() { string s; int ans = 0; int a[30] = { 0 }; cin >> s;

2021-10-22 18:31:47 120

原创 _08-AVL树的删除

题意:填写函数void delete_avl_node( BTreeNode* root, int value );移除AVL树上值为value的节点。树和前几个题目一样,挂在根节点-1的右子树下。给你的树已经处于平衡状态,你不需要判断值是否有效,值一定存在。思路:①根据要删除的值,找到要删除的节点。②分要删除的节点的左右儿子的情况来讨论。③若左右儿子都有,则用以右儿子为根节点的树中的最小节点p来替代要删除的节点(或者用以左儿子为根节点的树中的最大的点p来替代要删除的

2021-10-22 15:55:55 588

原创 _07-AVL树节点的调整

题意:本题你需要处理AVL树的四种情况,分别是RR、RL、LL和LR。注意:本题不仅需要正确设置子节点,也需要你正确处理父节点,还需要你正确维护height也就是树高字段,判分模板会根据你的height来判断平衡是否满足要求。思路:①对于RR、LL型。 以RR型为例,被破坏节点记为node,其右儿子记为t。首先先将node右儿子变为t的左儿子,若t的左儿子非空,将其父节点设为node,再将t的左儿子指向node。然后先将t的父节点由原本的node变为node的父节点,再将node的父节点变.

2021-10-20 10:54:04 251

原创 _06-铺地毯

题意:为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。思路:很简单的题。记录每一个毯子的坐标范围,进行比较即可。记录下来是因为一开始是顺序遍历的,然后看别人的题解用逆序遍历,遇到

2021-10-19 18:01:40 96

原创 _05-过河卒

题意:棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。思路:一道很水的dp经典问题。点(i,j)只能由(i-1,j)和(i,j-1)两个.

2021-10-19 17:27:22 109

原创 _04-堆的插入和删除

题意:本题要求完成堆的初始化、插入、堆头元素的获取、堆的弹出和堆内容的打印。本题的堆是小顶堆,也就是每次弹出的都是最小的那个元素。同时0号位是一个值为-1的守卫,0号位不使用,所有元素从1号位开始放置。思路:①创建堆。包括其数值、当前容量和最大容量。②堆的插入。若插入值比最后一个节点的下一个节点i的父节点i/2的值小,则将父节点值赋给i(第一次这个i的节点是空的,第二次这个节点已经赋值给其儿子节点),i/=2。循环至插入值比i/2的值大,则将插入值赋给i。③堆的弹出。因为堆的数值类型

2021-10-19 15:46:30 180

原创 _03-哈夫曼树的构建

题意:本题测试你对Huffman树构建的掌握程度。请填写函数来构建一个棵Huffman树,返回树的根节点思路:①对数字排序。要插入树的数字存在vector,故先从小到大排序。②进入循环。结束条件为存放数字的vector空。③建节点,赋值。new父节点,左右儿子节点。若vector非空,则赋值给左右儿子节点。④进入遍历num向量(用于存放每一次左右儿子节点之和的树)循环。若num中有树的值与左儿子或右儿子节点的值相同,则该树赋值给左儿子或右儿子且将该树从num删除。⑤制作树。将

2021-10-19 14:58:12 189

原创 _02-祖玛大消除

题意:如果射出的球击中球链,且此时生成的新链中相同颜色的球大于等于3个。则这些球可以被消除。例如,你有一串链是:112233。此时你射出一个2的球,球击中了链中的第一个2(第3个球),此时链变成:1122233因为中间的2有3个,满足消除的条件,他们会被消除,于是你获得:1133消除可以连击,例如:11221133,射出2还是击中第一个2。此时链变成112221133,消除2后,链变成:111333前后两串1拼接在一起后,形成四个1,又满足消除条件,继续消除,得到:

2021-10-19 14:23:03 1030

原创 _01-比比谁更大

题意: 他迫切需要机器帮他判断,哪种细菌的地盘更大。你能帮帮他吗?注意如果两块细菌不连通,即使他们是同一种细菌,也要分开计算,例如:5 50 0 0 0 00 1 1 0 00 2 2 2 00 0 0 0 00 0 1 1 0虽然这里的1占据了4个格子,但他分为两块,每块各占2个格子,而2号细菌只有一个块,占据3个格子。因此2号胜出,你应该输出:2 3思路: ①用STL中的vector记录细菌的分布,每个细菌存为一个结构体,包括坐标、细菌标号、遍历标志。

2021-10-19 14:05:15 215

NFA转DFA实验源码资源下载

NFA转DFA实验源码资源下载,源码,流程图,算法思想

2022-11-03

简单词法分析器的实现源码

简单词法分析器的实现源码,流程图,算法思想,实验结果 //存放关键字 string key[12] = { "int","for","break","switch","case","do","if","else","return","while","void","default"}; //关键字种别码 ..........................

2022-11-03

空空如也

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

TA关注的人

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