![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ccf csp
波点兔
这个作者很懒,什么都没留下…
展开
-
ccf csp-201912-4-区块链(双端队列bfs+链表)
参考博客:点这里对样例1的过程模拟初始状态时刻1,每个节点都产生一个块时刻2,所有结点接收到邻居发来的主链,更新自己的主链时刻10,结点1产生新块10时刻11,所有结点接收到邻居发来的主链,更新自己的主链(时刻11的同时,结点2先接收链,再产生新块9)时刻12,所有结点接收到邻居发来的主链,更新自己的主链代码如下#include<bits/std...原创 2020-03-12 18:58:34 · 640 阅读 · 0 评论 -
如何在dev cpp中使用c++11标准
1、选择Tools->compiler options2、选择Settings->Code Generation3、在Language standard中选择ISO C++/ISO C++11原创 2020-03-11 12:30:32 · 765 阅读 · 0 评论 -
ccf csp-201312-4-有趣的数(动态规划)
动态规划思想:往某一位上填数字时,取决于上一位的正确填写。一步对,才有可能步步对,而一步错,则步步错。动态规划过程模拟:①每填写一位数字,都有可能形成一种状态 Statei。②而每一个状态 Statei 都可以由上一个状态 Statei-1 和自己本身状态(数字可以重复)推导而来。State0:2 State1:2 0 + 0/2State2:2 3 + 3St...原创 2020-03-08 16:16:00 · 707 阅读 · 0 评论 -
ccf csp-201403-4-无线网络(图的遍历bfs)
原试题点击此处本题和ccf csp-201409-4-最优配餐、ccf csp-201604-4-游戏有相似之处,但是最优配餐和游戏在进行bfs图的遍历时,都是类似于 马踏棋盘,会一层一层遍历棋盘上每个点。而 本题的bfs遍历,是有条件的遍历:1、走的是有定义(该点放置有无线路由器)的点(xi,yi)2、半径在r之内所以本题需要用结构体数组记录图的信息,结构体数组下标表示路...原创 2020-03-07 16:37:27 · 1665 阅读 · 0 评论 -
ccf csp-201409-4-最优配餐(bfs)
原试题点击此处本题可以参考ccf csp-201604-4-游戏,是差不多的类型。注意:对于某一地点的配餐数 以及 最终的配送距离,要用long long类型!(1<=n<=1000, d<=n^2)代码如下#include<iostream>#include<queue>using namespace std;const int N...原创 2020-03-07 05:57:01 · 1701 阅读 · 1 评论 -
ccf csp-201412-4-最优灌溉(Prim最小生成树)
原试题点击此处Prim算法数据结构选择:1、lowcost[i]:以i为终点的边的最小权值(权值)2、mst[i]:对应lowcost[i]的起点,即说明边<mst[i],i>是MST的一条边(起点)lowcost[i]=mst[i]=0表示点i已加入到MST中注:如果无需打印出最小生成树,那么可以不用设立mst[]数组!代码如下#include<iostr...原创 2020-03-06 22:16:05 · 501 阅读 · 0 评论 -
ccf csp-201503-4-网络延时(树的直径+两次bfs)
树的直径定义:一棵树中距离最远的两个点之间的距离就是树的直径。树的直径算法:1、首先以任意一个点为起点,通过dfs或bfs求出源点到所有点的路径长度。2、从中选择长度最长的路径到达的点。3、再次以这个点为源点重复上述步骤,得到的第二个最长的路径连接的两个点就是树的直径。代码如下#include<iostream>#include<queue>#inc...原创 2020-03-06 12:18:02 · 440 阅读 · 0 评论 -
ccf csp-201509-4-高速公路(Tarjan算法求强连通分量)
原试题点击此处强连通分量概念: 强连通分量中的结点能够相互到达。Tarjan算法思想:两条腿走路:一条腿深搜下去一条腿回看(能不能回到自己本身)如果从一个结点出发能回到这个结点本身,就构成了一个回路(轮回),回路中的点因为处于轮回中自然能够相互到达,即该回路也就构成了一个强连通分量。Tarjan算法采用的数据结构:dfn:记录时间戳,即访问结点的先后时间顺序(深搜)l...原创 2020-03-05 21:34:42 · 1731 阅读 · 0 评论 -
ccf csp-201604-4-游戏(bfs)
原试题点击此处1、将连续的时间离散化,在矩阵中增加一维来标记时间。2、由于本题是要求 最快 到达(n,m)的时间,因此用bfs。点击此处查看 dfs与bfs的区别代码如下#include<iostream>#include<queue>#include<cstdio>using namespace std;int n,m,vis[105][1...原创 2020-02-21 16:13:43 · 1496 阅读 · 0 评论 -
ccf csp-201612-4-压缩编码(区间dp)
区间DP模板:三层循环循环1 --------- 枚举区间长度循环2 --------- --------- 枚举区间开始位置(同时计算出区间结束位置)循环3 --------- --------- --------- 枚举区间分割点k,并结合状态转移方程进行DP本题还可用四边形优化,即:s(i,j-1)<=s(i,j)<=s(i+1,j) (s(i,j)=k)未...原创 2020-02-19 17:37:57 · 324 阅读 · 0 评论 -
ccf csp-201703-4-地铁修建(最小生成树的变通)
原试题点击此处本题可以直接套用最小生成树模板,但是要稍作变通,即循环终止条件应该由边数等于顶点数-1(边数==n-1)变为顶点1和顶点n都已加入到树中(Find(1)==Find(n))代码如下#include<iostream>#include<cstdio> #include<algorithm>using namespace std;st...原创 2020-02-18 11:57:41 · 435 阅读 · 0 评论 -
ccf csp-201709-4-通信网络(dfs+有向图的遍历)
原试题点击此处刚开始正反向dfs,只得了25分,后来参考dalao代码,发现可以将邻接表和领接矩阵相结合,邻接表用于存储图+dfs遍历(因为是有向图),领接矩阵则用于记录顶点与顶点之间的联系(换言之,将有向边转换为无向边存储),最终,如果该结点到其他任意结点都有边,则ans++,输出ans即可。25分代码#include<iostream>#include<vecto...原创 2020-02-17 21:19:22 · 389 阅读 · 0 评论 -
ccf csp-201712-4-行车路线(Dijkstra算法)
注意:距离要用long long,否则部分用例通不过!!!因为连续的小路会出现很多平方!!!代码如下#include<iostream>#include<vector>#include<stdio.h>using namespace std;const int N = 1010;const long long INF = 1e18;int...原创 2020-02-17 16:46:46 · 385 阅读 · 2 评论 -
ccf csp-201803-4-棋局评估(回溯)
最优策略(难点):对于alice而言,他下棋的最优策略是让棋盘最后下完得分的值越高越好,反之,bob的最优策略就是让得分越低越好。尝试所有空位置,回溯求解。代码如下#include<iostream>#include<cmath>#include<climits>using namespace std;int a[3][3];bool i...原创 2020-02-17 02:38:32 · 471 阅读 · 1 评论 -
ccf csp-201809-4-再卖菜(dfs+剪枝)
思路:d1存放第一天菜价,d2存放第二天菜价.递归体————其中有 (d1[n-1] + d1[n] + d1[n+1]) /3 = d2[n]所以d1[n+1] = 3 * d2[n] - d1[n-1] - d1[n],…… ……①或d1[n+1] = 3 * d2[n] - d1[n-1] - d1[n] + 1,…… ……②或d1[n+1] = 3 * d2[n] - d1[n...原创 2020-02-17 01:34:11 · 367 阅读 · 0 评论 -
Dijkstra与SPFA算法的不同之处对比
SPFA算法 此处为SPFA算法详解 用dis数组记录源点到有向图上任意一点距离,其中源点到自身距离为0,到其他点距离为 INF。将源点入队,并重复以下步骤: 1、队首x出队 2、遍历所有以队首为起点的有向边(x,i),若dis[x]+w(x,i)<dis[i],则更新dis[i] 3、如果点i不在队列中,则i入队 4、若队列为空,跳出循环;否则执行1Dijkstr...原创 2020-02-14 13:07:59 · 1852 阅读 · 1 评论 -
ccf csp-201812-4-数据中心(最小生成树+并查集)
原试题点击此处代码如下#include<iostream>#include<algorithm>using namespace std;const int N = 100005;int n;struct EDGE{ int u,v,w;}edge[N];int Arry[N];int cmp(EDGE a,EDGE b){ return a.w&...原创 2020-02-12 15:40:09 · 1273 阅读 · 0 评论 -
ccf csp-201903034-消息传递接口(队列)
背景消息传递接口(MPI)是一个并行计算的应用程序接口,常用于超级计算机、计算机集群等环境下的程序设计。题目老师给了 T 份 MPI 的样例代码,每份代码都实现了 n 个进程通信。这些进程标号从 0 到 n − 1,每个进程会顺序执行自己的收发指令,如:“S x”,“R x”。“S x”表示向x 号进程发送数据,“R x”表示从 x 号进程接收数据。每一对收发命令必须匹配执行才能生效,否则会...原创 2020-02-11 16:08:33 · 453 阅读 · 0 评论