- 博客(34)
- 收藏
- 关注
原创 求逆元
费马小定理#include<bits/stdc++.h>using namespace std;const int maxn=3e6+5;int n,p;inline int ksm(int a,int b){ int ans=1; while(b){ if(b&1)ans=1ll*ans*a%p; a=1ll*a*...
2019-08-07 19:23:50
162
转载 10.3
结构体快排 https://blog.csdn.net/nucyangjiayun/article/details/519108540-1背包 https://blog.csdn.net/xp731574722/article/details/70766804
2018-10-03 20:50:32
125
转载 第k短路A*+dj
#include <map>#include <set>#include <cmath>#include <ctime>#include <stack>#include <queue>#include <cstdio>#include <cctype>#include &
2018-10-01 18:28:31
154
转载 dijkstra
//转自:https://blog.csdn.net/addkai/article/details/77524826#include <bits/stdc++.h>using namespace std;/* * 使用优先队列优化Dijkstra算法 * 复杂度O(ElogE) * 注意对vector<Edge>E[MAXN]进行初始化后加边 */con...
2018-09-27 13:36:05
130
原创 string读入输出
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;int main(){ string a[100]; a.resize(100); //需要预先分配空间 scanf("%s", &a[0]); printf("...
2018-09-27 13:28:49
487
原创 高精度取模
#include<iostream>#include<algorithm>using namespace std;int mod(string a,int b)//高精度a除以单精度b{ int d=0; for(int i=0;i<a.size();i++) d=(d*10+(a[i]-'0'))%b; //求出余数 retur...
2018-09-26 18:26:04
2264
原创 完美摊位(UOJ)
#include <cstdio>#include <cstdlib>#include <iostream>#include <ctype.h>#include <cstring>#include <algorithm>#include <vector>#include <queue&a
2018-09-24 16:55:36
143
原创 DAY2T3-军训站队
#include"stdio.h"#include"iostream"#include"math.h"#include"stdlib.h"using namespace std;long long a[100006],ans=9223372036854775807,tmp;int g[10]={0,1,1,2,2};int n;int cmp(const void *a,const...
2018-08-15 16:50:24
483
原创 铺地毯NOIP(提高组2011DAY1T1)
题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到 nn 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入输...
2018-08-13 20:23:55
456
原创 质因数分解
#include<stdio.h>#include<algorithm>#include"iostream"#include"stdlib.h"#include"math.h"using namespace std;int n,z;int a[100],b[100];int main(){ freopen("6.in","r",
2018-08-13 19:18:00
251
原创 埃氏筛法(筛出n以内的素数)
#include<stdio.h>#include<algorithm>#include"iostream"#include"stdlib.h"#include"math.h"using namespace std;int n,m;int v[100];int main(){ freopen("6.in","r",stdin);
2018-08-13 18:46:59
234
转载 RMQ模板
#include<stdio.h> #include<algorithm> using namespace std; typedef struct { int max; int min; }Line; Line dp[50005][22]; int a[50005]; i...
2018-08-13 14:54:46
117
原创 lca模板
#include<iostream>#include<cstdio>using namespace std;struct yyy{ int t, nex;}e[2*500001];int deepth[500001],fa[500001][22],lg[500001],head[500001];int tot;void add(int ...
2018-08-13 12:33:07
233
原创 小凯的疑惑
题目描述小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。输入输出格式输入格式: 两个正整数 aa 和 bb ,它们之间用一个空格隔开,表示小凯中金币的面值。 输出格式...
2018-08-13 10:47:47
799
原创 优先队列使用
#include"queue"queue<int >a;//从大到小queue<int,vector<int>,greater<int>> q;//从小到大
2018-08-12 19:32:44
142
原创 小根堆的插入与删除
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>using namespace std;const int Maxn=1000005;int sta[Maxn];int n,tot=0;//tot记录元素总数,记得及时更新inline int ...
2018-08-12 19:17:28
1744
原创 并查集模板
题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入输出格式输入格式: 第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N 输出格式: 如上,对于每一个Zi=2的操作,都有一行输出,...
2018-08-12 18:56:52
257
原创 区间修改,单点查询(树状数组)
#include"stdio.h"#include"iostream"#include"stdlib.h"#include"math.h"using namespace std;#define MAXN 5000006int tree[MAXN],a[MAXN];int n,m,q,w,e,r;int lowbit(int x){return x&(-x);}int S...
2018-08-11 23:25:18
369
原创 单点修改,区间求值(树状数组1)
#include"stdio.h"#include"iostream"#include"math.h"#include"stdlib.h"using namespace std;#define MAXN 5000006int tree[MAXN],a[MAXN];int m,n,q,w,e;int lowbit(int x){ return x&(-x);}v...
2018-08-11 22:39:21
180
原创 UOJ—47
【题目描述】:给定一个长度为n的数列a,再给定一个长度为k的滑动窗口,从第一个数字开始依次框定k个数字,求每次框定的数字中的最大值和最小值,依次输出所有的这些值。下面有一个例子数组是 [1 3 1 3 5 6 7] , k 是3: 窗口位置 窗口中的最小值 窗口中的最大值[1 3 -1] -3 5 3 6 7 ...
2018-08-11 18:34:34
385
原创 UOJ-48
#include"stdio.h"#include"iostream"#include"stdlib.h"using namespace std;#define MAXN 5000006struct Node{ int id; long long h;}s[MAXN];long long a[MAXN];int n,top=1;long long ans=0;i...
2018-08-11 09:09:59
252
原创 tarjan_割点无向图
int dfn[MAXN],cTime,low[MAXN]; //时间戳,时间戳计数,祖先时间。 int block[MAXN],bc; // 块数组,块计数。 int cut[MAXN];//记录每点属于几个割点块,注意根结点初始化为 0,其余int ins[MAXN]; stack<int> sTar; //入栈标志,辅助栈 void Tarjan(int u, i...
2018-07-28 17:32:13
134
原创 强连通分量——tarjan
struct ENode{ int v,w,next; }edge[MAXM]; int p[MAXN],ec; void InsertE(int u, int v, int w){ edge[++ec].v = v; edge[ec].w = w; edge[ec].next = p[u]; p[u] = ec; } int dfn[MAXN],cTime...
2018-07-26 17:19:31
132
原创 欧拉函数题目(Farey Sequence)
题目描述 给定N,求所有小于等于N的a/b,gcd(a,b)=1(a<b). #include<stdio.h> #include<string.h> #include<math.h> long long phi[1000001]; #define maxn 1000000 int main() { int i,j; f...
2018-07-24 17:24:12
189
原创 欧拉函数模板
#include"stdio.h"#include"math.h"#include"iostream"using namespace std;int phl(int x){ int r=x; for(int i=2;i<=(int)sqrt(r*1.0);i++) { if(x%i==0) { r=r/...
2018-07-24 17:07:27
127
原创 UOJ—21表达整数的奇怪方法
【题目描述】:Elina正在读刘汝佳写的一本书,它介绍了一种表达非负整数的奇怪方法。方式如下:选择k个不同的正整数a1,a2,…,ak。对于一些非负整数m,将它除以每个ai (1<=i<=k)可以得到余数ri。如果a1,a2,…,ak被适当地选择,m被确定,那么这些(ai,ri)对可以用来表示m。Elina说:“通过m计算ri很容易。”“但是我怎么才能从这些(ai,ri)对中找到m呢?...
2018-07-10 16:20:07
240
原创 青蛙的约会
P1516 青蛙的约会通过5.6K提交题目提供者yeszy 管理员评测方式云端评测标签难度普及+/提高时空限制1000ms / 128MB 提交 题解 提示:收藏到任务计划后,可在首页查看。最新讨论显示推荐的相关题目显示题目描述两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很...
2018-07-10 12:31:43
358
原创 UOJ-最近公共祖先(树链剖分)
UOJ-最近公共祖先【题目描述】:有根树在计算机科学工程领域是一个人人熟知的数据结构类型。下面是一个例子。8->(1,4,5);1->(13,14);4->(6,10);5->(9);6->(7,15);10->(2,11,16);16->(3,12);在这个图中,每个点都是由{1, 2,...,16}中的某个数字标记的。8号点是树的根。如果x号点在y号点...
2018-07-04 17:23:24
324
原创 线段树模板
UOJ_线段树【题目描述】:如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和【输入描述】:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1: 格式:1 x y k 含义:将区间[x,y]内每个数加上k操...
2018-07-03 18:26:51
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人