自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蒟蒻的第24次CCF计算机软件能力认证

100+70+40+25+0,没有技巧全是感情www!目录202112-1 序列查询202112-2 序列查询新解202112-3 登机牌条码202112-4 磁盘文件操作202112-5 极差路径202112-1 序列查询这题一开始没有照题目的暗示,拿到50,后来根据题目的优化方法优化就可以了#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <map>#include <string>

2021-12-16 19:42:45 1602 6

原创 去中心化身份 DID( Decentralized Identifiers)

目 录W3C DID标准一、背景1、DID的动机2、人类友好标识符的作用二、DID与其他全球唯一标识符的区别三、DID的格式四、DID文件(DID Document)五、DID算法六、DID和隐私设计七、DID和可验证证书(VC)W3C DID标准去中心化身份标识(Decentralized Identifier,DID)是一种新类型的标识符,具有全局唯一性、高可用性可解析性和加密可验证性。DIDs通常与加密材料(如公钥)和服务端点相关联,以建立安全的通信信道。DIDs对于任何受益于自管理、加密可

2021-11-16 21:01:32 15450 1

原创 ccf-csp 2021-2018题目总结(部分)

2021-04DHCP服务器注意结构体里面存放了什么,注意每次刷新IP的状态#include<stdio.h>#define MAX(x,y) (((x)>(y))?(x):(y))#define MIN(x,y) (((x)<(y))?(x):(y))#include<string.h>const int MAXN=1e4+5;typedef long long ll;char zj[25];char post[25],get[25],kind[

2021-09-19 11:12:05 871

原创 ccf-csp 2016-2018部分题目总结

2016-04折点计数#define _CRT_SECURE_NO_WARNINGS 1#include<cstdio>#include<cstring>#include<stack>#include<algorithm>#include<iostream>#include<string>#include<set>using namespace std;const int maxn = 1010;i

2021-09-18 11:49:51 573

原创 ccf-csp 2013-2015题目总结

目 录2013-12出现次数最多的数ISBN号码最大的矩形有趣的数I‘m stuck!⭐2014-03相反数窗口命令行选项无线网络任务调度⭐2014-09相邻数对画图字符串匹配最优配餐拼图⭐2014-12门禁系统Z字形扫描集合竞价最优灌溉货物调度2015-03图像旋转数字排序节日网络延时最小花费2015-09数列分段日期计算模板生成系统高速公路最佳文章2015-12数位之和消除类游戏画图送货矩阵2013-12出现次数最多的数题解:此题用hash表进行统计#define _CRT_SECURE_NO

2021-09-16 19:59:51 763

原创 201312-5 I’m stuck!

这题是个多加了judge条件的BFS,同时需要进行多次BFS判断下面两个条件;1. 玩家可以从初始位置移动到此方格;2. 玩家不可以从此方格移动到目标位置。先占着,有大概思路了,时间充裕就写...

2021-09-10 11:52:08 100

原创 ⭐⭐201312-4 有趣的数

一开始想用数组做,但是不知道要怎么循环,没想到竟然是动态规划!status[i][j]表示长度为i状态为j的有趣的数个数已知有趣的数一共有五种状态整个字符串只有一个字符:由题意知这个字符只能是2状态0:有2整个字符串有两个字符:状态1:有2、0状态2:有2、3;且3在2后面整个字符串有3个字符状态3:有2、0、1;且1在0后面状态4:有2、3、0;且3在2后面整个字符串有4个字符:状态5:有2、3、0、1;且3在2后面,1在0后面下面可以知道初始条件:dp[1][0]=1;d

2021-09-10 11:47:43 112

原创 2021-09-10

这道题逻辑不难,模拟真的很复杂,我写了一半就放弃了#define _CRT_SECURE_NO_WARNINGS 1#include<string>#include <iostream>#include <string>#include <map>#include<vector>#include<cstdio>#include<cstdlib>using namespace std;int n;stri

2021-09-10 10:40:33 125

原创 201709-3 JSON查询

