尽管C++支持C风格字符串,但在C++程序中最好还是不要使用它们。这是因为C风格字符串不仅使用起来不太方便,而且极易引发程序漏洞,是诸多安全问题的根本原因。字符串字面值是一种通用结构的实例,这种结构即是C++由C继承而来的C风格字符串。C风格字符串不是一种类型,而是为了表达和使用字符串而形成的一种约...
分类:
其他好文 时间:
2014-08-04 04:09:46
阅读次数:
243
题目链接:hdu 4908 BestCoder Sequence
题目大意:给定N和M,N为序列的长度,由1~N组成,求有多少连续的子序列以M为中位数,长度为奇数。
解题思路:v[i]记录的是从1~i这些位置上有多少个数大于M,i-v[i]就是小于M的个数。pos为M在序列中的位置。如果有等式i?j=2?(v[i]?v[j?1]),i≥pos≥j,那么i和j既是一组满足的情况。将等式变...
分类:
其他好文 时间:
2014-08-04 02:07:26
阅读次数:
258
空两格 ,不是传统,也不为礼貌,只能说,这是规范...
分类:
其他好文 时间:
2014-08-04 02:07:16
阅读次数:
203
~~~~
二维的最长上升子序列。n^2算法居然可以水过。。
就不多说了,排个序,然后DP。
题目链接:http://poj.org/problem?id=1609
~~~~
#include
#include
#include
#include
#define N 11111
using namespace std;
struct node
{
int l,m;
}b[N];
...
分类:
其他好文 时间:
2014-08-04 02:07:06
阅读次数:
232
题目链接:hdu 4909 String
题目大意:给定一个字符串,由小写字母组成,最多包含一个问号,问号可以表示空或者任意一个字母。问有多少个子串,字母出现的次数均为偶数。
解题思路:因为最多又26个字母,对应每个字母的奇数情况用1表示,偶数情况用0.将一个前缀串表示成一个二进制数。然后对于每种相同的数s,任选两个即为一种可行子串(组合数学). 接着对于有问号的情况枚举一下问号替代的...
分类:
其他好文 时间:
2014-08-04 02:06:56
阅读次数:
228
HDU 4908 BestCoder Sequence
题目链接
题意:给定一个序列,1-n的数字,选定一个作为中位数m,要求有多少连续子序列满足中位数是m
思路:组合数学,记录下m左边和右边一共有多少种情况大于m的数字和小于n数组的差,然后等于左边乘右边所有的和,然后最后记得加上左右两边差为0的情况。
当时也是比较逗,还用树状数组去搞了,其实完全没必要
代码:
...
分类:
其他好文 时间:
2014-08-04 02:06:26
阅读次数:
249
HDU 4909 String
题目链接
题意:给定一个字符串全是小写字符,可能有一个位置为?,问号可以替代任何字符,也可以删掉,问有多少连续字串满足所有字母是偶数个
思路:组合数学,计算所有前最串的各个字母的奇偶状态,用一个01串表示,然后记录下个数,对于每个相同的状态,任选两个就能得到一个子序列,答案为所有C(num, 2)的和。
但是这个问题多了一个?的情况,但是没关...
分类:
其他好文 时间:
2014-08-04 02:06:16
阅读次数:
233
HDU 2604 Queuing (矩阵快速幂)
ACM
题目地址:HDU 2604 Queuing
题意:
n个人排队,f表示女,m表示男,包含子串‘fmf’和‘fff’的序列为O队列,否则为E队列,有多少个序列为E队列。
分析:
矩阵快速幂入门题。
下面引用巨巨解释:
用f(n)表示n个人满足条件的结果,那么如果最后一个人是m的话,那么前n-1个满足条...
分类:
其他好文 时间:
2014-08-04 02:06:06
阅读次数:
227
HDU 2256 A Simple Math Problem (矩阵快速幂)
ACM
题目地址:HDU 2256 Problem of Precision
题意:
给出一个式子,求值。
分析:
推起来最后那步会比较难想。
具体过程见:
表示共轭只听说过复数的和图的...
这构题痕迹好明显...
跟基友开玩笑说:如果遇到这种题,推到Xn+Yn*s...
分类:
其他好文 时间:
2014-08-04 02:05:56
阅读次数:
226
0.简介
Scala(发音为 /?skɑ?l?,
?ske?l?/)是一种多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。Scala的编译模型(独立编译,动态类加载)与Java和C#一样,所以Scala代码可以调用Java类库(对于.NET实现则可调用.NET类库)。
Scala包包...
分类:
其他好文 时间:
2014-08-04 02:05:46
阅读次数:
420
HDU 2294 Pendant (DP+矩阵快速幂降维)
ACM
题目地址:HDU 2294 Pendant
题意:
土豪给妹子做首饰,他有K种珍珠,每种N个,为了炫富,他每种珍珠都要用上。问他能做几种长度[1,N]的首饰。
分析:
1 ≤ N ≤ 1,000,000,000简直可怕。
首先想dp,很明显可以想到:
dp[i][j] = (k-(j-1))...
分类:
其他好文 时间:
2014-08-04 02:05:26
阅读次数:
236
题目连接:hdu 4910 Problem about GCD
题目大意:给定M,判断所有小于M并且和M互质的数的积取模M的值。
解题思路:有个数论的结论,若为偶数,M=M/2. 可以写成M=pk,即只有一种质因子时,答案为M-1,否则为1.特殊情况为4的倍数,不包括4.
首先用1e6以内的素数去试除,如果都不可以为p,那么对大于1e6的情况判断一下是否为素数,是素数也可以(k=1)...
分类:
其他好文 时间:
2014-08-04 02:05:06
阅读次数:
265
缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:
使用缓冲区有这么两个好处:
1、减少实际的物理读写次数
2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数
举个简单的例子,比如A地有1w块砖要搬到B地
由于没有工具(缓冲区),我们一次只能搬一本,那么就要搬1w次(...
分类:
其他好文 时间:
2014-08-04 02:04:46
阅读次数:
265
HDU 2842 Chinese Rings (带常数矩阵+矩阵快速幂)
ACM
题目地址:HDU 2842 Chinese Rings
题意:
一种中国环,解开第k个环需要先解开前(k-2)个环,并留有第(k-1)环。问解开n环最少需要几步。
分析:
设f(n)表示解开n环。
1. 由于游戏规则,解开n环不能一下子把n-1全解开了,否则第n个就没法拿掉了。
...
分类:
其他好文 时间:
2014-08-04 02:04:36
阅读次数:
302
结构化异常处理程序?
SEH:structured Exception Handling,结构化异常处理。
结构化异常处理,是Windows操作系统上,Microsoft对C/C++程序语言做的语法扩展,用于处理异常事件的程序控制结构。
异常事件是打断程序正常执行流程的不在期望之中的硬件、软件事件。硬件异常是CPU抛出的如“除0”、数值溢出等;软件异常是操作系统与程序通过RaiseExc...
分类:
其他好文 时间:
2014-08-04 02:03:56
阅读次数:
311
HDU 4910 Problem about GCD
题目链接
题意:给定一个数字,求出1 - n之间与他互质的数的乘积mod n
思路:看了网上别人找出来的规律,原文链接
然后由于这题的n很大,也没法直接判定,可以这样搞,先去试10^6以内的素数,判断可不可以,如果不行,再利用米勒拉宾判下是否是素数,如果不是的话,把这个数字开根在平方,判断是不是完全平方数,这样做的原因是数字...
分类:
其他好文 时间:
2014-08-04 02:03:46
阅读次数:
273
HDU 2276 Kiki & Little Kiki 2 (位运算+矩阵快速幂)
ACM
题目地址:HDU 2276 Kiki & Little Kiki 2
题意:
一排灯,开关状态已知,每过一秒:第i个灯会根据刚才左边的那个灯的开关情况变化,如果左边是开的,它就会变化,如果是关的,就保持原来状态。问m秒后的状态。
第1个的左边是最后一个。
分析:
转移不好...
分类:
其他好文 时间:
2014-08-04 02:03:26
阅读次数:
325