算法共49篇
令人头疼的算法,算法竞赛冲啊
【模拟】二进制求和 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】二进制求和

#include <iostream> using namespace std; string addBinary(string a, string b){ string res; int carry = 0;  // 进位 int i = a.size() - 1; int j = b.size() - 1; while(i >= 0 || j...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
013714
【C】选择排序 - AI科研 编程 读书笔记 - 小竹の笔记本

【C】选择排序

本文讲解了使用C语言实现的选择排序算法。
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
02337
【算法】【Python】Manacher算法实现在线性时间内求解最长回文子串 - AI科研 编程 读书笔记 - 小竹の笔记本

【算法】【Python】Manacher算法实现在线性时间内求解最长回文子串

Manacher算法通过插入分隔符统一奇偶回文处理,利用镜像对称原理复用计算结果。动态维护中心C、右边界R和半径数组P[i],在扩展时优先借助已有回文信息减少重复比较。当新回文触及边界时暴力扩展...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo3个月前
09411
【NOIP2009 普及组】 分数线划定 - AI科研 编程 读书笔记 - 小竹の笔记本

【NOIP2009 普及组】 分数线划定

题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
02108
【模拟】各位相加 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】各位相加

#include<iostream> using namespace std; int main(){ int num; cin >> num; while(num>9){ int total=0; while(num!=0){ total+=num%10; num/=10; } num = total; total = 0; } cout <&...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
01526
【深基2.例12】上学迟到 - AI科研 编程 读书笔记 - 小竹の笔记本

【深基2.例12】上学迟到

题目描述 学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。 在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。 学校要求必须在上午 8:00 到达,请计算...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
015610
【算法】【Python】datetime包的妙用 - AI科研 编程 读书笔记 - 小竹の笔记本

【算法】【Python】datetime包的妙用

Python 的 datetime 模块提供了方便而强大的日期时间处理工具,在算法竞赛中应对涉及日期、时间、日历等问题时,可以大大简化代码逻辑,避免因手动计算而出错。掌握其常见函数和类(如 date、da...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo3个月前
0898
【递归】反转链表 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】反转链表

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) {    stru...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
01505
【模拟】旋转矩阵 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】旋转矩阵

#include<stdio.h> int main(){ int n; scanf('%d',&n); int a[n][n]; int top=0,down=n-1,left=0,right=n-1,count=1; while(count<=n*n){ for (int i=left;i<=right;i++){ a[top]...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
05910
【深基5.习6】蛇形方阵 - AI科研 编程 读书笔记 - 小竹の笔记本

【深基5.习6】蛇形方阵

题目描述 给出一个不大于 9的正整数n,输出n*n的蛇形方阵。 从左上角填上 1开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3个字符,前面使用空格补齐。 输入格式 输入一...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01426
【算法】【Python】合数个数(素数筛法) - AI科研 编程 读书笔记 - 小竹の笔记本

【算法】【Python】合数个数(素数筛法)

埃拉托色尼筛法通过标记法筛除合数,高效找出素数。算法从 2 开始,将其倍数标记为合数,避免重复计算,时间复杂度为 O(n log log n)。代码统计 1 到 2020 的合数个数,优化点包括从 i*i 开始筛...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo3个月前
0676
【C++】四舍五入 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】四舍五入

#include <iostream> #include <cmath> using namespace std; float a[100000]; int main(){ int n; cin >> n; for (int i=0;i<n;i++){ cin >> a[i]; } for (int i=0;i<n;i++){ cou...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01537