排序
【模拟】二进制求和
#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...
【算法】【Python】Manacher算法实现在线性时间内求解最长回文子串
Manacher算法通过插入分隔符统一奇偶回文处理,利用镜像对称原理复用计算结果。动态维护中心C、右边界R和半径数组P[i],在扩展时优先借助已有回文信息减少重复比较。当新回文触及边界时暴力扩展...
【NOIP2009 普及组】 分数线划定
题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的...
【模拟】各位相加
#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 <&...
【深基2.例12】上学迟到
题目描述 学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。 在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。 学校要求必须在上午 8:00 到达,请计算...
【算法】【Python】datetime包的妙用
Python 的 datetime 模块提供了方便而强大的日期时间处理工具,在算法竞赛中应对涉及日期、时间、日历等问题时,可以大大简化代码逻辑,避免因手动计算而出错。掌握其常见函数和类(如 date、da...
【递归】反转链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { stru...
【模拟】旋转矩阵
#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]...
【深基5.习6】蛇形方阵
题目描述 给出一个不大于 9的正整数n,输出n*n的蛇形方阵。 从左上角填上 1开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3个字符,前面使用空格补齐。 输入格式 输入一...
【算法】【Python】合数个数(素数筛法)
埃拉托色尼筛法通过标记法筛除合数,高效找出素数。算法从 2 开始,将其倍数标记为合数,避免重复计算,时间复杂度为 O(n log log n)。代码统计 1 到 2020 的合数个数,优化点包括从 i*i 开始筛...
【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...