算法记录(2010.1.23-1)

【BFS】P9126 [USACO23FEB] Moo Route II S|普及+ 注意:本题的时间限制为 4 秒,是默认限制的两倍。 Bessie 正在度假!由于最近的技术进步,Bessie 可以通过先进的航班旅行,这些航班甚至可以进行时间旅行。此外,即使存在多个“平行”的 Bessie 同时出现也不会有任何问题。 在这个国家,有 $N$ 个机场,编号为 $1,2,\cdots,N$,以及 $M$ 条时间旅行航班($1 \leq N,M \leq 200000$)。第 $j$ 条航班从机场 $c_j$ 在时间 $r_j$ 起飞,并在时间 $s_j$ 抵达机场 $d_j$($0 \le 阅读详情

课题《字符串提取的函数代码!不准用字符处理函数实现! 》

要求:

给定一个字符串如:“ewewewe,.,,rerere-;;ewewewe'rerrere”
如何将字符串提取出来,打印如下:
ewewewe
rerere
ewewewe
rerrere
调用函数  tiqu(char const *p,char *s)

不准用字符处理函数实现!   /*现在想想字符处理函数不准用,字符串处理函数行不,要知道在C++里面字符和字符串可以两个概念哎——嘻嘻*/

备注:

《字符串提取的函数代码!不准用字符处理函数实现! 》 这是我在论坛上看见的一篇请求,当时,感觉不难,直到自己动手写的时候才发现,不难的东西往往有很大的优化空间,应此,先后写了三段不同的代码,论坛上已经贴了前两段(现在发现论坛上原先的前两段编写时忽略了一种情况,即首字符就是标点)……

内容:

代码1:

#include <stdio.h>

void tiqu(char const* p, char* s)
{
	const char* tmp = s;
	while(*p) {
		if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) {
			*s++ = *p++;
		}
		else {
			if (tmp == s) {//判断是不是首字符
				continue;
			}
			*s++ = '\n';
			while ((*p <= 'a' || *p >= 'z') && (*p <= 'A' || *p >= 'Z'))
				++p;
		}
	}
	*s = '\0';
}

int main()
{
	char str[255];
	char* istr = "ewewewe,.,,rerere-;;ewewewe'rerrere";
	tiqu(istr, str);
	printf("%s\n", str);
	return 0;
}

代码2:

#include <stdio.h>

//#define ISPT(C) (C <= 'a' || C >= 'z') && (C <= 'A' || C >= 'Z')//可以使用宏简化代码

void tiqu(char const* p, char* s)
{
	const char* tmp = s;
	while(*s = *p) {
		++p;
		if ((*s <= 'a' || *s >= 'z') && (*s <= 'A' || *s >= 'Z')) {
			//使用宏简化代码时用 if (ISPT(*s)) {
			if (tmp == s) {//判断是不是首字符
				continue;
			}
			*s = '\n';
			while ((*p <= 'a' || *p >= 'z') && (*p <= 'A' || *p >= 'Z')) {
			//使用宏简化代码时用 while (ISPT(*p))
				++p;
			}
		}
		++s;
	}
}

int main()
{
	char str[255];
	char* istr = "ewewewe,.,,rerere-;;ewewewe'rerrere";
	tiqu(istr, str);
	printf("%s\n", str);
	return 0;
}

代码3:

#include <stdio.h>

void tiqu(char const* p, char* s)
{
	const char* tmp = s;
	while(*s = *p) {
		++p;
		if ((*s <= 'a' || *s >= 'z') && (*s <= 'A' || *s >= 'Z')) {
			if (tmp != s && *(s - 1) != '\n') {
				*s++ = '\n';
			}
			continue;
		}
		++s;
	}
}

int main()
{
	char str[255];
	char* istr = "ewewewe,.,,rerere-;;ewewewe'rerrere";
	tiqu(istr, str);
	printf("%s\n", str);
	return 0;
}

这三段代码,主要区别在while循环中

后记:

虽然没有真正测试过,不过后者应该会比前者效率高点。但同时感觉还有进一步提高的可能……

从 0 到 1,实战 Power BI 电商销售可视化看板全流程 本文详细介绍了从零开始使用Power BI构建电商销售可视化看板的全流程,涵盖数据准备、建模、可视化设计及高级功能应用。通过实战案例展示如何将复杂销售数据转化为直观图表,帮助电商从业者快速掌握销售趋势、热销产品和用户画像等关键信息,提升数据分析效率。 阅读详情

相关推荐

LangChain + Milvus Lite:从零搭建本地RAG知识库

本文详细介绍了如何利用LangChain、Milvus Lite和gte-large-zh模型,在本地从零搭建一个完整的RAG知识库系统。文章涵盖了环境配置、文档处理与向量化、本地向量库构建以及检索问答实现的全流程,重点突出了完全本地化部署带来的数据隐私安全和成本优势,为开发者提供了一条实践性极强的技术路径。

weixin_29044713的博客 444

算法1.1.23

