算法与数据结构
XYZHCS
这个作者很懒,什么都没留下…
展开
-
统计单词个数
#include<stdio.h>#include<string.h>#define maxn 100int main(){ char a[maxn]; gets(a); int k=0; while(a[k]==' ') k++; int count=0,len=strlen(a); for(int i=k;i<len;i++) { i...原创 2019-11-12 16:56:48 · 810 阅读 · 0 评论 -
单词拼接(欧拉回路)
题目描述给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母相同。如alohadogarachnidgophertigerrat 可以拼接成:aloha.arachnid.dog.gopher.rat.tiger输入第一行是一个整数N(0每组测试数据的第一行是一个整数M,表示该组测试数据中有M(2输出 如果存在拼接方案,请输出所有拼接方案中原创 2018-01-18 11:51:24 · 593 阅读 · 0 评论 -
子序列-离散化-尺取法-二分查找
子序列时间限制:3000 ms | 内存限制:65535 KB难度:5描述给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次。如2 8 8 8 1 1,所求子串就是2 8 8 8 1。输入第一行输入一个整数T(0每组测试数据的第一行是一个整数N(1随后的一行有N个正整数,表示给定的序原创 2018-01-10 16:01:23 · 157 阅读 · 0 评论 -
找球号-二分查找
1182 - 找球号(一)时间限制:3秒 内存限制:128兆题目描述在某一国度里流行着一种游戏。游戏规则为:在一堆球中,每个球上都有一个整数编号i(0输入第一行有两个整数m,n(0接下来输入m+n个整数,前m个分别表示这m个球的编号i,后n个分别表示每次游戏中的随机整数k输出输出"YES"或"NO"样例输入6 423 34 46 768 343 3432 4 23 343样例输出NONO原创 2018-01-07 20:26:25 · 335 阅读 · 0 评论 -
HDU-1358-Period-KMP
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...原创 2018-02-08 11:43:05 · 151 阅读 · 0 评论 -
Cable master-二分查找
Cable masterTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 57740 Accepted: 12053DescriptionInhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Com...原创 2018-03-19 21:09:34 · 153 阅读 · 0 评论 -
HDU-1022 Train Problem I
Train Problem ITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43943 Accepted Submission(s): 16464Problem Description As the new term comes, ...原创 2018-04-09 21:26:04 · 115 阅读 · 0 评论 -
27-水池数目
内存限制:64MB 时间限制:3000ms 特判: No 通过数:102 提交数:150 难度:4题目描述:南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水池。输入描述:第一行输入一个整数N,表示共有N组测试数据每一组数据都是先...原创 2021-01-08 11:28:09 · 161 阅读 · 0 评论 -
排列序数-蓝桥杯(康拓展开)
X星系的某次考古活动发现了史前智能痕迹。这是一些用来计数的符号,经过分析它的计数规律如下:(为了表示方便,我们把这些奇怪的符号用a~q代替)abcdefghijklmnopq 表示0abcdefghijklmnoqp 表示1abcdefghijklmnpoq 表示2abcdefghijklmnpqo 表示3abcdefghijklmnqop 表示4abcdefghijklmnqp...原创 2019-03-23 17:29:49 · 137 阅读 · 0 评论 -
串的模式匹配算法-KMP
#include<iostream>#include<cstdlib>#include<cstring>using namespace std;#define maxSize 99//所有字符串从下标1开始存储 typedef struct { char *ch; int length;}Str;void getnext(Str subs...原创 2019-08-09 10:06:28 · 228 阅读 · 0 评论 -
Quoit Design-最近点对-归并排序
HDU-1007Quoit DesignTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 58274 Accepted Submission(s): 15446Problem DescriptionHave原创 2018-01-08 21:29:11 · 244 阅读 · 2 评论 -
UVA-400
#include#include#includeusing namespace std;string filenames[105];void print(string s,int len){ cout<<s; for(int i=0;i<len;i++) cout<<' ';}int main(){ int n; while(cin>>n) { int maxle原创 2018-01-16 09:40:40 · 111 阅读 · 0 评论 -
汉诺塔(一)
1184 - 汉诺塔(一)时间限制:1秒 内存限制:128兆提交题目描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小原创 2018-01-06 20:40:48 · 318 阅读 · 0 评论 -
孪生素数问题
1122 - 孪生素数问题时间限制:3秒 内存限制:128兆题目描述写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。输入第一行给出N(0接下来组测试数据给原创 2018-01-13 13:36:52 · 772 阅读 · 0 评论 -
会场安排问题-区间问题
1110 - 会场安排问题时间限制:3秒 内存限制:128兆题目描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m每组测试数据的第一行原创 2018-01-13 20:05:00 · 253 阅读 · 0 评论 -
10305 - Ordering Tasks-拓扑排序
10305 - Ordering Tasks John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task isonly possible if other tasks have already been executed.InputThe原创 2018-01-14 16:44:10 · 148 阅读 · 0 评论 -
枚举
10976-UVA1/k=1/x+1/y , 0#include#includeusing namespace std;int main(){ int k,x,y; while(scanf("%d",&k)!=EOF) { vector X,Y; for(int y=k+1;y<=2*k;y++) { if((k*y)%(y-k)==0) {原创 2018-01-14 21:44:45 · 116 阅读 · 0 评论 -
标准c++中string类函数
注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。好了,进入正题………首先转载 2018-01-15 10:55:09 · 125 阅读 · 0 评论 -
c++ STL map 的基本成员函数
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数;mapmapstring; mapmapint;mapmapstring; mapmapchar;mapmapchar; mapmapint;2. map添加数据;map maplive; 1转载 2018-01-15 11:02:10 · 1610 阅读 · 0 评论 -
1264 - 房间安排
房间安排假设:某个定单上的游客一旦被安排到某房间,在他预定住宿的期间内是不换房间的。为了简化描述,定单上的开始住宿时间为距离现在的第几天。例如,定单为(10,30,5)表示游客要求使用10个房间,第30天开始连住5天。输入第一行:T 表示有T组测试数据每组测试数据第一行:N 表示定单数每组测试数据接下来有N行,每行有三个整数 A B C 表示房间数,开始住宿时间和天原创 2018-01-05 17:32:11 · 148 阅读 · 0 评论 -
欧几里德算法
欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而转载 2018-01-06 14:48:54 · 290 阅读 · 1 评论 -
喷水装置(二)-区间覆盖问题
题目描述有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n输入第一行输入一个正整数N表示共有n次测试数据。每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪的横向长度,h表示草坪的纵向长度。随后的n行,都有两个整数xi和ri,xi表示第i个喷水装置的的横坐标(最左边为0),ri表示该喷水装置能覆盖的圆的半径。输出每组测试数据输出一个正整数,原创 2018-01-15 20:36:27 · 146 阅读 · 0 评论 -
snake
1129 - snake时间限制:3秒 内存限制:128兆题目描述在n*n方陈里填入1,2,...,n*n,要求填成snake形。例如n=4时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n输出输出结果是snake形方阵。样例输入3样例输出7原创 2018-01-11 20:57:34 · 364 阅读 · 0 评论