![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM刷题
文章平均质量分 76
Lynne98
一个菜鸡
展开
-
(一)
gcd和lcmint gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}//最大公约数int lcm(int a,int b){ return a/gcd(a,b)*b;}//最小公倍数例:PAT L1-009 N个数求和。(注意用long long类型的,用int类型有个测试点过不了,long类型也可以)#...原创 2018-02-25 11:27:37 · 255 阅读 · 0 评论 -
prim 最小生成树
生成树是一个连通图的生成树是该联通图的一个极小联通子图,含有图的全部顶点。 最小生成树是在生成树的基础上要求树的(n-1)条边的权值之和是最小的。要求: 必须是该图中的边、无回路、n-1个边连n个顶点、这n-1个边上的权值之和是最小。、int prim(int n){ //第一个点到其他点的距离 for(int i=1;i<=n;i++) { ...原创 2019-03-28 16:05:15 · 134 阅读 · 0 评论 -
并查集模板
int find(int x){ if(x!=pre[x]) { return pre[x]=find(pre[x]); } return x;}void unio(int x,int y){ int a=find(x); int b=find(y); if(a!=b){ pre[a]=b; }}main函数里cnt计数,如果不是连通的就输出-...原创 2019-03-28 16:00:39 · 66 阅读 · 0 评论 -
最长回文串
返回最长回文串的长度和该串#include <iostream>#include <cstring>#include <cmath>#include <cstdio>#include <algorithm>using namespace std;int gcd(int a,int b){ return b==0?a...原创 2019-03-23 00:01:12 · 76 阅读 · 0 评论 -
tips
目录万能头文件解决c++输入输出超时快速幂素数筛普通判断素数公约数 gcd万能头文件#include<bits/stdc++.h>解决c++输入输出超时ios::sync_with_stdio(false);快速幂ll PowerMod(ll a,ll b,ll Mod){ ll ans = 1; wh...原创 2019-03-29 21:46:00 · 100 阅读 · 0 评论 -
保研机试题
2018 BIT第一题 给定任意个整数,以逗号隔开,输出最后一个重复数字,没有重复数字输出-1输入:1,2,3,4,4,3,2,11,2,3,4,5,6,7,801,00,1,0,1输出1-1-1-11没有考虑大整数和负数,而且没说清楚的是万一 给了一个全是-1的数列int s[1000010];int main(){ int x;...原创 2018-09-07 21:14:54 · 998 阅读 · 1 评论 -
并查集
并查集是由一个数组pre[],和两个函数构成的,一个函数为find()函数,用于寻找前导点的,第二个函数是join()用于合并路线的。初始化:将每个节点的前导节点设置为自己,如果未联通,将成独立点。for(int i=0;i<n;i++)//n表示输入的结点的个数 pre[i]=i;//将每一个结点的前导点设置为自己将x点直接与其根节点相连,构造成类似于只有叶子结点而没有分支的结点的...原创 2018-04-06 14:01:04 · 94 阅读 · 0 评论 -
二分
模板//将等式化简使右边=0double cal(double l){ return 等式左边}int main(){ while(cin>>x>>y>>c) { //确定二分的两端值 double x1=__; double x2=__; //不断往答案缩小范围 while(abs(x1-x2)>=1e-10) {...原创 2018-04-05 14:49:08 · 114 阅读 · 0 评论 -
简单搜索
摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。当为-1 -1时表示输入结束。 Sample Input2 1#..#4 4...#..#..#..#...-1 -1Sample Output21...原创 2018-04-04 22:40:57 · 141 阅读 · 0 评论 -
穷举
火柴棒等式给n根火柴棒,问可以拼出多少个A+B=C的等式。(最高位不能是0)注意: 加号与等号各自需要两根火柴。 如果AB不相等,则A+B=C与B+A=C视为不同的等式。n跟火柴必须全部用上。【输入格式】一个整数n 【输出格式】 表示能拼成的不同等式的个数。【输入样例】18 【输出样例】9int num[]={6,2,5,5,4,5,6,3,7,6};int M[2000];int ans;...原创 2018-03-21 00:17:04 · 635 阅读 · 0 评论 -
STL
map的用法关联容器,提供一对一(第一个称为关键字,每个关键字只能在map里面出现一次,第二个称为关键字的值。)可以类似一个二维数组,用来存字符串和数字。map<string,int>M;...原创 2018-03-17 15:56:16 · 115 阅读 · 0 评论 -
TTS
1--20--handsome no friend这类的好多内容不允许有重复的。就用set比较省事。#include<stdio.h>#include<string.h>#include<algorithm>#include<cmath>#include <iostream>#include <math.h>#in...原创 2018-02-26 11:31:14 · 280 阅读 · 0 评论 -
大整数乘法
#include <iostream>#include <string>using namespace std; string max_i,min_i; string count_add(string s1,string s2) //进行两个数相加{ max_i = s1;min_i = s2; if(s2...原创 2019-09-21 11:16:21 · 129 阅读 · 0 评论