我是dd,字符串变化无穷参考链接这题难在了字符串怎么保留前面的迭代关系很巧妙的使用map将name.key作为first值,当遇到{后的处理尤其巧妙#define _CRT_SECURE_NO_WARNINGS 1#include<string>#include <iostream>#include <string>#include <map>using namespace std;//ans保存键和值,stf保存继承关系(strfath

2021-09-10 09:30:51 205

原创 ⭐⭐201703-3 Markdown

SOS写了两个小时只得了10分,居敏!#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <vector>#include <map>#include<string>using namespace std;string line, text;int pos1,pos2,pos3,pos;int num;//记录数字// 段落处理string temptext;stri

2021-09-09 22:46:49 98

原创 ⭐⭐201612-3 权限查询

70分代码,全部用vector来存储的#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<stack>#include<algorithm>#include<map>#include<set&gt

2021-09-09 20:27:34 205

原创 201609-3 炉石传说

60分代码:这题我考虑的太复杂了,直接用vector做就可以了。随从死亡的时候直接erase,随从插入的时候insert.#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<stack>#include<algorithm

2021-09-09 17:12:08 111

原创 ⭐201604-3 路径解析

则这道题一开始没有搞懂的就是相对路径要怎么处理其实当前路径+相对路径就是绝对路径了!然后如果/…/出现在一开始,就直接删掉。如果/…/出现在中间,就把前面的上一个目录删掉即可#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<sta

2021-09-05 21:09:52 91

原创 2015-12-03 画图

BFS深搜+hashtable来判断是横线还是竖线但是为啥还是90分啊呜呜!找不到原因#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<stack>#include<algorithm>#include<.

2021-09-05 19:50:42 100

原创 ⭐201509-3 模板生成系统

链接放上:模板生成系统感觉从这题开始第三题考察字符串操作的传统就留了下来#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<stack>#include<algorithm>#include<map>

2021-09-05 16:51:21 128

原创 201503-3 节日

年份日期问题#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<cstdio>#include<string>#include<vector>#include<queue>#include<stack>#include<algorithm>using namespace std;int year1, year2;int a, b, c;

2021-09-05 15:35:45 197

原创 ⭐201412-3 集合竞价

下面这个代码会显示运行错误,90分#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <cstring>#include <map> #include <vector>#include<string>#include<algorithm>#include<queue>using namespace std;const int maxn

2021-09-05 15:07:41 324

原创 CSP 201409-3 字符串匹配

1、注意要保存原来的字符串str2、用getline(cin,S);来输入string字符串S3、注意用getchar来吸收换行符4、一些库函数注意include<ctype.h>isdigit(i)判断是否是十进制数字isalpha(i)判断是否是字母isalnum(i)判断是否是字母或者数字toupper(i),将i变成大写字母tolower(i),将i变成小写字母#define _CRT_SECURE_NO_WARNINGS 1#include <iostream

2021-09-05 11:03:05 207

原创 ⭐CSP 201403-3命令行选项

一开始这样写的,但是是错误的,只有20分#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<algorithm>#include<cstdio>#include<stdio.h>#include<string>#include<cstring>#include<cmath>#include<vector>#include&lt

2021-09-04 21:51:12 221

原创 CSP201312-3 最大的矩形

这题用动态规划,S[i][j]表示坐标i到坐标j之间最大的矩形面积,注意坐标从1开始,一直到n-1注意元素下标即可#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<algorithm>#include<cstdio>#include<stdio.h>#include<string>#include<cstring>#include<cmath&

2021-09-04 19:49:13 129

原创 《算法笔记》12.1小节 12.2小节——字符串专题->字符串hash进阶->KMP算法

12.1 字符串HASH进阶将书上的vector<int,int>改成结构体就可以啦#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <iostream> #include <string>using namespace std;typedef long long LL;const int ma

2021-09-01 21:40:56 77

原创 《算法笔记》11.8小节——动态规划专题->总结

目录问题 A: 第二题问题 B: 拦截导弹问题 C: 合唱队形问题 D: Coincidence问题 E: 最大子矩阵问题 F: 放苹果问题 G: 点菜问题问题 H: 最大报销额问题 I: 毕业bg问题 A: 第二题问题描述:一个数组中有若干正整数,将此数组划分为两个子数组,使得两个子数组各元素之和a,b的差最小,对于非法输入应该输出ERROR。输入数组中的元素输出降序输出两个子数组的元素和样例输入10 20 30 10 1010 20 abc 10 10样例输出

2021-09-01 20:21:19 685

原创 《算法笔记》11.7小节——动态规划专题->背包问题

11.7.1 多阶段动态规划问题每一个阶段的状态只和上一个阶段有关,多阶段动态规划11.7.2 01背包问题解法1时间复杂度:O(nV)空间复杂度:O(nV)dp[i][v]表示前i件物品恰好装入容量为v的背包中能获得的最大价值状态转移方程为:dp[i][v]=max{dp[i-1][v],dp[i-1][v-w[i]]+c[i]}(i≥1,i≤n,v≥w[i],v≤V)最后枚举d[i][v]找到最大值即可解法2时间复杂度:O(nV)空间复杂度:O(V)开一个一维数组dp[v]

2021-09-01 11:58:50 566

原创 《算法笔记》11.4 11.5 11.6小节——动态规划专题->最长公共子序列(LCS)->最长回文子串->DAG最长路

11.4最长公共子序列(LCS)问题 A: 最长公共子序列问题描述:给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。例如:Z=<a,b,f,c>是序列X=<a,b,c,f,b,c>的一个子序列,Z中的元素在X中的下标序列为<1,2,4,6>。现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?输入输入包含多组测试数据。每组输入占一行,为两个字符串,由若干个空格分隔。每个字符串的

2021-09-01 10:58:29 169

原创 《算法笔记》11.1小节11.2小节11.3小节——动态规划专题->动态规划的递归写法和递推写法->最大连续子序列和->最长不下降子序列

11.1.1什么是动态规划复杂问题分解为子问题,分为递归和递推两种写法递归写法又被称作记忆化搜索一个问题必须拥有重叠子问题,才能使用动态规划来解决11.1.2动态规划的递归写法斐波那契数列开一个一维数组dp,计算已经算过的结果,重叠子问题11.1.3动态规划的递推写法数塔问题最优子结构:可以保证DP中原问题的最优解可以由子问题的最优解推导得到。求fibonacci数列:#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>

2021-08-31 16:12:07 173

原创 《算法笔记》10.7小节——图算法专题->关键路径

10.7.1 AOV网和AOE网AOV网是顶点活动网AOE网是边活动网,顶点表示事件,只是一个中介状态,AOE通常用来表示一个工程的进行过程AOV和AOE都是有向无环图10.7.2最长路径关键路径就是AOE网的最长路径。10.7.3关键路径输入第一行输入一个正整数n(1<=n<=5),其代表测试数据数目,即图的数目第二行输入x(1<=x<=15)代表顶点个数,y(1<=y<=19)代表边的条数第三行给出图中的顶点集,共x个小写字母表示顶点接下来

2021-08-31 12:15:31 280

原创 《算法笔记》10.6小节——图算法专题->拓扑排序

10.6.1有向无环图10.6.2拓扑排序将有向无环图G的所有顶点排成一个线性序列,这个序列被称为拓扑序列。习题问题 A: 算法7-12:有向无环图的拓扑排序问题描述:在本题中,读入一个有向图的邻接矩阵(即数组表示),建立有向图并按照以上描述中的算法判断此图是否有回路,如果没有回路则输出拓扑有序的顶点序列。输入输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。以后的n行中每行有n个用空格隔开的整数0或1,对于第i行的第j个整数,如果为1,则表示第i个顶点有指向第j个顶

2021-08-30 16:36:33 292

原创 《算法笔记》10.5小节——图算法专题->最小生成树

10.5.1 最小生成树及其性质最小生成树是无向图中的一棵树,涵盖图G的所有顶点,并且边之和最小最小生成树的三个性质:1、是树,边数=顶点数-12、对于给定的图,最小生成树可以不唯一,但是边权值和是唯一的3、最小生成树的根节点可以是任何一个节点,但是题目为了方便输出,一般会用题目给的节点作为根节点P算法和K算法都是采用贪心法求最小生成树,只是贪心的策略不一样10.5.2 prim算法P算法与求最短路径的D算法思想几乎完全相同区别是P算法中d[i]指的是点i距离集合S的距离D算法中d[i]

2021-08-30 15:46:34 333

原创 《算法笔记》10.4小节——图算法专题->最短路径

10.4.1 Dijkstra算法解决单源最短路径问题D算法可以用堆进行排序优化;D算法只能应对所有边权都是非负数的情况,如果边权出现负数,那么D算法很容易出错,最好使用SPFA算法PAT A1003 Emergency题目见书上P378#define _CRT_SECURE_NO_WARNINGS 1#include <cstdio>#include<cstring>#include<algorithm>using namespace std;con

2021-08-29 20:01:50 271

原创 《算法笔记》10.1 10.2 10.3小节——图算法专题->图的定义、存储、遍历

10.2图的存储可以用邻接矩阵或者邻接表来存储图邻接矩阵:二维数组,对于无向图,邻接矩阵是一个对称矩阵,二维数组占的内存比较大,只适用于顶点小于1000的题目邻接表:使用N个链表来组成邻接表,链表比较复杂,所以使用vector来实现邻接表,比如vector<int> Adj[N];vector<Node> Adj[N];这里还可以定义结构体Node的构造函数,不用定义临时变量就可以实现加边操作10.3图的遍历10.3.1用DFS法遍历图PAT A1034这题使用

2021-08-28 17:17:42 189

原创 《算法笔记》9.8小节——数据结构专题(2)->哈夫曼树

9.8.1哈夫曼树带权路径长度最小的树被称为哈夫曼树,也称最优二叉树9.8.2哈夫曼编码前缀编码,哈夫曼编码可以不产生混淆,让解码可以顺利进行

2021-08-26 15:26:15 376

原创 《算法笔记》9.7小节——数据结构专题(2)->堆

9.7.1堆的定义与基本操作堆是完全二叉树,分为大顶堆和小顶堆使用数组来存储完全二叉树建堆(向下调整)删除堆顶元素添加元素(向上调整)9.7.2堆排序下面讨论使用堆结构对一个序列进行递增排序堆排序对于元素数较多的情况是非常有效的。通过对算法的分析,不难发现在建立含有n个元素的堆时,总共进行的关键字比较次数不会超过4n,且n个节点的堆深度是log2n数量级的。因此,堆排序在最坏情况下的时间复杂度是O(nlog2n),相对于快速排序,堆排序具有同样的时间复杂度级别,但是其不会退化。堆排序较快速排

2021-08-25 21:25:10 396

原创 《算法笔记》9.6小节——数据结构专题(2)->并查集

9.6.1并查集的定义合并Union,查找find,集合set9.6.2并查集的基本操作初始化,查找,合并并查集产生的每一个集合都死一棵树9.6.3路径压缩对查找操作进行压缩,有递推写法和递归写法问题 A: 通信系统问题描述:某市计划建设一个通信系统。按照规划,这个系统包含若干端点,这些端点由通信线缆链接。消息可以在任何一个端点产生,并且只能通过线缆传送。每个端点接收消息后会将消息传送到与其相连的端点,除了那个消息发送过来的端点。如果某个端点是产生消息的端点,那么消息将被传送到与其相连的每一

2021-08-25 20:28:38 210

原创 《算法笔记》9.4小节 9.5小节——数据结构专题(2)->二叉查找树(BST)->平衡二叉树(AVL)

二叉查找树(BST)问题 A: 二叉排序树问题描述:输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。输入输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。样例输入12 28 15 421 10 5 39 样例输出2 2 2 8 15 8

2021-08-25 17:08:58 249

原创 《算法笔记》9.3小节——数据结构专题(2)->树的遍历

9.3.1树的静态写法9.3.2树的先根遍历9.3.3树的层序遍历9.3.4从树的遍历看DFS和BFSDFS=先根遍历BFS=层序遍历PAT A1053Path of Equal Weight见书上P306#define _CRT_SECURE_NO_WARNINGS 1#include <cstdio>#include<cstring>#include<queue>#include<vector>#include<algori

2021-08-25 11:16:20 205

原创 《算法笔记》9.1 9.2小节——数据结构专题(2)->树与二叉树 二叉树的遍历

9.1树与二叉树用二叉链表存储二叉树用数组存储完全二叉树9.2二叉树的遍历先序遍历-根左右void preorder(node * root){ if (root == NULL) { return; } else { printf("%d\n",root->data); preorder(root->lchild); preorder(root->rchild); }}中序遍历-左根右void inorder(node * root){

2021-08-24 21:51:34 367

原创 《算法笔记》8.1小节——搜索专题->深度优先DFS 广度优先BFS

深度优先算法DFSDFS一般使用递归实现深度优先算法解决背包问题#define _CRT_SECURE_NO_WARNINGS 1#include<cstdio>const int maxn = 30;int n, V, maxValue = 0;int w[maxn], c[maxn];void DFS(int index, int sumW, int sumC){ if (index == n)//死胡同 { if (sumW <= V &&

2021-08-24 19:57:46 137

原创 2021-2013 CSP前两题汇总

这里写目录标题202012-2202104-2202009-1 称检测点查询202009-2 风险人群筛查202006-1 线性分类器202006-2 稀疏向量201912-1 报数201912-2 回收站选址201909-1 小明种苹果201909-2 小明种苹果(续)201903-1 小中大201903-2 二十四点201812-1 小明上学201812-2小明放学201809-1 卖菜201809-2 买菜201803-1 跳一跳201803-2 碰撞的小球201712-1 最小差值201712-2

2021-08-19 21:02:51 445

原创 《算法笔记》第7章——数据结构专题(1)栈,队列,以及链表

7.1 栈7.2 队列栈和队列最经典的题目就是下面两个,中缀转前缀表达式实现计算器的功能,第二个是判断表达式是否正确;第一个上次囫囵的看了一遍,其实也没咋懂⭐⭐⭐⭐问题 A: 简单计算器问题描述:读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出在这里插入代码片对每个测试用例输出1行

2021-08-12 20:28:49 235

原创 PAT (Basic Level) Practice (中文)持续更新ing

1001 害死人不偿命的(3n+1)猜想 (15 分)#define _CRT_SECURE_NO_WARNINGS 1#include<cstdio>int main(){ int n; int num; scanf("%d",&n); for (num = 0; n != 1; ) { if (n % 2 == 0) { n = n / 2; num++; } else n = n * 3 + 1; } printf("%d",

2021-08-12 11:31:10 330

空空如也

空空如也

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

TA关注的人

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