
C++入门算法学习
文章平均质量分 54
102101141高孙炜
这个作者很懒,什么都没留下…
展开
-
POJ Is It A Tree? (bfs,图论)
POJ Is it A Tree? (bfs,图论)原创 2022-04-29 20:13:01 · 129 阅读 · 0 评论 -
HDU 小希的迷宫(额外维护集合内点数量的并查集)
HDU 小希的迷宫(额外维护集合内点的数量的并查集)原创 2022-04-29 20:04:15 · 130 阅读 · 0 评论 -
PAT甲级 1010 Radix(二分)
PAT 甲级 1010 Radix (二分)原创 2022-04-29 19:55:31 · 160 阅读 · 0 评论 -
PAT 1009 Product of Polynomials(模拟)
PAT 1009 多项式乘法 模拟做法原创 2022-04-29 19:48:46 · 107 阅读 · 0 评论 -
PAT甲级 1008 Elevator(模拟)
PAT甲级 1008 Elevator(模拟)原创 2022-04-29 19:44:08 · 921 阅读 · 0 评论 -
PAT甲级1007 Maximum Subsequence Sum(前缀和做法)
PAT甲级1007 Maximum Subsequence Sum 前缀和做法原创 2022-04-29 19:40:19 · 122 阅读 · 0 评论 -
PAT甲级 1005 Spell it Right (哈希表)
PAT甲级真题 1005 Spell it right 哈希表映射原创 2022-04-29 19:30:56 · 482 阅读 · 0 评论 -
PAT甲级1004 Couting Leaves (树的bfs遍历)
PAT甲级1004 Counting Leaves 树的bfs遍历原创 2022-04-29 19:23:08 · 274 阅读 · 0 评论 -
PAT甲级1003 Emergency Dijkstra算法(堆优化版/朴素版)
PAT甲级1003 Emergency 变形Dijkstra算法两个版本原创 2022-04-17 21:40:53 · 403 阅读 · 0 评论 -
简单分析双指针算法时间复杂度为什么是O(n)
简单分析一下为什么是双指针算法复杂度是O(N)原创 2022-03-13 09:32:45 · 2142 阅读 · 1 评论 -
(快速幂算法+高精度)洛谷P1045 麦森数
故事的最后,我们真正掌握高精度了吗?原创 2021-12-10 19:30:21 · 1475 阅读 · 0 评论 -
(数论+贪心+高精度)洛谷P1249 最大乘积
很多时候会发现,高精度只是题目的一小部分。原创 2021-12-10 17:19:05 · 939 阅读 · 0 评论 -
(高精度自定义大整数Bigint)洛谷P1591 阶乘数码
有了上一题的铺垫,这一题用大整数模板轻而易举。原创 2021-12-10 16:54:35 · 768 阅读 · 0 评论 -
(自定义大整数类Bigint)洛谷P1009 阶乘之和
实战中的高精度!大整数类模板引入!原创 2021-12-09 23:38:39 · 469 阅读 · 1 评论 -
洛谷P1303 A*B problem
高精度第二弹,高精乘高精!原创 2021-12-09 23:06:50 · 1076 阅读 · 0 评论 -
高精度新篇 A+B problem
觉得高精度很难?从这道最简单的A+B开始,逐步剖析到高精度在算法题里的实际应用。原创 2021-12-09 11:31:23 · 220 阅读 · 0 评论 -
(并查集+STL快速排序)洛谷 1111 修复公路
题目概述:AC代码:#include<iostream>#include<algorithm>using namespace std;#define maxk 100001int par[maxk], height[maxk];int n, m, p;void init(int n){ for (int i = 0; i < n; ++i) { par[i] = i; height[i] = 0; }}int myfind(...原创 2021-11-19 18:43:25 · 330 阅读 · 0 评论 -
(贪心算法+优先队列STL)洛谷2004 合并果子
目录题目概述:AC代码:分析思路:题目概述:AC代码:#include<iostream>#include<queue>#include<vector>using namespace std;priority_queue<int,vector<int>,greater<int> > Heap;int main(){ std::ios::sync_with_stdio(fal..原创 2021-11-15 20:56:47 · 1259 阅读 · 0 评论 -
(优先队列STL)洛谷3887 世界杯
题目概述:AC代码:#include<iostream>#include<queue>using namespace std;priority_queue<int,vector<int>,less<int>> q1,q2,q3,q4;int type[3];void join(priority_queue<int>& p,int t){ int curr; for(int i=0;i<t.原创 2021-11-15 20:51:56 · 766 阅读 · 0 评论 -
(动态规划)洛谷1359 租借游艇
题目概述:AC代码:#include<iostream>#include<algorithm>using namespace std;#define max 201int dp[max][max];int main(){ std::ios::sync_with_stdio(false); int n; cin>>n; for(int i=1;i<=n;++i) for(int j=i+1;j<=n;++j) { ..原创 2021-11-13 10:34:08 · 386 阅读 · 0 评论 -
(动态规划)洛谷1216 数字三角形
题目概述:AC代码:#include<iostream>#include<algorithm>using namespace std;#define maxr 1001int num[maxr][maxr];int dp[maxr][maxr];//定义dp[i][j]表示到第i行第j个数字的最优解 int main(){ std::ios::sync_with_stdio(false); int r; cin>&.原创 2021-11-12 20:13:13 · 611 阅读 · 0 评论 -
(动态规划+深度优先搜索剪枝)洛谷1164 小A点菜
题目概述:AC代码:#include<iostream>#define maxn 101#define maxm 10001using namespace std;int ans;int a[maxn];int n,m;int dp[maxn][maxm];int main(){ std::ios::sync_with_stdio(false); cin>>n>>m; for(int i=1;i<=n;++i) c..原创 2021-11-12 17:37:15 · 1173 阅读 · 0 评论 -
(动态规划+特判+顺序选择)洛谷1130 红牌
目录题目概述:AC代码:分析思路:题目概述:AC代码:#include<iostream>#include<algorithm>using namespace std;#define maxsize 2000int dp[maxsize+1][maxsize+1];//dp[i][j]表示在第i个小组完成第j步时的总计最小时间 int t[maxsize+1][maxsize+1];int main(){ std::ios:...原创 2021-11-12 17:14:04 · 208 阅读 · 0 评论 -
(动态规划+01背包问题)开心的金明
目录题目概述:分析思路:题目概述:AC代码:#include<iostream>#define maxm 25#define maxN 30000int dp[maxm][maxN];int v[maxm],p[maxm];using namespace std;int main(){ std::ios::sync_with_stdio(false); int N,m; cin>>N>>m; for...原创 2021-11-11 19:38:14 · 128 阅读 · 0 评论 -
(动态规划+滚动数组+时间复杂度优化)洛谷1115 最大子段和
目录题目概述:AC代码:分析思路:题目概述:AC代码:#include<iostream>#include<algorithm>#define maxn 200001int num[maxn+1];int dp[maxn+1];using namespace std;int main(){ std::ios::sync_with_stdio(false); int n; cin>>n; for(int i=.原创 2021-11-11 19:32:47 · 502 阅读 · 0 评论 -
(动态规划)洛谷1002 过河卒
目录题目概述:AC代码:分析思路:题目概述:AC代码:#include<iostream>#include<cstring>using namespace std;#define ll long long#define maxsize 20ll dp[maxsize+1][maxsize+1];int d[9][2]={{0,0},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2},{...原创 2021-11-11 15:50:29 · 414 阅读 · 2 评论 -
(动态规划+01背包问题+拓展完全背包问题)洛谷1049 装箱问题
目录题目概述:AC代码:分析思路:拓展部分题目概述:AC代码:#include<iostream>#include<algorithm>using namespace std;#define maxn 30#define maxv 20000int v[maxn + 1];int dp[maxn + 1][maxv + 1];//dp[i][j]表示前i个物品在j容量内能占去的最大空间int main(){ st...原创 2021-11-11 14:52:25 · 199 阅读 · 0 评论 -
(动态规划+01背包问题)采药
题目概述:大水题一道,不分析了,只给动态规划做法,记忆化搜索不写了(话说洛谷记忆化搜索提交为什么会RE?)源代码:#include<iostream>#include<algorithm>using namespace std;#define maxm 100#define maxt 1001int w[maxm + 1], t[maxm + 1];int dp[maxm + 1][maxt];//dp[i][j]表示前i种草药花费j时间以内能拿到.原创 2021-11-10 21:00:55 · 113 阅读 · 0 评论 -
(动态规划+卡特兰数)洛谷1044 栈
题目概述:源代码:#include<iostream>using namespace std;#define maxn 19int dp[maxn];int main(){ std::ios::sync_with_stdio(false); int n; cin >> n; dp[0] = 1, dp[1] = 1; for (int i = 2; i<=n;++i) for (int j = 0; j <= i; ++j) .原创 2021-11-10 20:01:05 · 345 阅读 · 0 评论 -
暴力枚举 洛谷1149 火柴棒等式
目录题目描述:输入输出示范:源代码:分析思路:题目描述:输入输出示范:源代码:#include<iostream>#include<string.h>using namespace std;const int num[10] = { 6,2,5,5,4,5,6,3,7,6 };//十个数字要用到的火柴棒根数,下标表原数字bool tag[111];int total = 4;//总用去火柴棒void...原创 2021-10-12 20:26:20 · 154 阅读 · 0 评论 -
暴力枚举 洛谷3392 涂国旗
目录题目描述:输入输出格式:输入输出样例:源代码:分析思路:题目描述:输入输出格式:输入输出样例:源代码:#include<iostream>#include<string>#include<algorithm>using namespace std;string flag[50];int main(){ int n, m; cin >> n >> m...原创 2021-10-09 19:34:17 · 307 阅读 · 0 评论 -
暴力枚举 洛谷1088 火星人
源代码:#include<iostream>#include<algorithm>using namespace std;int a[10001];int main(){ int n, m; cin >> n >> m; for (int i = 1; i <= n; ++i) cin >> a[i]; while (m--) next_permutation(a + 1, a + n + 1); ...原创 2021-10-09 18:34:34 · 156 阅读 · 0 评论 -
暴力枚举 洛谷1706 全排列问题
目录源代码:分析思路:源代码:#include<iostream>#include<algorithm>using namespace std;int a[10];int main(){ int n; cin >> n; for (int i = 1; i <= n; ++i) a[i] = i; do { for (int i = 1; i <= n; ++i) printf("%5d",.原创 2021-10-09 17:10:17 · 394 阅读 · 0 评论 -
暴力枚举 洛谷1157
源代码:#include<iostream>using namespace std;int a[22];int main(){ int n, r; cin >> n >> r; for (int S = (1 << n) - 1; S >= 0; S--) { int cnt = 0; for (int i = 0; i < n; ++i) { if (S&(1 << i))...原创 2021-10-09 16:23:29 · 142 阅读 · 0 评论 -
暴力枚举 洛谷1036 选数
源代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;bool check(int x)//检查一个数字是否是素数{ if (x == 2) return 1; for (int i = 2; i <= sqrt(x); ++i) { if (!(x%i)) return 0; }...原创 2021-10-08 20:40:25 · 169 阅读 · 0 评论 -
暴力枚举 洛谷1618 三连击升级版
题目描述将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:CA:B:C,试求出所有满足条件的三个三位数,若无解,输出No!!!。输入格式三个数,A,B,CA,B,C。输出格式若干行,每行33个数字。按照每行第一个数字升序排列。输入输出样例输入1 2 3输出192 384 576219 438 657273 546 819327 654 981说明/提示保证A<B<CA<B<...原创 2021-10-07 21:15:14 · 229 阅读 · 0 评论 -
暴力枚举题 洛谷2089 烤鸡
题目背景猪猪 Hanke 得到了一只鸡。题目描述猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有1010种配料(芥末、孜然等),每种配料可以放11到33克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度nn,请输出这1010种配料的所有搭配方案。输入格式一个正整数nn,表示美味程度。输出格式第一行,方案总数。第二行至结束,1010个数,表示每种配料所...原创 2021-10-07 19:45:35 · 285 阅读 · 0 评论 -
洛谷P1781 宇宙总统
目录题目描述输入格式输出格式输入输出样例说明/提示分析思路:源代码:ps:题目描述地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有nn个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。输入格式第一行为一个整数nn,代表竞选总统的人数。接下来有nn行,分别为第一个候选人到第nn个候选人的票数。输出格式共两行,第一行是一个整数mm,为当上总统的人的号数。第二行是当上总统的人的选票。...原创 2021-09-30 22:49:56 · 516 阅读 · 0 评论 -
洛谷P1093 奖学金
目录题目描述输入格式输出格式分析思路:源代码(已通过):题目描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意..原创 2021-09-30 21:55:28 · 200 阅读 · 0 评论 -
洛谷P1059 明明的随机数
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了NN个11到10001000之间的随机整数(N≤100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行,第11行为11个正整数,表示所生成的随机数的个数NN第22行有NN个用空格隔开的正整数,为所产生的随机数。输出格式输出也是两原创 2021-09-30 16:33:22 · 262 阅读 · 0 评论