赛前必看——基于算法竞赛入门经典的微小技巧整理(备考实用)

博主分享了刘汝佳老师算法竞赛入门书籍的学习心得,涵盖基础技巧如整数运算、格式化输出、变量输入、循环控制、科学计数法等,还提到了内存操作、状态转换问题解决方法和比赛常见技巧。适合算法竞赛初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

这篇帖子是我在参考刘汝佳老师的算法竞赛入门经典这本书复习备赛的时候,记录了一些算法竞赛的小技巧,供自己复习,供各位参考。分享给各位在算法竞赛路上努力的朋友们~(注:很多是非常基础的,打牢基础也很重要)
持续更新ing


Part one

  1. aabb=a×1100+b×11
  2. 整数/整数=整数 浮点数/浮点数=浮点数
  3. 计算结果为25,要输出025:printf("%03d",m),其中m为存25的变量
  4. double类型的变量输入,必须是scanf("%lf",&r),其中r为变量
  5. while循环适合用于:循环的次数不确定,且n也不是“递增式”的循环
  6. 10的负6次方:1e-6
  7. scanf函数的返回值是成功成功输入变量的个数,常用此技巧输入不确定个数(如题目中提出输入一些整数,)
  8. 要计算只包含加法、减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。
  9. 用scanf输入long long型的时候,格式符为%I64d
  10. 当数组需要开的很大的时候,务必声明在main函数之外,否则将异常退出。

Part two

  1. 数组a复制k个元素到数组b:memcpy(b,a,sizeof(int)*k
  2. 类似1,把数组a清零:memset(a,0,sizeof(a)),且memset需要头文件string.h
  3. 对于类似于不断开灯关灯这样的两个状态转换的问题,使用数组存储状态并使用非运算符改变状态:a[j]=!a[j]

总结

注重基础 别让语言绊倒你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值