为 BinarySearch  的测试用例添加一个参数: +  打印出标准输入中不在白名单上 的值; - ,则打印出标准输入中在白名单上的值。 为BinarySearch的测试用例添加一个参数:+打印出标准输入中不在白名单上的值;-,则打印标准输入中在白名单上的值。 public static int rank(int key, int[] a,char c) {        

linjiajun12123的博客 407

高通thermal-engine.conf配置详解:从虚拟传感器到CPU频率控制的完整指南

本文深入解析了高通thermal-engine.conf配置文件的架构与调优方法。从虚拟传感器的加权融合原理,到监控算法与CPU频率控制的多级策略,提供了完整的配置详解与实战调试指南。文章旨在帮助开发者与高级用户掌握底层温控逻辑,在性能与散热间实现精准平衡,并详细介绍了日志调试与场景化配置等高级技巧。

weixin_28327051的博客 493

1.23 算法题(1)

不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 50869 Accepted Submission(s): 18553 Problem Description 国庆期间,省城HZ刚刚举行了一场盛大的集体...

qq_43973193的博客 216

Qt之自定义QToolTip,去掉显示动画和隐藏延时

先来看看Qt原生QToolTip的缺点:1.当提示内容无变化时,弹窗无法移动。只能先传个空字符串强制弹窗隐藏,然后在新位置再传个字符串。2.默认显示10多秒才消失,当然这个时间是可以设置的,但是如果我想一直显示呢?总不能设置一个超级大的时间吧。3.鼠标移出控件后(调用QToolTip::showText时传入了控件指针)默认300毫秒弹窗才隐藏。而且这个时间没法设置,如果想立即隐藏就没办法了。

草上爬的博客 4268

领域知识图谱构建的技术流程

因此概念的属性定义十分重要,通常大部分知识库中的概念属性都是采用人工定义等方式生成的,通用知识图谱则可以从开放数据集中获取概念的属性,然后从在线百科中学习实体的属性,并对实体属性进行往上规约从而生成概念的属性。由于百科的分类体系都是经过了百科管理员或是高级编辑人员的校验,其分类系统中的数据可靠性非常高,因此从百科中抽取概念和实体,通常将标题作为实体的候选,而将百科中的分类系统直接作为概念的候选。为了对知识进行合理的组织,更好地描述知识本身与知识之间的关联,需要对知识图谱的模式进行良好的定义。

weixin_43961909的博客 334

Spark之初学-01

Spark简介 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的较高级项目。随着Spark在大数据计算领域展露头角,也获取了越来越多的关注。2014年11月,Spark在Daytoya Gray Sort100TB Benchmark竞赛中打破了由Hadoop MapReduce保持的排序记录,Spark利用1/10的节点数,把...

wzz87的博客 468

超临界二氧化碳发电技术深度解析

超临界二氧化碳发电技术正在突破传统热电转换的物理边界。作为新一代发

硬核科技 602

2018年10月训练记录(10.1~10.23)

前言

CXR的博客 816

【x264编码器】章节1——x264编码流程及基于x264的编码器demo

提供了一种方便的方式来根据指定的配置profile应用相应的设置到 x264 参数结构体上。不同的配置文件类型会对参数结构体进行不同的修改,以满足特定的编码需求。然后是编码器参数,包括帧参考数、最大关键帧间隔、最小关键帧间隔、B 帧数、场景切换阈值等。结构体的成员进行赋值,将其初始化为默认值。之后是一些编码器设置,如去块滤波、CABAC 编码、码率控制方法、参考帧压缩系数等。接下来是一系列与视频属性相关的参数,如色度格式、宽度、高度、宽高比等。然后是一些与日志输出、分析类型、量化矩阵等相关的参数。

vcvdv123的博客 5743

高通平台开发系列讲解(USB篇)MBIM协议详解

📢本文主要介绍高通平台USB网卡MBIM协议。

内核笔记 5438

OpenSSL使用记录

OpenSSL 用于https通信时,在windows上编译的OpenSSL-1.1.1版本的库,以及使用demo,中间遇到一些问题,谨以此记录并与大家交流。

不入流小码农 733

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NOIP2010机器翻译

翻译软件由临时记忆和外存记忆两部分构成。临时记忆有限,至多储存 mmm 个单词;外存记忆无限,可以储存任意多的单词。\hspace{15pt}对于新出现的单词,储存规则如下:∙ \hspace{23pt}\bullet\,∙若其存在于临时记忆中,则直接使用,不进行任何操作;∙ \hspace{23pt}\bullet\,∙若其不存在于临时记忆中,那么记录一次读取,并加入临时记忆;

ykkkyi的博客 876

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

bzoj 1854 //1854: [Scoi2010]游戏

bzoj 1854 //1854: [Scoi2010]游戏 //在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?id=1854 更多题解,详见https://blog.csdn.net/mrcrack/article/details/90228694BZOJ刷题记录 二分图 //1854: [Scoi2010]游戏 //在线测评地...

mrcrack的博客 231

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

c语言2010试题答案,2010年c语言试题及答案

2010年c语言试题及答案 2010年C语言试题及答案 一、选择题 (1)下列叙述中正确的是 A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为n B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n) (2...

weixin_39973009的博客 178

2010--必须做到的事

今年已经27了,这些东西,竟然还不会,感觉这样不好。 2010年,我必须学会以下东西,aop,微软企业库,nhibernate,mvc1.0,javascript虽然是mvc2.0时代了,但是万变不离其宗,这期间必然会涉及到设计模式,算法,数据结构。 至于silverlight,linq to 很多东西,entity framework,单元测试,很想学,但是顾不上了。如果工作中能用到,当然极...

weixin_30699465的博客 61

Excel 2010 VBA 入门 040 批量删除空行

目录 示例: 实现代码1: 单元格删除Delete方法 单元格删除的通用算法 实现代码2 利用Union获取整个单元格区域进行统一操作 Union方法的注意事项 单元格插入Insert方法 示例: 如图所示,该表为某公司入库流水账,由于工作人员疏忽,在记录中产生了许多空行。现在需要做统计,希望能够将这些空行批量删除,该如何用VBA实现? 日期/时间 产品 数量 2012/10/29 产品1 83 2012/10/30 产品1 184 ..

复行数十步 1902

打卡信奥刷题(1631)用C++实现信奥 P7542 [COCI 2009/2010 #1] MALI

题目要求为每个回合k找到最小的最大数对和(Ai+Bj),其中每个数只能使用一次。每次回合新增一对数字后,需将A和B序列中的数字重新配对,使得最大和最小。样例输入3组数据,输出每回合的最优解。C++实现使用双指针方法,维护A和B的计数数组,通过贪心策略将最小A与最大B配对来最小化最大和。算法复杂度为O(N*100),适用于N≤10^5的数据规模。输出每回合计算后的结果。

Loge谈信奥--一个专注于信奥人的博客 748

刷题记录:牛客NC20279[SCOI2010]序列操作

刷题记录:牛客NC20279[SCOI2010]序列操作

yingjiayu12的博客 495

10.23模拟赛T1

(1<=n<=1000,1<=m<=100000) 这是一道傻逼题,正解是用数组维护次短路的相关信息,但是直接暴力BFS就过了,笑死我了 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctyp...

sleepyNick 186

BZOJ-1827 [Usaco2010 Mar]gather 奶牛大集会

1827: [Usaco2010 Mar]gather 奶牛大集会 Time Limit: 1 SecMemory Limit: 64 MB Description Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。每个奶牛居住在 N(1<=N<=100,000) 个农场中的一个,这些农场...

dianding2758的博客 152

1826: [JSOI2010]缓存交换

1826: [JSOI2010]缓存交换 https://www.lydsy.com/JudgeOnline/problem.php?id=1826 分析:   简单的贪心,然后调啊调。。。最近怎么了,码力大大下降,各种奇奇怪怪的bug漫天飞,以后少熬夜。   贪心:每次pop一定是pop最远点的点。 代码: 1 #include<bits/stdc++.h> ...

weixin_30549657的博客 81

【bzoj2002】[Hnoi2010]Bounce 弹飞绵羊 link-cut-tree

【bzoj2002】[Hnoi2010]Bounce 弹飞绵羊 link-cut-tree 2016-05-3011:51:59 用一个next数组,记录点x的下一个点是哪个 查询时,moveroot(n+1),access(x),splay(x) ,输出si...

anchoupi8353的博客 156

bzoj2208: [Jsoi2010]连通数(dfs)

2208: [Jsoi2010]连通数 题目:传送门 题解:    强烈吐槽(表示自己想复杂了)    看到这个破题就直接想强联通,错了很久看一波路牌,发现没错,但是要bitset(蒟蒻不会啊)    水了个dfs准备等下对拍....tmdA了!!!    不想多说... 代码: 1 #include<cstdio> 2 #include<cstrin...

weixin_30871293的博客 107

组合数学起步-排列计数[ZJOI2010][BZOJ2111]

<题面> 数据范围:$1 \leq N \leq 10^6, P \leq 10^9 $ 这个题…… 以为是排列,其实是组合 题目中说是从所有排列中找到Magic的,就是 $p_{i/2} \leq p_i$ 满足的情况 我拿着排列想了半天,发现 这个题和排列一点关系也没有 而且我打了几个表,看了下可行结果,也不能逆向求 后来是一个提示:用堆,dp 堆啊…...

152

打卡信奥刷题(2472)用C++实现信奥 P1640 [SCOI2010] 连续攻击游戏

摘要:题目描述了一个游戏装备攻击问题,玩家需要从属性值为1开始连续递增地使用装备攻击boss。给出N件装备的双属性值,要求计算最多能连续攻击的次数。C++实现使用深度优先搜索(DFS)遍历可能的攻击序列,通过bitset记录已使用装备,找到最长连续攻击序列。输入样例3件装备(1,2)(3,2)(4,5)时,最大连续攻击次数为2。算法时间复杂度较高,适用于小规模数据。

Loge谈信奥--一个专注于信奥人的博客 262
上一篇: Code::Blocks(MinGW)编译资源文件时中文乱码的解决方案及补充
下一篇: 实现日期到农历五行八字转换
耍宝王
博客等级 码龄17年 107粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值