文章分类 -  学习总结

会把一些见到的新奇方法记录下来
摘要:题目: 先讲算法原理: 任何一个合数都存在唯一的最小质因子, 对于从小到大枚举的质数pj,如果\(i\%pj == 0\)则pj一定是\(i*pj\)的最小质因子 如果\(i\%pj != 0\)则pj一定是\(i*pj\)的最小质因子 对于任何一个合数,我们都使用它的最小质因子去筛它(是或者不是) 阅读全文
posted @ 2024-03-05 19:13 ccnju 阅读(17) 评论(0) 推荐(0)
摘要:首先这个题目O(N)的做法很显然了,因为其他数字都出现两次,那么两两异或就是0,而0异或任意数字都不变,因此我们可以遍历一趟,逐个异或得到最终的答案,但是这个题目的数组还有个性质,也就是已经排好序了,这是一个强烈的暗示 二分。 对于二分我们要找一个二段性,也就是依据什么可以把数组分成两部分,我们可以 阅读全文
posted @ 2022-09-25 22:47 ccnju 阅读(39) 评论(0) 推荐(0)
摘要:这是一道典型的回溯算法的题目,当然我看到dp也可以做,但是我认为回溯会直观一些,一般来讲有递归就有回溯,有回溯就有类似于pop_back的操作,但是这里看到了一种很巧妙的回溯方式,记录一下。 题目是给定一个n,求n个左括号和n个右括号一共可以弄出来怎样的合法括号组合,结果用vector 存储。 eg 阅读全文
posted @ 2022-09-23 12:50 ccnju 阅读(26) 评论(0) 推荐(0)
摘要:sscanf在格式化处理字符串上面有很大的帮助 首先我们可以看一个问题: “输入一个字符串表示时间,如"12:06",我们如何得到这里的12和06呢? 最直观的处理方式是 找到":"这个分界点pos,然后我们可以取begin()到,pos,以及pos到end()的位置,分别获取对应的值,但是如果我们 阅读全文
posted @ 2022-02-25 15:45 ccnju 阅读(48) 评论(0) 推荐(0)