自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 问答 (5)
  • 收藏
  • 关注

原创 PAT 1087 C++版

PAT 1087 C++版1.题意给出图的顶点,边信息。求出输入的起始点到ROM的最短距离,如果有不止一条路径,那么找出幸福值【幸福值的标记是通过每个顶点的幸福值确定的】最大的那条路径。2.分析其实题目大都是相似的,主要是考察 dijkstra 算法,这个算法是用于计算单源最短路径,我们只需要计算从 staLoc 到 ROM上的最短路径即可,然后记录其每个路径的最大幸福值;同时记录最短路...

2019-02-23 11:30:37 540

原创 C++中如何实现四舍五入

C++中如何实现四舍五入?1.先看代码#include <iostream>#include <string>#include<cmath>#include <map>using namespace std;int main (){ double a = 3.25; double b = 3.26; printf("a ...

2019-02-21 20:45:43 3805 4

原创 20190221

20190221从小到大,你一直没有拿出一件可以值得炫耀的事儿。

2019-02-21 20:41:10 287 1

原创 PAT 1072 C++版

PAT 1072 C++版1.题意给出一个图的顶点,以及边信息。每个顶点代表的含义是一个居民点。现在需要在这些居名点之间修建一个gas station。求出一个合理的gas station,使得这个gas station到任一个居民点的最近距离minimum取到最大值,但是又不能超过gas station所能服务的最远距离Ds。这个最远距离Ds是程序中的一个输入。如果存在多个minimum相...

2019-02-21 20:37:38 673

原创 PAT 1018 Public Bike Management

PAT 1018 C++版[updating…]1.题意共享单车需要维护,如果一个车站能最多容纳Cmax【Cmax是一个偶数】辆车,一个车站的当前车数为Cmax/2,则称之为最佳状态。现在给出不是最佳状态的车站,问到这个车站的路径,以及从管理中心需要发送和收回的车子数。2.分析2.1 方法1单纯的 dijkstra方法是难以满足这题的需求。下面给出原因:因为需要求出收回的车子数,所以...

2019-02-20 17:03:38 435

原创 PAT 1030 C++版

PAT 1030 C++版1.题意给出一个图的顶点,边信息,边权信息【在本题中,边权有两种,一个是路径长度;一个是花费成本】。让你求出从一个点到另外一个点的最短路径,如果有多个最短路径,那么就输出最小成本的那条。2.分析dijkstra算法题主要使用的资源情况如下:int G[maxn][maxn];//保存两个顶点的边信息int cos[maxn][maxn];//两个顶点边的...

2019-02-20 09:58:27 384

原创 PAT 1117 C++ 版

PAT 1117 C++版1.题意E – that is, the maximum integer E such that it is for E days that one rides more than E miles.有E天的骑行距离超过Emiles,这个E取最大整数值。2.分析思路1用一个数组dis保存每天的骑行距离次数。例如,如果第一天骑行了2miles。那么得到结果...

2019-02-19 20:59:51 411

原创 PAT 1122 C++ 版

PAT 1122 C++版1.题意给出一个无向图的顶点,边信息。然后输入一串查询数字,问,输入的这些查询数字是否能够组成一个simple cycle。这里simple的定义指的是:不含冗余顶点cycle的定义就是:给出的顶点集形成了一个环如果是simple cycle,则输出YES;如果不是simple cycle,则输出NO;2.分析针对题意,我们可以清楚的了解到:如果是一个s...

2019-02-19 18:33:15 436

原创 求一图中最短路径中的最大顶点权之和

