自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Lucas定理模板

FZU2020,求C(n,m)%p#include <cstdio>#include <iostream>using namespace std;typedef long long ll;const int maxn=1e5+10;ll n,m,p;ll Qpow(ll a,ll b){ ll ans=1; a%=p; wh...

2018-08-31 13:46:31 169

原创 单调队列模板

#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;typedef long double ld;const int maxn=1e7+10;ll que[maxn];ll a[maxn];int ...

2018-08-31 13:34:24 245

原创 线段树模板

单点更新,区间查询查询区间最大值#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;typedef long double ld;const int maxn=2e5+10;int maxv[max...

2018-08-31 13:32:40 122

原创 矩阵快速幂模板

斐波那契递推式:F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}HDU 3117 求斐波那契的前四位和后四位#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MOD=10000;int f[41]={0,1};struct Mat...

2018-08-04 23:59:05 113

原创 树状数组模板

POJ 2352 一维树状数组#include <cstring>#include <cstdio>#include <iostream>#include <algorithm>#include <string>using namespace std;#define inf 0x3f3f3f3f#define PI a...

2018-08-04 23:50:35 90

原创 splay,treap模板

bzoj 3224 普通的平衡树操作splay树#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)ty...

2018-08-03 14:55:22 175

原创 莫队 曼哈顿最小生成树

HYSBZ - 2038莫队模板题#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;typedef long double ld;const int maxn=5e4+10;int n,m,q;...

2018-07-23 11:24:48 204

原创 二分图最大匹配 匈牙利算法

