自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2018蓝桥杯国赛:激光样式

2018蓝桥杯国赛:激光样式激光样式x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。要求提交一个整数,表示30台激光器能形成的样式种数。注意,只提交一个整数,不要填写

2020-11-04 17:01:19 133

原创 第十一届蓝桥杯大赛软件类省赛:试题J:网络分析

第十一届蓝桥杯大赛软件类省赛:试题J:网络分析原题:利用并查集把相互连接的节点并入同一集合,因为并查集中实现了树的压缩,所以循环遍历查找在同一集合中节点的操作复杂度比较低。#include <iostream>using namespace std;int arr[100001]; //记录集合信息int num[100001] = { 0 }; //记录储存信息大小int myfind(int i) { //实现查找祖先节点并缩短树高,使其子代节点向父节点集中

2020-09-29 17:28:28 579

原创 L2-026 小字辈,递归

L2-026 小字辈原题:本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首

2020-06-07 16:54:59 234

原创 L2-013 红色警报 (25分),Tarjan

L2-013 红色警报原题:战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城

2020-05-28 20:53:32 448

原创 L2-001 紧急救援 (25分),Dijkstra+DP

L2-001 紧急救援原题:作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城

2020-05-25 21:59:44 794

原创 并查集代码详解附ptaL2-024部落

并查集并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。数组实现集合操作初始化数组为-1,对于数值,如果为负值表示为祖先节点,负值越小表示此集合节点越多,从而方便并集操作,实现高度压缩,正值为父节点关键代码:int myfind(int i) { //实现查找祖先节点并缩短树高,使其子代节点向父节点集中 if (arr[i] < 0) //数组的初始化是祖先为自身,即节点值为下标 return i; //祖先为自身即返回 r

2020-05-25 13:09:49 290

原创 快速幂代码详解

快速幂将幂指数拆分成二的幂次相加的形式,从而各各相邻幂次之间存在平方关系,再累加得出结果关键代码//快速幂 O(logN)//求a的b次幂//将b拆成2的幂相乘,每个2的幂之间有乘积关系long long FastPower(int a, int b) { long long base = a; //b二进制位对应的幂值 long long solve = 1; //累计结果值 while (b != 0) { //由于不断右移最后b会为0 if (b & 1) { /

2020-05-21 22:16:29 388

原创 Floyd(弗洛伊德)算法代码详解

Floyd是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法关键代码vector<vector<int>> Floyd(vector<vector<int>> matrix) { vector<vector<int>> m = matrix; //matrix是邻接矩阵,m为matrix的复制 vector<vector<int>> s(matrix.size(),vector&l

2020-05-21 22:07:02 1395

原创 Dijkstra(迪杰斯特拉)算法代码详解

Dijkstra是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。权值为非负,贪心策略。关键代码vector<int> Dijkstra(vector<vector<int>> matrix,int s) { //matrix邻接矩阵,s源点 int n = matrix.size(); //节点总数 vector<int> dis(n,INF); //distance记录最短路径长度,初始值无穷大(自定义常量) vec

2020-05-21 21:55:09 1176

空空如也

空空如也

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

TA关注的人

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