C/C++中基本类型的数值极限值一般来说都是与具体平台有关的,在程序设计的过程中为了写出与平台无关的程序则必须通过合理科学的方法去获取各种类型的极值,常用的获取方法有两种:一种是传统的C语言所采用的预处理器常数,另一种方法则是通过标准库中所提供的模版类numeric_limits
下面先详解其用法后再评其优劣:
一、传统C语言的预处理器常数
在C++中这些C语言的预处理器常数任然可以用,一般...
分类:
编程语言 时间:
2014-08-07 19:03:00
阅读次数:
469
Problem 2168 防守阵地 I
Accept: 128 Submit: 392
Time Limit: 3000 mSec Memory Limit : 32768 KB
Problem Description
部队中共有N个士兵,每个士兵有各自的能力指数Xi,在一次演练中,指挥部确定了M个需要防守的地点,按重要程度从低到高排序,依次以数字1到M标注每个地点的重...
分类:
其他好文 时间:
2014-08-07 15:58:20
阅读次数:
237
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2....
分类:
其他好文 时间:
2014-08-07 12:55:59
阅读次数:
279
条件编译的概念在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。一、基本用法1 #if 条件12 ...code1...3 #elif 条件24 ...code2...5 #else6 ...code3...
分类:
其他好文 时间:
2014-08-07 12:49:49
阅读次数:
219
Manacher算法o(n)求解最长回文子串问题 非常巧妙
#include
using namespace std;
char str[2000020],s[2000020];
int p[2000020];
int len,id,mx;
void pre() //对字符串进行预处理
{
len=strlen(s);
str[0]='$';
str[1]='#';...
分类:
其他好文 时间:
2014-08-07 09:50:39
阅读次数:
237
题目链接:
啊哈哈,点我点我
思路:
首先把图中的A S预处理出来,然后对这些点逐一做bfs找到这些点到其它点的最短路径,然后建图完毕也用最小生成树的prim算法或者kruscal算法求出连接所有点的最短距离。。不知道为嘛用dis数组去维护为什么会超时,而在结构体里面用step数组却可以过,我也不知道为什么,纠结了很多天。。我把错误的代码贴出来,希望各位帮我找出原因,不胜感激。。。
...
分类:
其他好文 时间:
2014-08-07 09:48:49
阅读次数:
242
题目大意:
是男人就下一般层。。。没什么可以多说的吧。
注意只能垂直下落。
思路分析:
后面求最大值的过程很容易想到是一个dp的过程 。
因为每一个plane 都只能从左边 从右边下两种状态。
然后我们所需要处理的问题就是 ,你如何能快速知道往左边下到哪里,往右边下到哪里。
这就是线段树的预处理。
讲线段按照高度排序。
然后按照高度从小到大加入到树中。
然后去寻找左端点...
分类:
其他好文 时间:
2014-08-06 23:06:22
阅读次数:
314
题意:给定一棵树顶点标号为连续的1~n,每次在线询问不在a-b路径上标号最小的点
这题想了好久,假设1为首先如果a-b不过根节点1,答案一定是1。否则我们用fa[i]表示i节点的父亲,belong[i]表示i节点祖先是belong[i],且belong[i]是根节点儿子。这样我们可以预处理出ans[i]表示在belong[i]这颗子树中除去i到根节点的路径中最小的值。统计答案即可。
讨论时需注...
分类:
其他好文 时间:
2014-08-06 19:08:52
阅读次数:
248
RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法,当然这个问题用线段树同样能够解决。
问题:给出n个数ai,让你快速查询某个区间的的最值。
算法分类:DP+位运算
算法分析:这个算法就是基于DP和位运算符,我们用dp【i】【j】表示从第 i 位开始,到第 i + 2^j 位的最大值或者最小值。
...
分类:
其他好文 时间:
2014-08-06 18:58:52
阅读次数:
222
1.首先介绍下大家最常用到的:#region与#endregion。该指令用于把一段代码标记为有给定名称的一个块。如下所示:#region Helloint i = 1;string str = "hello";#endregion2.#define与#undef。(必须放在c#源文件的开头位置)#...
分类:
其他好文 时间:
2014-08-06 17:56:41
阅读次数:
140