bool Findpath(int u){ for(int i=0;i<ny;i++) { if(line[u][i]&&!vis[i]) { vis[i]=true; if(cy[i]==0||findpath(cy[i])) { ...

2018-05-11 16:31:51 89

原创 Tarjan 模板

求割点void Tarjan(int u,int fa){ dfn[u]=low[u]=++index; int child=0; for(int i=0;i<mp[u].size();i++) { int v=mp[u][i]; if(!dfn[v]) { Tarjan(v,u); ...

2018-05-11 16:30:19 178

原创 最小树形图模板

POJ 3146 建图求有向图的最小树形图#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>using namespace std;#define inf 0x3f3f3f3f#define PI...

2018-05-11 16:15:00 158

原创 组合数取模模板

FZU2020#include #include using namespace std;typedef long long ll;const int maxn=1e5+10;ll n,m,p;ll Qpow(ll a,ll b){ ll ans=1; a%=p; while(b) { if(b&1)

2018-03-14 18:06:07 332

原创 次小生成树模板

ural 1416 求最小生成树和次小生成树#include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;const int maxn=505;int mp[maxn][maxn],cost[maxn],n,m,pre[maxn],maxe[maxn][ma

2018-03-08 20:36:18 165

原创 HDU 6129

dp[i][j]表示第j轮第i个数,dp[i][j]=dp[i-1][j]^dp[i][j-1],推两次,变成dp[i-2][j]^dp[i][j-2],再推两次,可以发现为dp[i-2^k][j]^dp[i][j-2^k]#include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef l

2017-08-16 10:19:27 532 1

原创 HDU 6103

枚举中心点,一个往前面推,一个往后面推,不符合则一个一个删除过去#include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;const int maxn=5010;char s[maxn];int main(){ int t; sca

2017-08-10 19:45:22 172

原创 HDU 6069 素数筛+分解质因子

给一个起点为l终点为r的区间,求这个区间内的数的k次方的全部因子有多少个。设 n=p1^c1*p2^c2...,则d(n^k)=(k*c1+1)(k*c2+1)...,r-l>=1e6先筛出10^6内的素数,再分解出[l,r]里面的质因子,大于1e6的质数直接为(k+1)个因子。#include using namespace std;#define inf 0x3f3f3f3f

2017-08-03 19:56:28 250

原创 FZU 1074 数位dp+二分

给m,n,问含有m个0的第k个数,是几位数,最高位是多少#include #include #include #include #include #include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef __int64 ll;const int maxn=30;ll d

2017-07-31 11:55:09 251

原创 AtCoder Regular Contest 079 C D E

C 问是否能两步从1到达n开两个数组存是否能一步到达1和n#include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;const int maxn=2e5+5;int vis1[maxn],vis2[maxn];int main(){

2017-07-31 11:16:40 287

原创 Codeforces Round #426 (Div. 2) A B C

A 给两个字符a和b,问a经过逆时针或者顺时针旋转n次之后是否会得到b小模拟#include using namespace std;#define inf 0x3f3f3f3f#define PI acos(-1.0)typedef long long ll;const int maxn=1e5+10;int main(){ char a,b; c

2017-07-31 10:58:35 218

原创 分组背包

HDU 1712#include using namespace std;typedef long long ll;const int maxn=1e5+10;int dp[maxn],n,m,a[110][110];int main(){ while(scanf("%d%d",&n,&m)!=EOF) { if(n==0&&m==0)

2017-07-24 16:48:21 553

原创 多重背包

实际上是01背包和完全背包的结合体,但在进行01背包时使用了二进制的思想来进行优化。void zero_one_pack(int w1,int v1){ for(int j=res;j>=w1;j--) dp[j]=max(dp[j],dp[j-w1]+v1);}void complete_pack(int w1,int v1){ for(int j=

2017-07-22 21:19:49 284

原创 完全背包

与01背包很相似,只是物品无限次,要正序枚举。UVA 674整数划分,用记忆化搜索的话会更快。 #include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e4+10;int dp[maxn],c[5]={1,5,10,25,50},n;int main...

2017-07-22 21:06:48 171

原创 01背包

滚动数组:dp[j]=max(dp[j],dp[j-w]+v);POJ 2184将数组扩大100000,负数变为正数来处理#include #include #include #include using namespace std;#define inf 0x3f3f3f3ftypedef long long ll;const int maxn=2e5+10;i

2017-07-22 20:52:18 158

原创 CodeForces - 549H

一道浮点数二分答案的模板题#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define inf 0x3f3f3f3f#define PI

2017-05-25 22:16:10 264

原创 Codeforecs 715A

一道构造题。构造出ai%i=0和ai+1%i=0,所以为i*(i+1);#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define i

2017-05-25 22:12:39 229

原创 Codeforces #409div2 C

http://codeforces.com/contest/801/problem/C有一个充电器和n个手机,手机剩余电量b[i],消耗电量速度a[i]每秒,p为充电器每秒可以充的电量。只要充电器充的电量+剩余的电量>=消耗的电量就可以使用,二分。#include #include #include #include #include #include #include

2017-04-19 22:07:36 229

原创 poj 2796

单调栈经典题目#include #include #include #include #include #include using namespace std;typedef long long ll;const int maxn=1e5+10;int le[maxn],stack[maxn],top,l,r,n,a[maxn];ll sum[maxn],t,ans;

2017-04-12 09:02:57 190

原创 lcs 模板

输出多条路径#include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define PI acos((double)-1)using namespace s

2017-04-02 20:56:36 217

原创 mst模板题

hdu1233  prim模板#include #include #include #include #include #include #define inf 0x3f3f3f3fusing namespace std;const int maxn=110;int map[maxn][maxn],cost[maxn],ad[maxn],n,we[maxn];void

2017-03-27 09:10:14 355

原创 KMP&&manacher模板题

hdu1686 kmp模板#include #include #include #include #include using namespace std;char w[10005],t[1000005];int next[10005],wsize,tsize,cnt;void getnext(){ int i=0,j=-1; next[0]=-1; while(i<

2017-03-27 09:06:42 235

原创 最短路四种基础算法模板题

poj2387  dijsktra模板题#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define PI acos((double)-1)using namespace std;typedef long lo

2017-03-27 08:55:31 381

原创 poj1426

原题:点击打开链接一道暴力搜索的题目,同时可以使用同余定理。bfs:#include #include #include #include #include #include using namespace std;typedef long long ll;int n;ll m;void bfs(){ queue q; q.push(1

2017-03-14 19:25:24 178

原创 HDU 1237

原题:点击打开链接一个模拟题目,主要熟悉一下逆波兰式。#include #include #include #include #include #include using namespace std;char s[300],ss[1000];int len;void fun(){ stack st; int i=0,j=0; whi

2017-03-13 21:49:02 301

原创 poj 2240

原题:点击打开链接题意:给你一些货币,问你是否可以在兑换中获得利润。跟poj1860很像,题目链接:点击打开链接刚开始用的数组邻接表建图,无限t,后来改成map才A掉。#include #include #include #include #include #include #include using namespace std;const int maxn

2017-03-10 19:04:02 310

转载 spfa && poj1860

原文:点击打开链接poj1860:点击打开链接bellman#include #include #include #include #include using namespace std;const int maxn=110;const int maxm=220;double dist[maxn],v,c[maxm][2];int cnt,n,m,d[m

2017-03-09 13:14:08 197

转载 数组邻接表

原文链接:点击打开链接有向图:#include #include #include #include #include #include using namespace std;const int maxn=1e5+5;vector s[maxn],w[maxn],c[maxn];int n,sum,num[maxn],vis[maxn],viss[maxn],

2017-03-08 22:22:47 162

原创 cf 682C

原题:点击打开链接给你一棵树,1为该树的根只要有任意一条到i的路径是大于num[i],就要将该点和该点子树删掉。从1开始搜索路径,取一到任意点的最大路径,若最大路径大于num[i],则可以将该点与子树删除。当路径为负数时要清零。#include #include #include #include #include #include using namespace

2017-03-08 20:23:24 1242

原创 cf 681C

有一个堆,给你一些操作,分别是往这个堆加数,移除最小值和查询最小值,让你按照这些操作做,并且要最少次操作,输出这些操作记录。注意查询最小值x时记得判断当前堆的最小值是否为x,若大于x则插入x,小于则要移除最小值。当堆为空时,必须先插入一个数才能移除最小值。一道模拟题,用了multiset按照降序来存储堆里面的数值。#include #include #include #i

2017-03-08 19:15:12 476

原创 cf#403 A B C

cf记录

2017-03-06 17:50:25 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除