![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
==模板==
文章平均质量分 59
你的微笑依然那样灿烂
这个作者很懒,什么都没留下…
展开
-
hdu 3068马拉车模板题
#include #include #include #include #include using namespace std; typedef long long ll; const int inf=0x3f3f3f3f; const int maxn=110010; char str[maxn],tmp[maxn<<1]; int len1[原创 2017-02-28 16:39:57 · 370 阅读 · 0 评论 -
高精度计算
加法[cpp] view plain copy#include #include #include void add(char a[],char b[],char back[]) { int i,j,k,up,x,y,z,l; char *c; if(strlen(a)原创 2017-02-22 14:28:10 · 366 阅读 · 0 评论 -
HDU1715:大菲波数
Problem DescriptionFibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3。计算第n项Fibonacci数值。 Input输入第一行为一个整数N,接下来N行为整数Pi(1 Output输出为N行,每行为对应的f(Pi)。 Sa原创 2017-02-22 14:53:01 · 329 阅读 · 0 评论 -
poj 3468线段树区间更新
A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 104022 Accepted: 32496Case Time Limit: 2000MSDescriptionYou have N原创 2017-03-02 14:19:05 · 272 阅读 · 0 评论 -
nefuoj 1212线段树区间更新
还是序列求和Problem:1212Time Limit:1000msMemory Limit:65535KDescription有一个长度为n的全0序列,然后你需要完成以下三个操作,1 u v val将u到v的值全部增加val,2 u v val将u到v的值全部设为val,3 u v求原创 2017-03-02 14:44:21 · 309 阅读 · 0 评论 -
nefuoj 1215 线段树区间更新区间求和
统计序列和Problem:1215Time Limit:2000msMemory Limit:65535KDescription给定n个数,你的任务是实现下面的两种操作,S x y把第x个数改成y(y是小于10的9次方的非负整数),M x y计算第x个数到第y个数的和原创 2017-03-02 14:57:57 · 308 阅读 · 0 评论 -
线段树或树状数组求逆序数
线段树或树状数组求逆序数 求逆序数的方法有分治,归并,本文只介绍线段树或树状数组求逆序数的办法,众所周知,线段树和树状树可以用来解决区间操作问题,就是因为这两个算法区间操作的时间复杂度很低O(logN),才让这种方法具有可行性。 首先先来看一个序列 6 1 2 7 3 4 8 5,此序列的逆序数为5+3+1=9。冒泡法可以直接枚举出逆序数,但是时原创 2017-03-02 16:59:27 · 456 阅读 · 0 评论 -
ACM题集以及各种总结大全!
ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正。 一.ACM入门 关于ACM 百度百科连接 杭州电子科技大学(hdu)ACM题目 连转载 2017-08-07 10:26:57 · 584 阅读 · 0 评论 -
Fast IO输入输出加速外挂
namespace fastIO{#define BUF_SIZE 100000 //fread -> read bool IOerror = 0; inline char nc() { static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE; if(原创 2017-08-25 10:37:31 · 1140 阅读 · 0 评论 -
[ACM] 常数和语言基础
1. 数据表示范围 unsigned int 0~4294967295 int 2147483648~2147483647unsigned long 0~4294967295long 2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-92233转载 2017-09-11 20:30:13 · 214 阅读 · 0 评论 -
KMP · 扩展KMP · Manacher 专题
涉及到的知识点:KMP,扩展KMP,Manacher算法,最小最大表示牢记住:next[i]表示前i个字符所组成的字符串的最大前后缀匹配长度。Number Sequencehttp://acm.hust.edu.cn/vjudge/contest/view.action?cid=70325#problem/判断一个字符串是否在另一个字符串中出现,如果出现,则输出转载 2017-09-11 20:33:20 · 320 阅读 · 0 评论 -
最长递增子序列
一般情况:[cpp] view plain copy#include #include #include using namespace std; int a[1005],dp[1005],n; int LIS() { int i,j,ans,m; dp[1] =原创 2017-02-22 14:45:07 · 255 阅读 · 0 评论 -
最长公共子序列LCS模板
#include #include #include using namespace std; char s1[1000],s2[1000]; int len1,len2,dp[1000][1000],mark[1000][1000];//如果数据太大,dp数组可以考虑滚动数组 void LCS() { int i,j; mem原创 2017-02-22 14:41:11 · 419 阅读 · 0 评论 -
0/1背包模板
# include # include # include # define max(x,y) x>y?x:y; int v[1001];//价值 int w[1001];//重量 int dp[1001][1001]; int main() { int n,m; while(scanf("%d%d",&m,&n)!=EOF)原创 2017-02-22 14:38:35 · 347 阅读 · 0 评论 -
hdu 2222AC自动机模板题
点击打开链接题意:问前面给的所有串在最后一个串出现的次数思路:这道题是AC自动机入门必做的题,所以没什么好说的,是个模版题,推荐一个大神写的算法详解,不懂得可以看一看,反正我是看他的稍稍懂了点[html] view plain copy#include stdio.h> #include string.h> #incl原创 2017-02-28 17:10:43 · 304 阅读 · 0 评论 -
POJ 1442 平衡树Treap模板
点击打开链接题意:输入m个数,询问n个数,第一个数如果是3,就输出在m的第三个数输入完成后第1大的数,第二个就输出第二大的数,但前提都是在输入完U[i]个数后思路:用平衡树Treap进行插入和查询第K大的数,模版题[html] view plain copy#include stdio.h> #include string.h>原创 2017-03-01 16:28:35 · 411 阅读 · 0 评论 -
扩展KMP的模版
#include stdio.h> #include stdlib.h> #include string.h> #include iostream> #include algorithm> using namespace std; const int maxn=100005; int next[maxn],extand[maxn]; char S[m原创 2017-03-01 16:35:49 · 235 阅读 · 0 评论 -
快速幂取模
long long quickmod(long long a,long long b,long long m) { long long ans = 1; while(b)//用一个循环从右到左便利b的所有二进制位 { if(b&1)//判断此时b[i]的二进制位是否为1 { ans = (a原创 2017-02-22 14:29:44 · 238 阅读 · 0 评论 -
二分查找模板
int binsearch(int *t,int k,int n) {//t为数组,k是要查找的数,n为长度,此为升序 int low = 1,high = n,mid; while(low<=high) { mid = (low+high)/2; if(k == t[mid]) return mi原创 2017-02-22 14:30:53 · 403 阅读 · 0 评论 -
KMP模板
int next[N]; char str1[M],str2[N]; //str1 长,str2 短 //len1,len2,对应str1,str2的长 void get_next(int len2) { int i = 0,j = -1; next[0] = -1; while(i<len2) { if原创 2017-02-22 14:32:47 · 299 阅读 · 0 评论 -
并查集模板
int find(int x) { int r = x; while(father[r]!=r) r = father[r]; return r; } /* int find(int x) { if(father[x] == x) return x; else return father[x]原创 2017-02-22 14:34:00 · 316 阅读 · 0 评论 -
欧几里得模板
int gcd(int n,int m)//n>m { //最大公约数 int r; while(m) { r = n%m; n = m; m = r; } return n; } int kgcd(int a,int b) { if原创 2017-02-22 14:35:01 · 271 阅读 · 0 评论 -
素数筛选模板
#include int main() { int i,j,a[505]={0}; for(i=1;i<=500;i++) a[i]=1; for(i=2;i<=500;i++) if(a[i]) for(j=i+i;j<=500;j+=i)原创 2017-02-22 14:36:17 · 254 阅读 · 0 评论 -
BFS模板
#include #include #include using namespace std; struct node { int x,y,step; }; char map[105][105]; int vis[105][105]; int to[4][2]= {1,0,-1,0,0,1,0,-1}; int n,m,sx,s原创 2017-02-22 14:37:25 · 264 阅读 · 0 评论 -
线段树专题
hdu 1166 敌兵布阵操作:单点增加或减少,查询区间和.http://acm.hdu.edu.cn/showproblem.php?pid=1166[cpp] view plain copy#define rd(x) scanf("%d",&x) #define rd2(x,y) scanf("%d%d",&x,&y)转载 2017-09-11 20:34:34 · 209 阅读 · 0 评论