1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecm ...
分类:
编程语言 时间:
2019-01-03 18:13:14
阅读次数:
226
题意 给出字符串的长度 $n$ ,以及该字符串是由哪些小写字母组成,现给出一个坏串 $S$ ,求存在多少种不同的字符串,使得其子串不含坏串。 $1 \leq n \leq 10^9$ $1 \leq |S| \leq 50$ 思路 矩阵快速幂优化 $\text{dp}$ 是真的常见,在同层状态数不多 ...
分类:
其他好文 时间:
2019-01-01 17:27:42
阅读次数:
216
"【HDU4622】Reincarnation" 一眼似乎不可做,但发现$strlen(x)$很小,暴力$O(n^2)$预处理每个区间$(l,r)$,查询时$O(1)$输出就好了 cpp include include include include include typedef int LL; ...
分类:
其他好文 时间:
2018-12-31 11:25:06
阅读次数:
192
"题面" 就是让你——在字符串A中,如果字符串B是A的子串,那么就删除在A中第一个出现的B,然后拼接在一起,一直重复上述步骤直到B不再是A的子串 |A|$\le 10^6$ 思路: KMP+栈 1、由于是两个 字符串匹配 的问题,当然一下子就会想到 KMP 2、由于是 删去一段区间 ,很多人第一反应 ...
分类:
其他好文 时间:
2018-12-26 15:44:38
阅读次数:
120
#include "string.h" #include "stdio.h" char * nixu(char *c) { int i=0; int n = strlen(c); char *p1 = c + n -1; char *p2 = c; char *p3 = c; while(p1>p2... ...
分类:
编程语言 时间:
2018-12-24 00:02:23
阅读次数:
310
【题目描述】 假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。 【输入】 一行数据,即表达式。 【输出】 ...
分类:
其他好文 时间:
2018-12-23 18:00:39
阅读次数:
167
"P3041 [USACO12JAN]视频游戏的连击Video Game Combos" 看到匹配,当然用AC自动机 常我们有文本串,这里仅给出长度,怎么计算得分呢 按模式串建自动机,跑一边$dp$,字符集较小,都不需要统计每个点的值 直接往上扫累加就行 My complete code: cpp ...
分类:
其他好文 时间:
2018-12-21 12:49:47
阅读次数:
169
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存 参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》 参考:C和指针学习 说明:本文非常的长,也是为了便于查找和比较,所以放在一起了 Linux 传统的进程间通信有很多,如各类管道、消息队 ...
分类:
系统相关 时间:
2018-12-18 12:16:26
阅读次数:
248
KMP的Next数组:模式串的前缀与后缀的“相交”长度 KMP算法步骤: 1.先算next数组 2.若失配(此时模式串下标为j),利用Next数组求出失配后滑动的新位置 a.Next[j] \geq 0,则模式串右移 j-Next[j] 位 b.Next[j] = -1,则模式串右移 j+1 位 ...
分类:
编程语言 时间:
2018-12-16 21:45:07
阅读次数:
172
#include<stdio.h>#include<assert.h>/**作用:获取串str的长度*/intstrlen(constchar*pcStr){assert(pcStr!=NULL);intiLen=0;while(‘\0‘!=*pcStr){pcStr++;iLen++;}returniLen;}/**前提:strDes指向的内存至少能够容纳(strlen(
分类:
编程语言 时间:
2018-12-16 16:33:35
阅读次数:
256