模板
文章平均质量分 55
仗剑smile
仗剑天涯,Just Do IT.
展开
-
大组合数取膜模板C_n^m%p
【模板代码】【模板一】#include<iostream>#include<stdio.h>using namespace std;int pow_mod(int a,int n,int p){ int ans=1,t=a; while(n) { if(n&1) ans=(long long)a...原创 2014-09-06 19:48:24 · 503 阅读 · 0 评论 -
利用最长公子序列求回文字符串
【题目来源】poj1159【题目含义】给定一个字符串,问最少插入多少字符使该字符串变成回文字符串。【题目分析】解决该题目的一个关键是在于发现该公式:设原字符串序列为 X ,逆序列为 Y ,则最少需要补充的字母数 = X 的长度 - X 和 Y 的最长公共子序列的长度。有了这个公式,那么这个题目就简单了很多,由于题目内存限制,该题还需要进行内存压缩。【代码】#include <iostre...原创 2014-08-17 14:35:00 · 432 阅读 · 0 评论 -
C++ 二分查找 binary search 模板
#include#include#include#include#include#include#include#include#include#define mem(array) memset((array),0,sizeof((array)))#define Qsort(array,len,cmp) qsort(array,len,sizeof(array[0]),cm原创 2018-03-29 11:41:51 · 648 阅读 · 0 评论 -
C++大数操作Plus
按照上次的思路,最近又重新实现了加减法以及大数的乘法,除法的话,实现起来难度还有点大,有比较好的思路再来续写吧。 #include<iostream>#include<cstdlib>#include<cstdio>#include<memory.h>#include<cstring>#include<cm...原创 2017-09-29 16:23:05 · 367 阅读 · 0 评论 -
C++大数操作
今天想试着实现了一些C++大数的操作,忙活的时间不少,只不过就实现了加减法,乘除的方法只能有时间再来实现了。说点心得,我下面大数的存储方式很蠢(起初没想着实现负数 后来写减法的时候就想着也把负数的实现了 实现起来的时候才发现自己给自己挖了一个大坑),下次实现大数的话,符号估计会单独存储,这样处理乘除法也比较方便。#include<iostream>#include<cstdl...原创 2017-09-21 20:56:10 · 1001 阅读 · 0 评论 -
KMP算法标准模板
#include <iostream>#include <cstdio>#include <cstring>#define MAXN 10+1000using namespace std;//P[0]不使用,P[i]表示B串的前i个字符中, 前P[i]个字符和后P[i]个字符相同int Next[MAXN];char* KMP(char* A,...原创 2014-08-10 14:14:57 · 520 阅读 · 0 评论 -
乘方取模标准代码
long long multimod(long long a,long long n,long long m) // 求 a^n%m 的值{ long long ans = 1; while(n){ if(n & 1LL){ ans *= a; ans %= m; } ...原创 2014-08-07 19:37:28 · 560 阅读 · 0 评论 -
求1—n的全排列
#include <iostream>#include <cstdio>using namespace std;int a[15];void print(int *a,int n,int cur){ if(cur == n){ printf("%d",a[0]); for(int i = 1; i < n; i++)...原创 2014-08-06 17:28:17 · 567 阅读 · 0 评论 -
按三角形逆序输入顶点来计算多边形面积
double fun(int x1,int y1,int x2,int y2,int x3,int y3) // 此处返回的面积有正负之分{ double squre; squre=0.5*((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)); return squre;}具体的题目课参考 杭电OJ 题目出处:杭电2036题...原创 2016-03-08 19:52:59 · 362 阅读 · 0 评论 -
DP 最长公共子序列 LCS
【题目来源】POJ 1458 【题目简述】求两个字符串的最长公共子序列的长度。【题目分析】这是一道经典的LCS问题,用DP来解决。【代码】#include <iostream>#include <cstdio>#include <cstring>#define mem(x) memset((x),0,sizeof((x)))#define MAXN ...原创 2014-08-02 16:49:04 · 379 阅读 · 0 评论 -
qsort()函数及第k小的数
下面是自己写的快排函数,测试了几组数据,没有出现错误,现将代码贴上:void Qsort(int *a,int l,int r){ if(l>=r) return ; int mid=(r+l)/2; int temp=a[mid]; int i=l; int j=r; while(i<j) { ...原创 2014-07-11 15:37:48 · 491 阅读 · 0 评论 -
qsort()中cmp函数写法
函数原型:void qsort(void *base,size_t num,size_t width,int (__cdecl *compare )(const void *, const void *));参数:base:Start of target array.num:Array size in elements.width:Element size in bytes.compare:Poi...转载 2016-03-01 09:53:01 · 903 阅读 · 0 评论 -
计算1至n中数字X出现的次数
【题目描述】 计算 1 至 n 中数字 X 出现的次数,其中 n≥1,X∈[0,9]。【解题思路】这是一道比较简单的题目,举个例子先:假设 n=11,X=1,那么就是求 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 这 11 个数字中 1 出现的次数,很容易能看出来结果为 4,在 1 和 10 中各出现了一次,在 11 中出现了两次。最简单的办法就是依次遍历 1 至 n,再分...原创 2018-04-11 15:21:18 · 5426 阅读 · 4 评论 -
KM模板
KM模板:#include #include #include #include #include #include //assert宏#include #include #include #include #include //包含 sort()和 lower_bound()和 upper_bound()#define原创 2014-09-27 20:21:43 · 442 阅读 · 0 评论 -
大数模板
大数模板:#include #include #include #include #include #include //assert宏#include #include #include #include #include //包含 sort()和 lower_bound()和 upper_bound()#define PI 3.141592653原创 2014-09-27 20:32:11 · 383 阅读 · 0 评论 -
欧拉函数
【剩余类】把原创 2014-08-17 17:18:43 · 669 阅读 · 0 评论 -
归并排序标准代码
昨天又碰到了运用归并排序知识的一个题了, 今天就总结了原创 2014-08-06 15:06:13 · 494 阅读 · 0 评论 -
经典公式模板
1、全错排的递推公式为:【解释】 个整数编号为 进行全排列,编号为 的数字不排在位置 处,则为错排。全错排则是所有数字均排错。【相关题目】杭电20492、卡特兰数: 【解释】卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 1,1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796,...()【递推公式】所有的奇...原创 2018-09-06 10:48:26 · 513 阅读 · 0 评论