蓝桥杯复习笔记

版权声明:转载请注明出处 https://blog.csdn.net/FGY_u/article/details/83999342
BASIC 3 字母图形

这一题可以简化思路,规律从两个循环中获得(i - j)

BASIC 10 十进制转16进制

十进制转x进制的题目惯用模板,注意如果要转的进制超过10,要考虑字母的情况。

  if (a == 0) 
  {        
    cout << "0";    
  } 
  else 
  {        
       while (a != 0) 
           {            
           if (a % x >= 10)                
                b[i++] = a % 16 + 'A' -10;            
           else                
                b[i++] = a % 16 + '0';            
           a = a / 16;        
           }    
  }
BASIC 15 字符串对比

大小写转换

 tolower() toupper()
BASIC 18 矩形面积交

判断两个举行是否重合,假设x1,y1是矩形1的左下角,x2,y2是矩形1的右上角。x3,y3是矩形2的左下角,x4,y4是矩形2的右上角。

if((x2 < x3 && x1 < x3) || (y2 < y3 && y1 < y3) || (x4 < x1 && x3 > x1) || (y4 < y1 && y3 < y1))

如果这个要是满足了,那么说明就不重合。

算重合面积,只要把两个x轴上的中间值,y轴上的中间值相减、相乘即可。

BASIC 22 FJ的字符串

掌握递推,要先写出公式。

 f(n) = A;   n = 1;
 f(n) = f(n - 1) + (char)(n + 'A' - 1) + f(n - 1); n > 1
string dfs(int n) 
{    
   if(n == 1) {        
   return "A";    
   } else {        
   return dfs(n - 1) + (char)(n + 'A' - 1) + dfs(n - 1);    
   } 
 }
BASIC 25 回形取数

把访问过的点标记成-1,这样遇到-1就转弯

BASIC 27 2n皇后问题

先把算出n皇后的可能,每次条件已成立,把这n个皇后算成障碍物,再给来一遍bfs。

BASIC 29 高精度加法

加法:先把两个数都倒过来一下,这样方便计算。

引申乘法:

扫描二维码关注公众号,回复: 4172377 查看本文章

https://blog.csdn.net/FGY_u/article/details/83999413

ALGO 4 节点选择

用树形二叉树进行解题,树形二叉树更详细的解释见
https://blog.csdn.net/txl199106/article/details/45373507

ALGO 5 最短路径 ??

无负边,可以用迪杰斯特拉算法。
存在负边的话,用Floyd或者SPFA。

ALGO 9 操作格子

线性树

ALGO 11 瓷砖铺放

用递归的时候记得要解除前一状态。
这题用动态规划的方法也可以,关键是要弄清楚其中的动态方程。

v[i] = v[i-1] + v[i-2];

后一个等于前一个(v[i - 1] + v[i - 2] )是因为当前等于前一个长度加1,前前个长度加2.

复习了迪杰斯特拉算法

PAT_A Public Bike Management

猜你喜欢

转载自blog.csdn.net/FGY_u/article/details/83999342