排序
【算法】【Python】Manacher算法实现在线性时间内求解最长回文子串
Manacher算法通过插入分隔符统一奇偶回文处理,利用镜像对称原理复用计算结果。动态维护中心C、右边界R和半径数组P[i],在扩展时优先借助已有回文信息减少重复比较。当新回文触及边界时暴力扩展...
【算法】【Python】datetime包的妙用
Python 的 datetime 模块提供了方便而强大的日期时间处理工具,在算法竞赛中应对涉及日期、时间、日历等问题时,可以大大简化代码逻辑,避免因手动计算而出错。掌握其常见函数和类(如 date、da...
【C】判断回文数
#include <stdio.h> bool fun(int n) { int a = 0; int num = n; while (n > 0) { a = a * 10 + n % 10; n = n / 10; } if (a==num) { return true; } else { return false; } } int main() ...
【算法】【Python】二维差分数组与其前缀和(洛谷P3397 地毯)
本文讨论了洛谷P3397题“地毯覆盖计数”的两种解法。作者最初用C语言暴力模拟遍历每个地毯覆盖的矩形区域,逐个累加计数,虽通过测试但效率较低。针对大规模数据(n、m≤1000),提出基于二维差...
【算法】【Python】邻接表和迪杰斯特拉Dijkstra算法求解单源最短路径问题
Dijkstra算法求解单源最短路径问题,适用于带权有向图。算法以节点1为起点,采用邻接表存储图结构以节省内存。核心步骤包括:初始化距离数组(起点设为0,其余为无穷大),通过优先队列每次选取...
【深基2.习6】Apples Prologue / 苹果和虫子
题目描述 八尾勇喜欢吃苹果。她现在有m(1<=m<=100)个苹果,吃完一个苹果需要花费 t(0<=t<=100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了s(1<=s<=10000)分钟,...
【C】求整数所有因子
#include <stdio.h> int main(){ int n; scanf('%d',&n); printf('%d=',n); //默认使用2开始计算 for (int i=2;i<=n;i++){ //直到n不能被整除 while (n...
【C++】高精度加法
#include <iostream> using namespace std; int main(){ string s1,s2; //设置最大位数 int a1[210],a2[210],a3[210]={0}; //cin >> s1; //cin >> s2; getline(cin,s1); getline(cin,s2); //...
【算法】【Python】合数个数(素数筛法)
埃拉托色尼筛法通过标记法筛除合数,高效找出素数。算法从 2 开始,将其倍数标记为合数,避免重复计算,时间复杂度为 O(n log log n)。代码统计 1 到 2020 的合数个数,优化点包括从 i*i 开始筛...
【C】P2415 集合求和
集合求和 题目描述 给定一个集合 s(集合元素数量 <=30),求出此集合所有子集元素之和。 输入格式 集合中的元素(元素 <=1000) 输出格式 s 所有子集元素之和。 样例 #1 样例输入 #1 2 3...
【算法】【Python】蓝桥杯Python组比赛技巧
本文介绍了Python在蓝桥杯比赛中的常用技巧,包括序列翻转、数字进制转换、数学表达式解析、自定义排序、遍历序列、数据结构操作、组合与排列生成、双端队列、阶乘计算、日期处理、字符计数、有...