自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CCF 201912-2 回收站选址--map+vector

map遍历死循环了就换成了vector,不太明白为啥,不过vector用着也挺顺手的。下面展示一些 内联代码片。#include<iostream>#include<vector>#include<map>using namespace std;map<pair<int,int>,int> mp;vector<pair...

2020-01-19 22:10:08 244

原创 CCF 201709-4 通信网络--BFS+vector(邻接表存储)

思路:每个节点用BFS或者DFS正向,反向遍历两次,记录访问过的节点,若所有节点均访问过则符合要求,总数加一。易错点:本题数据结构应使用邻接表存储;若使用邻接矩阵存储则会导致超时。#include<bits/stdc++.h>using namespace std;const int N=1010;vector<int>adj1[N],adj2[N];b...

2020-03-17 14:43:05 195

原创 CCF 201712-3 Crontab--复杂模拟

思路:这题若想不超时,就必须把所有可能的指令转换成日期,再结合星期限制舍去一些不合适的情况,最终按序输出即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;string cron[25][6];int range[]={60,24,31,12,7};int days[]={0,31,28,...

2020-03-16 09:41:06 172

原创 CCF 201712-4 行车路线--Floyd+Dijkstra

思路:小路大路分开存储。小路跑一遍Floyd算法,并将连续小路平方后等价于带小路标记的直达路,并入大路中。但之后用Dijkstra算法时将不可叠加计算,即小路->小路为不允许情况,直接跳过即可。本算法有漏洞过不了自己编的例子,之后再做修改,不过测评已经100分了。#include<bits/stdc++.h>using namespace std;typedef lon...

2020-02-23 14:09:38 200

原创 CCF 201912-4 区块链--复杂模拟

思路:这道题思想上是BFS广度搜索,信息的传递符合BFS算法,但如果套用BFS算法将不可避免导致各节点存储大量信息而导致空间溢出,所以这道题只能分步传递信息,节点收到信息后先处理(删除无用信息),这样可以拿到满分。#include<bits/stdc++.h>using namespace std;int n,m,t,k;vector<vector<int&gt...

2020-02-22 10:40:10 1013 5

原创 CCF 201803-4 棋局评估--深度(对抗)搜索

思路:这道题逻辑必须非常清晰才能做出来。首先要明白这是一个博弈论的问题,也就是说,你的对手希望他得高分,你希望得高分,可是你分数高了他的分就低了,所以是一种博弈。下棋的时候,你希望走出最好的局面,即使输也要分数最高,而你的对手恰恰相反,他要走出他的最好局面,也就是你的最坏局面,让你分数最低。这样交替行棋,也就完成了对棋局的推演,得出高手的最终局势。这本质上是博弈论中的对抗搜索,有不懂的地...

2020-02-22 10:39:35 240

原创 CCF 201809-3 元素选择器

思路:用一个二维数组来存储(vector也可以)元素等级和位置;元素用结构体存储,包含父节点位置,元素名,id。#include<bits/stdc++.h>using namespace std;struct node{ int father; string tag,id;};vector<node>ele(100);vector<vector...

2020-02-11 14:28:23 105

原创 CCF 201809-4 再卖菜--DFS

思路:深度搜索算法题,根据前面的商家的菜价和平均值推出之后的商家菜价范围,递归完成遍历。类似于迷宫,走过的路要做好标记,避免重复,否则会超时。第一家商店和最后一家商店要特殊处理一下,因为只有一个邻居。#include<bits/stdc++.h>using namespace std;const int maxn=301;int price[maxn],n,visit[m...

2020-02-09 20:40:24 151

原创 CCF 201812-3 CIDR合并--vector排序+list合并

思路:如题,用vector存储ip排序,之后再装入list链表中进行插入删除,可避免因大量插入删除而导致的运行超时。易错点:之前发布的文章有详细说明,还有一些自己编写的例子,有需要的可以查阅使用。链接:https://blog.csdn.net/qq_26873647/article/details/104188744.关于stl标准模板库中的list容器具体函数功能和使用可以参考:...

2020-02-07 16:25:11 192

原创 CCF 201812-4 数据中心--简单算法

易错点:这题标准最小生成树算法题,套模板即可,注意并查集的查询函数一定要进行路径压缩(无论是递归或非递归方式),否则会超时。#include<bits/stdc++.h>using namespace std;const int maxn=100000;struct edge{ int u,v,cost;}E[maxn];bool cmp(edge a,edge b...

2020-02-06 17:20:51 163

原创 CCF 201812-3 CIDR合并(90分--运行超时)

易错点:这道题思路题目已给出,但是易错点有点多,列举一些自己遇到的坑:1.使用vector容器,由于是顺序表,删除插入操作较多,导致运行超时,用list链表可以做到100分,目前时间有限,先不做了,之后补上;2.比较排序时一定要是数字比较,而不是字符串比较,后者会出错;3.同级合并时,一定要判断新合成的前缀是否合法,即后缀是否全部为0;(其实也就是后一位不能是1)4.完成第一步排序可得6...

2020-02-05 21:32:10 223

原创 CCF 201903-4 消息传递接口--简单模拟

思路:进程运行方式类似队列,顺序执行。匹配成功将这一对指令双双出队。继续运行,直到静止。若队列均为空,则无死锁;若存在队列不空,则有死锁。标准的模拟题,没必要运用图论,递归等知识。若了解stringstream类,stoi等函数可极大简化编码。不过不用也可以,文末有一种较为麻烦的输入方式,不过速度会更快。易错点:进程编号能超过1位数,输入时要小心。死锁判断时,若本队列已经为空,则一定要跳...

2020-02-04 10:01:21 182 1

原创 CCF 201912-3 化学方程式--stack+map

思路:将方程式分为左式和右式,统计元素分别存入两个map中,最后比较map是否完全相同即可。自己编写的有点冗长,不过是分块编写的,若不考虑括号处理,也可以很高效的拿到60分。总体来说算比较基础的模拟题,考点就是字符串的处理和括号匹配。#include<bits/stdc++.h>using namespace std;struct node{ string ele; i...

2020-02-02 21:39:26 297 1

原创 CCF 201604-2 俄罗斯方块

思路:将输入板块与游戏面板自上而下比较,若输入格子与游戏面板冲突则记录为失败,退回一格即为最终位置。#include<bits/stdc++.h>using namespace std;vector<vector<int>>v(15,vector<int>(10));vector<vector<int>>vi(4,v...

2020-01-30 09:39:26 111

原创 CCF 201912-4 区块链--vector+BFS(80分)

set排序+广度搜索(To Be Continued)下面展示一些 内联代码片。#include<bits/stdc++.h>using namespace std;const int maxn=501; vector<int>adj[maxn];int inq[maxn]; struct node{ int code,time,line; node(i...

2020-01-29 16:55:31 1282 1

空空如也

空空如也

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

TA关注的人

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