C++经验:做题技巧、思路

C++经验:做题技巧、思路

小编原创,想看更多可关注小编。

目录

 

1.做题技巧

2.做题思路


1.做题技巧

  1. 要输入输出时,为了节省时间,可以用C语言的输入输出,即 scanf 和 printf ,当然在不了解的情况下可以用C++语言的输入输出,即cin和cout。
  2. 当存储数据大于20亿左右时,要用long long来存储数据(不要用int,int会出问题)
  3. 纯是字符串可以用puts();来输出(要引入#include<cstdio>),如puts("O(∩_∩)O");
  4. 定义数组时尽量设为全局数组,这样会自动将数组全赋值为0。
  5. 若a要×或÷ 2^n可用位运算:a>>n;a<<n;
  6. 定义数组时要比题目定的数据大一些,这样可防止测试程序数据出现误差。
  7. 有些要运用数学的东西,一些不用手写,#include<cmath>和#include<algorithm>里面或许有你要用的数学函数,读者可以自己搜哦~
  8. 当遇到有t组数据时:while (t--){……}

2.做题思路

  1. 枚举法(时间复杂度较低时可用)
  2. 深度优先搜索(并剪枝,这样可以提高效率,当然可以加上记忆化搜索)
  3. 广度优先搜索(即宽度优先搜索)(并剪枝,这样可以提高效率,当然可以加上记忆化搜索)
  4. 贪心算法(要考虑是否能用贪心算法,许多题目看起来能用实际上用了是错的)
  5. 二进制枚举子集(题目要求内存得够)
  6. 动态规划(这可够难的了)
  7. 查找算法(可用于查找某东西,建议用二分查找法)
  8. 排序算法(有些题得将数据排序,建议用sort()函数,需#include<algorithm>,有时得自己写)
  9. 使用C++专门的STL(即queue、set、map、vector之类的)
  10. 高精度算法(数据太大时可用)
  11. 用数学知识(如三角形的内角和是180°)
  12. 图的算法(还有各种技巧,如连通块有n个点,n-1条边)
  13. 多开动脑筋(如某题对的人数有n人,只需要将总人数-错的人数即可求出n)

小编原创,想看更多可关注小编。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值