Online Judge
HDU、ACM、POJ、RQNOJ提交的AC代码,很基础很基础,自己当时随笔写的,大佬些都略过。
蜗妞慢慢爬
除非亲自尝试一下,否则你永远不知道自己能够做什么。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
彻底理解并查集(通俗易懂)
题目链接:[添加链接描述](http://acm.hdu.edu.cn/showproblem.php?pid=1232)题解: 并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。首先在地图上给你若干个城镇,这些城镇都可以看...原创 2019-05-18 10:57:27 · 666 阅读 · 0 评论 -
Dijkstra 最短路径算法 秒懂 漫画详解
如何遍历呢?第一层,遍历顶点A:第二层,遍历A的邻接顶点B和C:第三层,遍历顶点B的邻接顶点D、E,遍历顶点C的邻接顶点F:第四层,遍历顶点E的邻接顶点G,也就是目标节点:由此得出,图中顶点A到G的(第一条)最短路径是A-B-E-G:换句话说,就是寻找从A到G之间,权值之和最小的路径。————————————究竟什么是迪杰斯特拉算法?它是如何寻找图中顶点的最短路径呢?这个算法的本质,是不断刷新起点...转载 2019-05-10 11:38:52 · 986 阅读 · 0 评论 -
冒泡排序算法模板
模板void BubbleSort() { for (int i = 0; i < sizeof(a) / sizeof(int); i++) { for (int j = i; j < sizeof(a) / sizeof(int); j++) { if (a[i] > a[j]) swap(a[i], a[j]); } }}代码测试...原创 2019-05-10 10:27:41 · 399 阅读 · 0 评论 -
快速排序算法模板
模板一void QuickSort(int a[], int left, int right){ int i = left, j = right, mid = a[(i + j) >> 1]; while (i < j){ while (a[i] < mid) i++; while (a[j] > mid) j--; if (i <= j)...原创 2019-05-09 22:40:23 · 590 阅读 · 2 评论 -
C++大整数的减法
#include <bits/stdc++.h>using namespace std;const int maxn = 200 + 10;typedef long long LL;string subInfo(char *s1, char *s2) { int a[maxn], b[maxn]; memset(a, 0, sizeof(a)); memset(b,...原创 2019-05-08 20:46:53 · 1861 阅读 · 0 评论 -
ACM知识点
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,希尔排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示)微积分初步(极限思想...原创 2019-05-08 20:40:32 · 364 阅读 · 0 评论 -
求一个数的每一位
在有些题目中,经常会对一个数的每一位进行操作,下面给出一个模板,供以后参考!代码如下:#include<iostream>using namespace std;int main(){ int a=16243434; int b[20];//用于存放a的各位数字 int k=0;//计数变量 if(a==0)//a为0不会进入循环,应单独...原创 2019-05-08 17:29:23 · 933 阅读 · 0 评论 -
优先队列
#include<iostream>#include<queue> #include<vector> using namespace std;struct cmp { bool operator ()(int &a, int &b) { return a > b;//从小到大 }};int ...原创 2019-05-08 17:26:48 · 117 阅读 · 0 评论 -
快速幂
先贴上代码#include <iostream>using namespace std;long long Pow(long long a,long long n){ long long ret=1; while(n){ if(n&1)ret*=a; a*=a; n>>=1; } return ret;}//加上求模参数lon...原创 2019-05-08 16:25:28 · 158 阅读 · 0 评论 -
高精度的除法
//改代码用于精确计算除法的位数,比如求无限循环小数的循环节//求循环节时,需要定义一个数组,用与标记是否有相同的余数,若是遇到时,结束循环,即得到循环节 #include<iostream>using namespace std;int main() { int a, b; while (cin >> a >> b) { ...原创 2019-05-07 16:50:56 · 373 阅读 · 0 评论 -
判断素数
#include <cmath>#include <iostream>using namespace std;bool Is_Prime(int n) { if (n < 2) return false; for (int i = 2; i <= sqrt(n); i++) { if (n%i == 0) return false; } r...原创 2019-05-07 16:50:25 · 140 阅读 · 0 评论 -
求两个数的最大公约数
#include<iostream>using namespace std;int Gcd(int a,int b){ if(a%b==0) return b; else return Gcd(b,a%b);}int main(){ int a,b; while(cin>>a>>b) cout<...原创 2019-05-07 16:50:02 · 167 阅读 · 0 评论 -
全排列
void Pern(int list[], int k, int n) { // k表示前k个数不动仅移动后面n-k位数 if (k == n - 1) { for (int i = 0; i < n; i++) { printf("%d", list[i]); } printf("\n"); }...原创 2019-05-07 16:49:25 · 177 阅读 · 0 评论 -
最长递增子序列
//时间复杂度:O(nlogn)#include<set>#include<stack>#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<string>#include<cstring>#in...原创 2019-05-07 16:48:50 · 346 阅读 · 0 评论 -
C++二维动态数组的创建与使用
#include <iostream>using namespace std;int main(){ int row,column,k=0; cin >> row >> column; int **p = new int* [row]; for(int i = 0; i < row; i++) p...原创 2019-05-07 16:47:37 · 2467 阅读 · 0 评论 -
翘课行动
题目链接:https://nanti.jisuanke.com/t/A1053题目自从上了大学,苏苏就学会了翘课=。=!但是,他在翘课时还是有所选择的,某些课程,跪着也要听完啊。现在,给出某天的课程序列,用1表示一门重要的课程,用0表示一门不太重要的课程。苏苏总是按照如下规则来翘课:绝不敲重要课程,never!; 在第一节重要课程之前的所有课全部敲掉; 若有两节或两节以上的非重要课...原创 2019-05-04 17:19:44 · 242 阅读 · 0 评论 -
求两行字符串的和与差
题目链接:https://nanti.jisuanke.com/t/A1031题目我们有两个字符串集合 A 和 B,A 和 B 中均没有重复元素 ,我们定义这两个字符串集合的和为不重复的字符串的数目 ,定义集合 A 减去集合 B 的差为集合 A 中字符串去掉与集合 B 中重复的字符串的数目,例如 集合 A = { "George", "Jim", "John", "Blake", "Kev...原创 2019-05-04 10:26:12 · 870 阅读 · 0 评论 -
POJ1995
题目链接:http://poj.org/problem?id=1995题解:本题采用常规的循环,由于数据范围与时间限制,不能AC,因此采用快速幂解决AC代码:#include <iostream>#include <algorithm>using namespace std;typedef long long ll;ll mod_pow...原创 2019-05-15 15:59:45 · 733 阅读 · 0 评论 -
POJ1004
题目链接:http://poj.org/problem?id=1004题解:求这12个数的平均数,注意输出格式即可AC代码:#include <stdio.h>int main() { float num, ans = 0; for (int i = 0; i < 12; i++) { scanf("%f", &num); ans +=...原创 2019-05-10 15:47:10 · 151 阅读 · 0 评论 -
POJ题目分类(简单到困难)
1.入门水题 可用于练手与增强自信 POJ-1003 POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083 POJ-30942.初级 2.1. 基本算法 - 枚举 POJ-1753 POJ-2965 贪心 POJ-1328 POJ-2586 递归和...转载 2019-05-10 15:30:41 · 1120 阅读 · 0 评论 -
POJ1218
题目链接:http://poj.org/problem?id=1218题解:本题属于开关门问题,初始化门都是关着的,改变状态为:开变关、关变开(注意编号从1到n) 第1次:全部改变状态 第2次:编号为2的倍数的门改变状态 第3次:编号为3的倍数的门改变状态 …… 第n次:编号为...原创 2019-05-10 15:16:04 · 301 阅读 · 0 评论 -
POJ1611
题目链接:http://poj.org/problem?id=1611题解:本题属于并查集问题病毒传染,可以通过一些社团接触给出一些社团(0号人物是被感染的)问有多少人(0~n-1个人)被感染AC代码:#include <stdio.h>const int maxn = 100000 + 10;int parent[maxn], rank[maxn]; ...原创 2019-05-08 10:10:28 · 116 阅读 · 0 评论 -
PID343 / mty的考验
题目链接:http://www.rqnoj.cn/problem/343题解:并查集的应用,将祖先相同的统计到一起,最终求出最大的即可AC代码:#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MAXN =50...原创 2019-05-21 17:22:24 · 312 阅读 · 0 评论 -
PID331 / 家族
题目链接:http://www.rqnoj.cn/problem/331题解:简单的并查集应用AC代码:#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MAXN =5000 + 5;int pre[MAXN...原创 2019-05-21 11:58:18 · 257 阅读 · 0 评论 -
HDU 2090 算菜价
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2090题解:注意输出格式AC代码:#include <string>#include <iostream>using namespace std;int main(){ string seeds; double amount, price; do...原创 2019-09-04 18:56:23 · 383 阅读 · 0 评论 -
HDU 2087 剪花布条
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087题解:本题相当于查找最大字串。可以用字符串string中的find函数进行处理,查找失败返回-1,查找成功返回字符串的下标位置,每次找到向后移动“待查找字符串的位置”,再进行累加即可。AC代码:#include <string>#include <iost...原创 2019-09-04 18:28:30 · 179 阅读 · 0 评论 -
HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2187题解:贪心算法,用一个结构体存单价、数量,对单价排序,从价格最小的开始购买,即可得到最大数量的大米重量AC代码:#include <iostream>#include <algorithm>using namespace std;struct I...原创 2019-08-22 19:37:18 · 320 阅读 · 0 评论 -
HDU 2190 悼念512汶川大地震遇难同胞——重建希望小学
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2190题解:找规律,多写几组数据得出递推公式为:f[i] = f[i-1] + 2*f[i-2]AC代码:#include <iostream>using namespace std;int fun(int n) { if(n == 1) return 1; e...原创 2019-08-22 16:32:10 · 210 阅读 · 0 评论 -
HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188题解:本题是巴什博奕(Bash Game):一堆物品有n个,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。n = (m+1)r+s , (r为任意自然数,s≤m), 即n%(m+1) != 0, 则先取者肯定获胜AC代码:#include ...原创 2019-08-22 16:10:55 · 197 阅读 · 0 评论 -
HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2186题解:注意不足10人的情况,在最终结果上加上一个9,再对10取余即可解决。AC代码:#include <iostream>using namespace std;int main(){ int n, m, a, b, c; cin >> n;...原创 2019-08-22 15:21:39 · 227 阅读 · 0 评论 -
HDU 2040 亲和数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040题解:先判断第一个数的所有约数和是否与第二个数相等,若相等再判断,否则直接结束AC代码:#include <iostream>using namespace std;int main(){ int n, a, b; cin >> n; whi...原创 2019-08-22 14:57:32 · 128 阅读 · 0 评论 -
HDU 2042 不容易系列之二
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2042题解:根据关系可推出每次的羊比上一次多2的N次方倍AC代码:#include <iostream>using namespace std;int main(){ int n, m; cin >> n; while (n--) { cin ...原创 2019-08-22 14:44:29 · 121 阅读 · 0 评论 -
HDU 2039 三角形
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2039题解:构成三角形的充要条件是两边之和大于第三边注意题目中说的是“数”,因此不止是整型的AC代码:#include <iostream>using namespace std;int main(){ int m; float a, b, c; cin &...原创 2019-08-22 11:24:54 · 124 阅读 · 0 评论 -
HDU 2021 发工资咯:)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2021题解:本题主要是贪心算法,从面值最大的查找AC代码:#include <iostream>using namespace std;int money[] = {100, 50, 10, 5, 2, 1};int fun(int x){ int resul...原创 2019-08-17 16:00:11 · 160 阅读 · 0 评论 -
HDU 2014 青年歌手大奖赛_评委会打分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2014题解:水题,先排序再计算,注意输出格式AC代码:#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int main(){ int...原创 2019-08-14 18:05:29 · 133 阅读 · 0 评论 -
HDU 2013 蟠桃记
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2013题解:本题主要找到计算的规律即可AC代码:#include <iostream>using namespace std;int main(){ int n; while (cin >> n) { int sum = 1; for(int...原创 2019-08-14 17:56:06 · 147 阅读 · 0 评论 -
HDU 2009 求数列的和
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2009题解:水题,注意输出格式即可AC代码:#include <cstdio>#include <cmath>#include <iostream>using namespace std;int main(){ int m; floa...原创 2019-08-11 12:51:32 · 133 阅读 · 0 评论 -
HDU 2006 求奇数的乘积
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2006题解:水题,判断是基数累乘即可AC代码:#include <cstdio>#include <cmath>#include <iostream>using namespace std;int main(){ int n, tem...原创 2019-08-07 22:04:45 · 130 阅读 · 0 评论 -
HDU 2002 计算球体积
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2002题解:水题,注意结果保留3位小数即可AC代码:#include <cstdio>#include <cmath>#include <iostream>using namespace std;#define PI 3.1415927...原创 2019-08-07 21:45:55 · 151 阅读 · 0 评论 -
HDU 2001 计算两点间的距离
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2001题解:水题,主要是两点间距离公式的应用。还要注意保留两位小数AC代码:#include <cstdio>#include <cmath>#include <iostream>using namespace std;int main(...原创 2019-08-07 19:14:35 · 135 阅读 · 0 评论
分享