摘要: |回溯|dfs|递归| 本题经典且难度不大,但是关于vector比较的细节:cmp函数的书写以及嵌套式的vector仍然较为新颖。 #include<iostream> #include<algorithm> #include<cmath> #include<vector> using namesp 阅读全文
posted @ 2025-11-22 22:51 channy_zheng 阅读(8) 评论(0) 推荐(0)
摘要: |递归|栈| 本题递归属于解析类递归:即输入具有特定的结构,需要按结构解析,属于一种较为特殊的递归类题目。本题的关键点有二:一、对不同的“字符”进行不同的return(基于相应的结构特点),二、运用全局变量pos进行定位,确保递归时每次读取的字符都是下一位。 #include<iostream> # 阅读全文
posted @ 2025-11-18 14:51 channy_zheng 阅读(4) 评论(0) 推荐(0)
摘要: |DFS|递归| 本题的dfs特点在于搜索的空间是动态的,因此需要找到可以利用到限制下一步递归的条件来进行空 间范围的缩小与框定。本题利用的是分解的最小因数,可以对下一步的遍历框定范围 #include<iostream> #include<algorithm> using namespace st 阅读全文
posted @ 2025-11-17 22:11 channy_zheng 阅读(8) 评论(0) 推荐(0)
摘要: 和为定值的子集数 |递归|二叉树| 本题思维可以扩展到类似的题中,例如:子集和、子集积、排列组合类问题 其中:该题用到未知数组长度的读取,个人认为用stringstream会比之前的string然后一个一个读入方便很多 主要思想:对于子集类问题,无非就是对第i个元素进行决策,看其是否进入子集当中,因 阅读全文
posted @ 2025-11-16 20:40 channy_zheng 阅读(7) 评论(0) 推荐(0)
摘要: |DFS|回溯| 难点1:DFS,对于dfs(h,t)表示的“即将在第h行进行摆放,已摆放的棋子数为t个”,即如何在dfs函数内部进行递归:若该棋可以放在第h行的第i个位置(标注take[i]=true),则对改行以下行中所有可行的点进行递归。 难点2:回溯算法框架 /* 回溯算法框架 */ voi 阅读全文
posted @ 2025-11-12 21:59 channy_zheng 阅读(4) 评论(0) 推荐(0)