(目标300+)

目录

  • 经验
    • 1.对题目中的数据范围进行枚举、试探,找到一个大致的范围
    • 2.递归求解的思想
    • 3.字符串处理类的模拟题,一定要有清晰的结构,可以采用一定的存储结构先存储再处理,不要想着在主函数中边输入边处理,那样反而会让过程更加复杂。清晰的数据结构是关键。
    • 4.感觉一道很简单的题做出来了却一直WA的时候,一定要多读几遍题目,想一想有没有别的没有考虑到的情况,这种情况往往是先入为主带来的对题意的误解。另外在读题目思考场景的时候不要想当然,一定要仔细分析一下各种可能性
    • 5.时间复杂度优化技巧
    • 6.有限状态机的思想
    • 7.基本的数学知识和从题目中思考、发现技巧的能力,对题目中的数学关系进行分析和建模的能力
    • 8.AC自动机
    • 9.动态规划
    • 10.树
  • 技巧
    • 1.数字转16进制(转义字符表示)
    • 2.求素数的方式
    • 3.拓扑排序判断是否存在环
    • 4.C++大段IO时提高效率
    • 5.C++16进制字符串(string类型)转数字
    • 6.C++输出16进制数字
    • 7.需要对数组中元素进行删除时,可以采用一个下标数组来保存顺序,类似于静态链表。
    • 8.十进制转二进制
    • 9.string类用法小结
    • 10.尽量用vector,少用数组+下标变量的方式,很容易出错,并且涉及两个数组赋值的时候很容易运行错误

经验

1.对题目中的数据范围进行枚举、试探,找到一个大致的范围

例题:ADPC01-正赛D质数区间
在这题中1<=l<=r<=1e18,乍一看好像区间太大。但是明确思路以后,发现素数集合是按照集合元素和的大小从小到大排序的,那么可以根据素数和进行枚举,记录下字符串长度。经过试探,素数和最大到2096,那么这个范围就找到了。

scanf("%lld%lld",&a,&b);for(int i=2;i<100000&&cur<b;i++){ //试探过,i最大到2096,这个范围的素数也就300来个,所以记忆化ll len=calc(0,i).second;if(cur+len>=a) print(0,i);//进入区间,开始输出else cur+=len;}

例题:ADPC01-正赛K关于哥俩好的数字这件事
这道题的解决思路不难想到,从1开始枚举自然数,找到符合题目要求的集合。这道题首先一个问题就是我不知道要寻找大概的数据范围,枚举到哪一个自然数?在我的潜意识里就认为题目中的数位和太大,要找的自然数太大,无法确定范围。但其实仔细思考一下,一个6位整数的数位和,最大也是6*9=54,也就是说所有<=6位的整数的数位和都在【1,54】这个范围内,那么进一步可以算出枚举的最大自然数不会超过600000。我在做题时因为认为无法找到枚举的最大自然数(我压根就想不到要找),所以就认为找到的第一个满足n要求的集合就是答案,但其实之后满足n要求的集合也有可能是答案。所以正解应该是要保存最小值,并且继续枚举到最大范围。

2.递归求解的思想

同样是例题:ADPC01-正赛D质数区间
在试探以后得出素数和最大不超过2096,那么我们就可以从2开始到2096进行枚举,按照从小到大和字典序的顺序计算字符串长度,从l开始输出,一直到r。那么关键问题在于如何按照从小到大和字典序的顺序计算字符串长度? 题解用到这样一个思想:

备考CSP刷题经验总结相关推荐

  1. 拿到腾讯字节快手 offer 后,他的 LeetCode 刷题经验在 GitHub 火了!

    杨净 发自 凹非寺  量子位 报道 | 公众号 QbitAI 今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了. 一位Java研发工程师分享了一个名为「LeetC ...

  2. 拿到腾讯字节快手offer后,他的LeetCode刷题经验在GitHub上收获1.3k星

    杨净 发自 凹非寺  量子位 报道 | 公众号 QbitAI 今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了. 一位Java研发工程师分享了一个名为「LeetC ...

  3. csp刷题总结(如此编码python版本)

    csp刷题总结(如此编码python版本)

  4. 2023年大年初一 —— 牛客网刷题经验分享~

    2023年大年初一 -- 牛客网刷题经验分享~

  5. leetcode 滴滴_拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

    杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了. 一位Java研发工程师分享了一个名为「LeetCo ...

  6. 拿到腾讯字节快手 offer 后,他的LeetCode刷题经验在GitHub上收获1.3k星

    本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处 杨净 发自 凹非寺 今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode笔记火了. 一位Java研发工程 ...

  7. 来自本科生的暴击!进腾讯字节的大牛开源LeetCode刷题经验!

    点击上方"Github中文社区",关注 看遍Github好玩的项目 作者:huber 转载自:量子位 今天,你刷LeetCode了吗? 最近,GitHub上这样一套LeetCode ...

  8. 计算机二级不看教材只刷题可以吗,初级会计备考只刷题不买教材行不行?可以通过吗?...

    2021年开始咯~各位小伙伴们开始备考初级职称的考试了吗?肯定有很多积极的小伙伴很早就开始备战了吧~最近小编收到不少同学的备考疑问,其中问的最多就是关于备考期间只刷题不买教材不看理论行不行?这样的备考 ...

  9. CSP刷题2013年

    这里是引用 1.出现次数最多的数 问题描述 给定n个正整数,找出它们中出现次数最多的数.如果这样的数有多个,请输出其中最小的一个. 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000), ...

最新文章

  1. 浅谈Horizon DaaS平台 - 崛起的桌面云平台
  2. poj 3537 Crosses and Crosses 博弈论之grundy值
  3. 常用批处理命令总结之Find和FindStr
  4. hdu2544 最短路-邻接表+优先队列实现dijkstra
  5. 【数据结构与算法】散列表
  6. WordPress主题-Qinmei视频主题3.0版本
  7. linux下如何用c语言调用shell命令-转
  8. C语言中strstr函数
  9. 135批量抓鸡 依赖 古老得RTCS
  10. 学计算机买什么书好,学电脑基础知识买什么书好?
  11. django下载xlsx的方法
  12. 【干货】大学本科生零基础如何开始做发明类竞赛项目
  13. 游戏夜读 | 游戏关卡设计师
  14. 高版本Matlab运行时//在当前文件夹或MATLAB路径中未找到文件//函数或变量 ‘xx‘ 无法识别//解决方法
  15. 普林斯顿邓嘉学生亲述:一定要博士学位?不,我本科生也能在大厂当应用科学家...
  16. Linux下 Android adb驱动
  17. upnp是不是虚拟服务器,360路由器虚拟服务器设置(360路由器开启upnp功能)
  18. Mysql学习笔记day3 --三天学完mysql所有知识点
  19. C语言开发打气球小游戏
  20. KVM中给windows虚拟机安装virtio驱动

热门文章

  1. 毕业设计-基于微信小程序的临沂旅游应用系统
  2. iOS 设置自定义间距的文字下划线
  3. matlab使用杂谈5-fftshift函数的使用
  4. 【AV1 编码器研究一】aomenc.exe命令行参数简析
  5. cv2.warpAffine
  6. 安装软件提示无效驱动器D
  7. 国内外数字源表品牌对比
  8. 他来了他来了,Hadoop序列化和切片机制了解一下?
  9. 当AI对话系统像自动驾驶一样分级,谁能率先跑出L5?
  10. avcodec_receive_frame