
算法
文章平均质量分 58
霖承科技 LinChance
这个作者很懒,什么都没留下…
展开
-
PTA团体天梯赛训练集题解L2(完整注释思路解法)
PTA团体天梯赛训练集题解L2(完整注释思路解法)L2-002 链表去重 (25 分)给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤10 5,为结点总数)。一个结点的地址是非负的 5原创 2023-04-11 21:31:26 · 1043 阅读 · 1 评论 -
[USACO Dec21 Bronze]Air Cownditioning
题目链接原创 2022-06-11 13:54:25 · 1144 阅读 · 2 评论 -
通师高专科技创新社在周赛 Round19
算法原创 2022-06-04 15:41:23 · 219 阅读 · 0 评论 -
斐波那契数列(递归/递推/记忆化)
斐波那契数列题目链接题意斐波那契数列是指这样的数列:数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。给出一个正整数 k,要求斐波那契数列中第 k 个数是多少。思路递归递推记忆化搜索坑点long long剪枝算法一:递归时间复杂度O(2N)O(2^N)O(2N)实现步骤递归并计数递归公式return dfs(x-1)+dfs(x-2)需要剪枝,多记录已知解(记忆化初步)从大往小推代码#include<bits/s原创 2022-04-19 19:42:35 · 1981 阅读 · 0 评论 -
730. 机器人跳跃问题
730. 机器人跳跃问题题目链接题意跳建筑( 0 - n ),0 位置上初始能量为 e,问最少多少能力能跳完所有建筑 过程中能力不小于 0假设机器人在第 k 个建筑,且它现在的能量值是 E,下一步它将跳到第 k+1 个建筑。如果 EH(k+1)>E,那么机器人就失去 EH(k+1)−E 的能量值,否则它将得到 )E−H(k+1) 的能量值。思路二分答案坑点溢出问题 (爆 long long int)算法一:二分答案时间复杂度O(log2n)O(log_2 n原创 2022-04-02 14:27:05 · 541 阅读 · 0 评论 -
790. 数的三次方根
790. 数的三次方根题目链接题意给定一个浮点数 n,求它的三次方根。思路二分答案坑点n 可能为负数算法一:二分答案时间复杂度O(log2n)O(log_2n)O(log2n)实现步骤二分答案 x判断 x * x * x 与 n 的关系 判断左右直到精度小于一定值 认为找到答案代码#include<bits/stdc++.h>#define endl '\n' #define int long longusing namespa原创 2022-04-02 12:45:45 · 364 阅读 · 0 评论 -
89. a^b
题目 题目链接 题意 求a的b次方取模p后的值 思路 快速幂 坑点 b是0,p是1的情况 代码 #include<bits/stdc++.h>#define endl '\n' #define int long longusing namespace std;const int N = 2e5+10;typedef long long ll;int qim(int a,int k,int p){//a^k%p的值//特殊情况+lon原创 2021-12-21 22:25:55 · 190 阅读 · 0 评论 -
1343. 挤牛奶
题目 题目链接 题意 农夫挤奶牛,给出n个农夫挤奶牛的开始时间和结束时间,求最长连续挤奶时间和最长连续无人挤奶时间,若有一农夫20结束 二农夫21开始,则中间有1分钟无人挤奶 思路 差分可做 给时间轴上标记状态,大于0则有人挤奶,等于0则无人挤奶,给挤奶时间区间上加一个数,最后遍历时间轴,找最长的大于0序列和最长的0序列 区间合并可做 模板就可以了 坑点 差分时注意0-2是3个数,但只有2秒,所以r-1 区间合..原创 2021-12-14 20:05:58 · 1192 阅读 · 0 评论 -
Cable master POJ - 1064
题目 题目链接 题意 有 N 条绳子, 它们的长度分别是 Li。如果从它们中切割出 K 条长度相同的绳子的话, 这 K 条绳子最长有多长?答案保留到小数点后 2位。 思路 使用二分答案 使用floor向下取整 坑点 控制精度 直接使用.2lf 会自动四舍五入 代码 #include <iostream>#include <cmath>#include <cstdio>using ..原创 2021-12-13 16:12:17 · 998 阅读 · 0 评论 -
P1102 A-B 数对
题目 题目链接 题意 给n个数和c,求a,b的对数(使得$$a-b=c$$) 思路 多种方法可求解 二分/哈希/双指针 二分做法:将序列从小到大排序(保证单调递增)后,遍历前n-1个数(把每个数当作b,若有$$a-b=c$$,则$$a=b+c$$,找a) 若a存在多个,则先找第一个a出现的位置(二分大于等于a的位置),再找小于(x+1)的位置 坑点 注意二分的边界问题即可 代码 //二分做法#include<bi..原创 2021-12-13 13:53:50 · 798 阅读 · 0 评论 -
牛客IOI周赛27-普及组
A.小H的小猫题目链接题意以 x 轴和 y 轴为墙,原点为墙角,小猫在墙角,给出若干个点,求能否能用篱笆绕着点将小猫围在墙角,求篱笆的最短总长思路1.在纸上简单画图可以证明,必须要有一个点在 x 轴,一个点在 y 轴上才可以围住。2.而离原点最近的两个点可以围成最短的3.套一下两点距离公式坑点1.画图证明,不够严谨2.精度3.卡了cin和cout的时间复杂度代码#include<bits/stdc++.h>using namespace std;原创 2021-07-04 17:09:08 · 337 阅读 · 0 评论 -
Codeforces Round #719 (Div. 3)题解(A、B、C)
Codeforces Round #719 (Div. 3)A. Do Not Be Distracted!Polycarp has 26 tasks. Each task is designated by a capital letter of the Latin alphabet.The teacher asked Polycarp to solve tasks in the following way: if Polycarp began to solve some task, then he原创 2021-05-17 16:11:04 · 401 阅读 · 1 评论 -
素数筛法
素数筛法埃式筛思想基本思想 :从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的。代码const int maxn=100000005;int prime[maxn],pnum=0;bool p[maxn]={0};int findprime(int n){ for(int i=2;i<=n;i++) { if(p[i]==false){ prime[pnum++]=i; for(int j=i*i;j<=n;j+=i){ p[j]=tr原创 2020-05-13 19:18:52 · 144 阅读 · 0 评论