OJ模板库
近期刷了好几次的oj,好受伤好多都是相似的题目。
最长回文子串
string preprocess(string &str)
{
string afterProcessStr="#";
for(int i=0;i<str.size();++i)
{
afterProcessStr += str.substr(i, 1)+"#";
}
return afterProcessStr;
//afterProcessStr.clear();
}
int maxpalindrome(string &str)
{
string afterProcessStr=preprocess(str);
// cout<<afterProcessStr<<endl;
int maxEdge=0,center=0;
int *p=new int[afterProcessStr.size()]();
int ans=0;
int cur=0;
for(int i=1;i<afterProcessStr.size();++i)
{
p[i]=(maxEdge>i)?min(maxEdge-i,p[2*center-i]):0;
while(i-1-p[i]>=0&&i+1+p[i]<afterProcessStr.size()&&afterProcessStr[i+1+p[i]]==afterProcessStr[i-1-p[i]])
++p[i];
if(i+p[i]>maxEdge)
{
center=i;
maxEdge=i+p[i];
}
if(p[i]>ans)
ans=p[i];
}
return ans;
}
注意上文中preprocess函数会花费大量时间最好是採用预分配内存。
static string afterProcessStr(1000002*2,'#');
详细见:http://blog.csdn.net/zhouyelihua/article/details/46964175
最大公约数
常常使用的最大公约数的方法有辗转相除法
/*
输入x,y
返回x,y的最大公约数
*/
int gcd(int x,int y)
{
if(x<y)
return gcd(y,x);
if(0==y)
return x;
else
{
if(0==x&0x1)
{
if(0==y&0x01)
return (gcd(x>>1,y>>1)<<1);
else
return gcd(x>>1,y);
}
else
{
if(0==y&0x01)
return gcd(x,y>>1);
else
return gcd(y,x-y);
}
}
}
OJ模板库的更多相关文章
- STL标准模板库(简介)
标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...
- c++转载系列 std::vector模板库用法介绍
来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...
- Handlebars模板库浅析
Handlebars模板库简单介绍 Handlebars是JavaScript一个语义模板库,通过对view(模板)和data(ajax请求的数据,一般是json)的分离来快速构建Web模板.它采用& ...
- 【转】C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...
- STL标准模板库介绍
1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...
- c++模板库(简介)
目 录 STL 简介 ......................................................................................... ...
- 【c++】标准模板库STL入门简介与常见用法
一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部 ...
- C++——string类和标准模板库
一.string类 1.构造函数 string实际上是basic_string<char>的一个typedef,同时省略了与内存管理相关的参数.size_type是一个依赖于实现的整型,是 ...
- STL 简介,标准模板库
这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...
随机推荐
- Linux上挂载NTFS分区
1. 简介 本文的目的是提供读者在Linux操作系统上如何mount NTFS分区的文件系统的step-by-step指南.本文包括两个部分: 以只读方式mount NTFS文件系统: 以读写方式 ...
- Slickflow.NET 开源工作流引擎基础介绍(八) -- 自动化任务调度实现介绍
前言:审批流程中常见的都是人工类型任务,但是也会有一些自动化的任务需要定时触发.因此,引擎框架中需要解决掉两个问题:选择合适的任务调度框架,集成新的任务调度模块. 1. 任务调度框架选择 Hangfi ...
- nginx优化(转)
Puppet利用Nginx多端口实现负载均衡 对 Nginx SSL 的性能进行调整 一.nginx 配置文件中基本设置: 1. worker_processes 8; 2. worker_cpu ...
- Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors
Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...
- rcp(插件开发)点击按钮出现 The chosen operation is not enabled 解决办法
别的项目组,遇到以下错误信息: 首先看一下log日志里的异常信息,估计就知道是什么问题了. 项目组遇到的这个错误是source 指向错误 找不到相关的class.
- CentOS快速安装最新版本的SaltStack
SaltStack是一个类似Puppet的自动运维管理工具,打算用它来管理实验室的所有服务器包括OpenStack,当然要想把它玩起来首先得把它安装上, 这里我写了一个简单的脚本来在CentOS下快速 ...
- java根据模板文件导出pdf
原文:https://www.cnblogs.com/wangpeng00700/p/8418594.html 在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模 ...
- C#编程(五十一)----------链表
原文链接: http://blog.csdn.net/shanyongxu/article/details/47024865 链表 LinkedList<T>集合类没有非泛型类的版本,它是 ...
- Java/JSP获得客户端网卡MAC地址的三种方法解析
java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...
- C++点和箭头操作符用
http://www.cnblogs.com/ManMonth/archive/2013/09/05/3302873.html C++点和箭头操作符用法区别 变量是对象的时候用“.”访问 变量是对象指 ...