求一图中最短路径中的最大顶点权之和 C++版1.题意之前,我们曾说过如何求一个图中的最短路径条数。但是我们需要考虑到一种情形是:如果各个顶点的顶点权重不同,那么就会产生新的需求:如何在最短路径中找出最大顶点权之和呢?2.分析使用 dijkstra 算法添加如下部分代码:在路径长度判断时,如果两种方式的路径相同,则说明有多条路径,这个时候就需要判断哪条路径的顶点权和最大使用if(w[...

2019-02-19 09:00:10 1336

原创 单源最短路径算法之Dijkstra算法

单源最短路径算法是《数据结构与算法》中非常重要的一个知识点。本文在介绍该算法的基本知识之外,还介绍如求解最短路径的条数问题。

2019-02-18 22:01:02 2549

原创 给出相对排名,输出总排名 C++版

给出相对排名,输出总排名 C++版1.题意给出相对排名,输出总排名。比如现在有分数: int array[10] = {100,100,92,92,92,83,74,65,65,65}; 。现在你需要输出他们的总排名,即想得到的输出结果就是:1 1 3 3 3 6 7 8 8 82.分析常用的实现需要记住的。3.代码#include <iostream>using na...

2019-02-17 15:01:03 1800

原创 PAT 1056 C++ 版

PAT 1056 C++ 版1.题意这道题的难点在于理解题意。我真的看了好久。题目的意思主要是:step 1:给出n只老鼠的体重【n只老鼠的体重不再变化,(虽然在题目开始的地方,有提及吃Rice的故事,但是跟解题没有半毛线关系)】。step 2:给出一串初始的下标索引(6 0 8 7 10 5 9 1 4 2 3),根据这个下标索引将n只老鼠根据Ng个分成若干组,如果最后剩下且不足以N...

2019-02-17 14:42:36 454

原创 回顾我的考研生涯

2018年的考研就到此结束,这一年过得太快,太快,回想我2016年十一月份开始准备考研,到现在已经快一年半的时间了。虽然结果不足人意,但是我想这其中的教训值得我深刻的反思!今天是2018年的2月3号,我准备考浙大那会儿的日子是2016年11月10号来着。考研本就是一个高风险的事情,但是我还是做了,特别是对于浙大这种稍微好些的大学,风险自不必多说。2016年的十月份开始时,想报考成都电子科技大学...

2019-02-17 10:07:40 634 4

原创 Heroes never die

Heroes never die早上年会,CTO说:Heroes never die。对于怪兽,这将会是决胜的一年,对于我自己这也是关键的一年。希望不负时间,不负自己。既往不念,纵情向前。之前死过的自己,会迎来重生。...

2019-02-16 14:35:47 675

原创 PAT 1105 C++ 版

PAT 1105 C++版1.题意给出一串数字,让你给出该串数字从大到小的螺旋输出。2.分析我依稀记得,我在大二的时候,就写过这道题,但是当时我一下午的时间都没有写出这道题。原因很简单,我拿到题目只有就是写写写,而不懂得思考,导致写了一下午也没有任何的结果。后来我慢慢知道了,只有将题目高度抽象,才可以快速的解出题目。 分析过程如下:注意这里的蓝色框框中的东西代表的就是 最后抽象出来的东...

2019-02-14 19:20:32 464

原创 找出一个无向图中的联通块的个数 C++ 版

找出一个无向图中的联通块的个数 C++版1.题意找出一个无向图中的联通块的个数。2.分析使用深搜即可3.案例演示代码#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int v[1001][1001];//记录连通路线 默认为0 不连通...

2019-02-14 15:37:51 2104

原创 PAT 1083 C++版

PAT 1083 C++版1.题意给出学生的 name,id,grade信息,想输出在指定分数范围内的按照降序学生名单。2.分析题目比较简单。使用结构体存储学生信息使用sort对结构体进行排序输出符合条件的结构体即可3.代码#include<cstdio>#include<algorithm>#include<cstring>#inc...

2019-02-13 17:55:27 370

原创 C++ 中 fill() 的使用

C++中fill()的使用1.什么是fill()?当我们想对一个容器的值进行填充时,我们就可以使用fill()函数。Fill range with valueAssigns val to all the elements in the range [first,last).2.怎么用fill()?2.1 使用fill()函数填充普通数组代码如下:#include <i...

2019-02-13 07:10:05 42853 3

原创 C++ 代码的性能优化

C++的代码性能优化1.bool型数组和int型数组做判断的区别经常有的需求就是,遍历图的节点,如果遍历过,就将 visit[curNode]置为1或者true。那么 bool 型数组和 int 型数组做判断的效果谁更好呢?int visit[1001];//记录是否遍历过bool visit[1001];//记录是否遍历过使用int型数组时使用bool型数组时可以近似认为两...

2019-02-12 21:29:10 1062

原创 PAT 1013 C++ 版

PAT 1013 C++版 【updating…】1.题意给出无向图的顶点,边信息。给出一个查询数据,判断如果从图中去掉这个顶点,以及这个顶点外的所有边时,求:还需要几条边使得这个无向图连通? 如果不需要任何边,则输出0;如果有的话,则输出需要的边数n。2.分析题目比较简单。 涉及到无向图顶点和边的存储。我这里选择的是使用结构体存储每个顶点的信息。然后针对每一个当前查询的节点,从中删除...

2019-02-12 20:42:49 407

原创 PAT 1154 C++ 版

PAT 1154 C++版1.题意给出一个无向图的顶点和边信息,然后紧接着给出若干个查询样例。现在需要让我们判断,给出的查询样例是否满足 k-coloring。所谓的 k-coloring 指的是:A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertic...

2019-02-12 09:54:08 453

原创 Mysql的delete . join 语法

delete ... join 语法1.需求使用delete 和join语句删除某个表中符合要求的数据。2.代码delete sp from stagedb.s_poi spinner join datamart.dim_shop dson sp.poi_id = ds.shop_idand sp.unique_index = ds.bns_area_hash;注意这里 dele...

2019-02-11 17:39:35 5235

原创 C++中priority_queue 使用

C++中priority_queue 使用1.priority queue干什么?普通的queue队列是没有优先级的。只是普通的先进先出。但是有时候有的需求是:需要对保存的元素进行一个顺序的控制。那么如何按照某个指定的优先级对元素存储呢?这时候,就出现了priority_queue数据结构,即按照某种指定的优先级存储元素,而不是再按照先进先出了。比如说,对于int型元素,我们控制其输出优先级...

2019-02-08 22:37:05 249

原创 PAT 踩过的坑

PAT踩过的坑1.输出格式的问题这里想吐槽一下pat 的输出 格式问题。pat常见的输出格式是:两个数字之间通常有空格,但是最后一个数字之后是没有空格的。这个一般很好实现。在i!=n-1 输出空格即可。如果i==n-1时,就只输出结果即可。但是,今晚遇到了一个更加奇葩的题。题目是甲级1101,我在输出格式的地方卡了好久。我的输出代码是: if(count == 0) cout &lt...

2019-02-08 21:12:40 505

原创 C++中字符串和数字相互转换的常用函数

字符串转数字的stoi()函数,字符串转double类型的stod()函数。

2019-02-08 15:56:47 997

原创 Dev-C++ 5.11不支持C++ 11编译

Dev-C++ 5.11不支持C++ 11编译1.问题Dev-C++ 不支持 C++ 11新特性。例如在使用编译如下这段代码时,就会报错。#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<iostream>using ...

2019-02-08 15:36:29 7522 6

原创 使用scanf输入string类型变量

使用scanf输入string类型变量1.scanf如果想直接使用scanf输入string类型,会报错。应该使用下面的方法:2.代码#include <stdio.h>#include <string>#include<iostream>using namespace std;int main(){ string a; a.resize(...

2019-02-07 19:47:48 26383 6

原创 C 语言中 char[] 的操作函数

C语言中char[]的操作函数1.赋值操作在C语言中,char型数组是不可以直接赋值的。例如在如下的代码中,会得到错误:char c1[20] = "women";char c2[20] ="";c2 = c1; 错误[Error] invalid array assignment正确的使用方式是:strcpy(c2,c1); 2.比较操作如何比较两个 char[]型数组...

2019-02-07 19:08:10 4972

原创 PAT 1153 C++ 版

PAT 1153 C++版【存在问题】1.题意给出一串参加pat考试的人的名单。接着给出一系列查询的名单,让你输出其查询结果。2.分析题目比较繁琐。我的主要思想如下:针对不同的输入type,进行不同的测试程序,得到不同的执行结果。3.代码#include<cstdio>#include<cstring>#include<algorithm>...

2019-02-07 18:45:56 487

原创 C++ 控制输出格式

C++控制输出格式1.控制输出位数,如果位数不够,使用前导0#include<iostream>#include<iomanip> using namespace std; int main(){ int a = 4; cout<<setfill('0')<<setw(4)<<4<<endl;...

2019-02-07 11:24:06 735

原创 PAT 1152 C++ 版

PAT 1152 C++版1.题意给出一串数字【其实是字符串】,让你找出其中连续的字符串是素数的串。2.分析素数判断由字符串生成数字数字大小范围的界定3.代码#include<cstdio>#include<cmath>#include<iomanip>#include<iostream>#define maxn 100...

2019-02-07 10:31:36 441

原创 PAT 1150 C++ 版

PAT 1150 C++版1.题意给出一个无向图的顶点,边信息。然后给出一系列的访问序列,判断这些序列属于哪种序列。然后给出最短的路径信息。路径类型有:TS simple cycle if it is a simple cycle that visits every city;TS cycle if it is a cycle that visits every city, but n...

2019-02-06 20:25:51 434

原创 PAT 1149 C++ 版

PAT 1149 C++版1.题意有些商品是不能一起存放的,比如说氧化剂和易燃液体。现在给出不能共存的商品对。然后再给出一串商品名单,问给出的这些商品名单是否可以一起存放?2.分析想到商品对的时候,可能第一反应是使用map,但是本题使用map并不可以【笔者认为不可以,如果大佬有使用map,还请不吝赐教】。因为同一个物体可能有多个不能兼容的物体。所以使用map不大合适。然后我想到的就是使用...

2019-02-06 19:03:38 463

原创 PAT 1148 C++ 版

PAT 1148 C++版 [存在问题]1.题意简单版本的狼人杀游戏。所有的最终序列需满足如下关系:有且仅有两个狼人,且其中的一个狼人在说谎陈述内容不应该有冲突2.分析如何做这种题目?我其实分析了很久,实在想不出什么好的解法,于是采用暴力破解的方法。思路如下:step 1:使用双层for循环,对陈述内容进行处理。假设i,j两人都是说谎的人,再在此基础上分别假设i是狼人或者j是狼...

2019-02-06 08:46:12 476

原创 PAT 1146 C++ 版

PAT 1146 C++版1.题意给出图的顶点,边信息。再给出几串顶点序列。判断给出的顶点序列是否是该有向图的拓扑序列。2.分析用一个邻接矩阵作为边信息的存储。info[maxn][maxn]用一个数组作为顶点度数的存储,deg[maxn]每次遍历,判断current vertex的度数是否为0,如果为0,则从 deg[maxn] 中减去 current vertex 发出的度数;否...

2019-02-05 17:47:52 434

原创 PAT 1078 C++ 版

PAT 1078 C++版1.题意这题是pat 1145的基础版。给出一串数字,让其插入到哈希表中,然后给出这串数字在哈希表中的下标。如果有哈希冲突产生,则使用二次探测的方法解决冲突。2.分析这题还是很好写的,关键是对二次探测的理解。3.代码#include<cstdio>#include<cmath>#include<cstring>#in...

2019-02-05 16:43:41 385

原创 如何求出两个数组中的所有公共元素

如何求出两个数组中的所有公共元素?【updating…】这里我主要讲一下我自己的想法,欢迎各位同学留言。1.方法11.1 基本思想step 1:先将两个数组从小到大排序,step 2:接着使用一个while循环,找出其中的公共元素,这样得到的时间复杂度是 O(maxn(m,n))。1.2 代码实现略...

2019-02-04 11:30:26 5037

原创 数据结构之哈希详解

数据结构之哈希详解【updating…】1.什么是哈希?2.如何设计哈希函数?3.哈希冲突?怎么解决哈希冲突可以说是哈希结构中最重要的话题了。即使一个哈希函数设计的很好,但是仍然避免不了元素冲突的产生,那么该如何解决哈希冲突呢?普通的解决哈希冲突的方法有:开放地址法拉链法下面详细地对解决哈希冲突的方法进行一个介绍。3.1 开发地址法...

2019-02-04 10:30:43 523

原创 PAT 1145 C++ 版

PAT 1145 C++版1.题意哈希函数是:H(key)=key%TSize给出一串数字,将这串数字按照上述的哈希函数插入到哈希表中,如果遇到哈希冲突,则使用平方探测法解决冲突。【如果对平方探测法不理解的,可以看我的博客】在给出一串数字,计算查询这串数字的平均查询次数给出的Msize,可能不是一个素数,所以需要table Size 设置成 >= Msize 的素数2.分析...

2019-02-04 10:10:06 566

原创 PAT 1142 C++版

PAT 1142 C++版1.题意给出一个图的信息。判断给出的顶点是否能够组成一个maximal clique。其中clique的判断依据是:给出的顶点集合中任意两个顶点都是联通的。maximal clique的判断依据则是:给出的顶点集合中任意两个顶点都是联通的。如果从图中再加入任何一个节点,则会导致节点不再连通。2.分析本题的关键是如何将顶点的边信息进行有效的存储。最起初的时候...

2019-02-03 20:59:31 401

空空如也

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

TA关注的人

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