排序
【深基5.习6】蛇形方阵
题目描述 给出一个不大于 9的正整数n,输出n*n的蛇形方阵。 从左上角填上 1开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3个字符,前面使用空格补齐。 输入格式 输入一...
【算法】【Python】合数个数(素数筛法)
埃拉托色尼筛法通过标记法筛除合数,高效找出素数。算法从 2 开始,将其倍数标记为合数,避免重复计算,时间复杂度为 O(n log log n)。代码统计 1 到 2020 的合数个数,优化点包括从 i*i 开始筛...
【C】P2415 集合求和
集合求和 题目描述 给定一个集合 s(集合元素数量 <=30),求出此集合所有子集元素之和。 输入格式 集合中的元素(元素 <=1000) 输出格式 s 所有子集元素之和。 样例 #1 样例输入 #1 2 3...
【算法】【Python】itertools包的妙用
本文系统解析Python标准库itertools在算法竞赛中的高效应用,重点剖析排列组合、笛卡尔积、前缀和等核心功能。permutations处理全排列问题,combinations实现子集枚举,product替代多重嵌套循环...
【并查集】Python模板
我提供了一个并查集(Disjoint Set Union)的Python代码模板,用于处理集合的合并与查询问题。我的实现核心是两个函数:findroot和merge。findroot函数用于查找元素的根节点,并通过路径压缩优...
【递归】反转链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { stru...