自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PAT 甲级 The Largest Generation(25)

题目要求树中兄弟最多的一层的深度和这一层结点的个数。用邻接表来存这个树,BFS来求各个结点的层数。使用了一个数组a来保存每个结点的层数,然后递归求下一层结点层数,即它的双亲结点层数加1,邻接表中无后继元素那么递归结束。#include<iostream>using namespace std;void ge(int* a, int** list, int t);int main(...

2018-02-20 13:31:08 169

原创 PAT甲级 Stack (30)

这个题要给一个堆栈赋予输出中位数的功能,直接一想这不是快速排序一下就能过的吗nlogn的复杂度,当然要是十万个数据的话。。网上大部分人使用树状数组做的,思路是用A数组各元素下标表示该元素的数量,然后用树状数组给这个虚拟A数组求和,得到最小的,但是和又为1的那个下标,用二分法写就很方便。总体来说这个算法求和乘以二分,是(logn)^2的复杂度,可以说是相当方便了。其中二分法是收敛到左侧小于中位和,而...

2018-01-04 22:31:20 240

转载 程序设计基础 树状数组

第一次尝试写甲级三十分的题目,据说要用到树状数组,去学习了一下如下内容基本是对原作者:半根毛线code     作品的转载及注释http://www.cnblogs.com/hsd-/p/6139376.html    欢迎大家转去原链接在解题过程中,我们有时需要维护一个数组的前缀和S[i]=A[1]+A[2]+...+A[i]。但是不难发现,如果我们修改了任意一个A[i],S[i]、S[i+1]...

2018-01-04 19:28:30 286

原创 PAT甲级 A+B in Hogwarts (20)

这个题目真的太水了,时钟转换类型的题,主要考察英语,我大概要读三分钟吧。。#includeint main() { long int a[3]; long int b[3]; scanf("%ld.%ld.%ld", &a[0], &a[1], &a[2]); scanf("%ld.%ld.%ld", &b[0], &b[1], &b[2]); for (int i = 0;i <

2017-12-31 23:15:58 205

原创 程序设计基础 scanf详解

虽说这个一般不该归到算法里面,但是毕竟基础程序设计里用的还是比较多。尤其是今天在用C语言读字符串的时候,发现了很有趣的现象,怎么去处理最后一个回车。先占个坑,明天总结一下这个问题。

2017-12-31 22:36:13 554

原创 PAT甲级 Highest Price in Supply Chain (25)

这个题目就很简单,硬说的话算树的遍历吗(其实完全不能算。。直接把结点过了一遍),给出每个结点的根结点,找出最长的,最后输出这样最长的总共有几个。找个数的话在更新max的时候把count清零,在找到等于max的另一条路径时count++就好。需要注意的是最长路径究竟是多长。最好找纸笔画一下图,就会发现按代码的思路去做的话求出来的是最长路径+1,所以最后要除掉#include#include#

2017-12-31 00:31:04 336 1

原创 PAT甲级 Kuchiguse (20)

这个题目要求输出几个字符串的最长后缀,题意还比较简单 思路:1,首先创建动态字符串数组,分配相应的内存空间 2.读入n个字符串(n>2&&n<101) 3.比较前两个串的后缀,找出com字符串 4.把第三个以及以后的字符串从尾巴开始和com数组比较,对com进行相应的更新,最后输出即可,com[0]=0输出nai这个题目最大的难点是读入带空格的字符串,VS不让用gets,于是使用scanf(

2017-12-30 23:14:31 230

原创 PAT甲级 Consecutive Factors (20)

这个题目要输出某个数字分解的所有可能分解方式中,最长的一个连续因子列 如630=3*5*6*7 其中5*6*7是一个连续因子列算法分析:1.不可以用质因子分解的方法,那样找连续因子会太麻烦,选用遍历法找因子2.遍历时,应使用二重循环,第一重选择因子串的第一个因子,第二个循环选择后续的连续因子,不要被实例的因子列分解误导了,从3开始的因子列,发现4不是下一个因子,直接下轮循环,到从5开始时,

2017-12-29 23:29:00 187

空空如也

空空如也

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

TA关注的人

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