
ACM
文章平均质量分 66
loser8101
目前是IT小白一个
展开
-
算法竞赛入门习题第三章
习题3-1 得分(Score, ACM/ICPC Seoul 2005, UVa1585)给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。#include<stdio.h>#include<string.h>char a[1000...原创 2018-03-31 19:12:50 · 1206 阅读 · 0 评论 -
字符串的循环左移
给定一个字符串S[0…N-1],要求把S的前K个字符移动到S的尾部,如把字符串“字符串abcdef”前面的2个字符’a’、’b’移动到字符串的尾部,得到新字符串“cdefab”:即字符串循环左移K。要求时间复杂度为O(n),空间复杂度为O(1).思路:将a取逆即为a',将b取逆即为b',则ba=(a'b')'#include<stdio.h>void ReverseSt...原创 2019-02-24 14:33:53 · 565 阅读 · 0 评论 -
算法竞赛入门习题第二章
习题2-1 水仙花数(daffodil)输出100~999中的所有水仙花数。若3位数ABC满足ABC=A3+B3+C3,则称其为水仙花 数。例如153=13+53+33,所以153是水仙花数。 #include<stdio.h>int judge_n(int n){ int a,b,c; a=n/100; c=n%10; b=(n/10)%10; if(n==a...原创 2019-02-24 10:40:56 · 196 阅读 · 0 评论 -
查找旋转数组的最小值
假定一个排序数组以某个未知元素为支点做了旋转,如:原数组0 1 2 4 5 6 7旋转后得到4 5 6 7 0 1 2。请找出旋转数组的最小值。假定数组中没有重复的数字。 分析:旋转之后的数组实际上可以划分成两个有序的子数组:前面子数组的大小都大于后面子数组中的元素;注意到实际上最小元素就是两个子数组的分界线; 思路:二分用两个指针low,high分别指向数组的第一个元素...原创 2019-02-22 10:21:51 · 221 阅读 · 0 评论 -
NYOJ24素数距离问题
素数距离问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0输入第一行给出测试数据组数N(0<N<=10000)接下来的N行每行有一个整数M(0<M<10000...原创 2018-07-07 22:13:36 · 124 阅读 · 0 评论 -
NYOJ33蛇形填数
蛇形填数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入 ...原创 2018-07-09 14:59:32 · 164 阅读 · 0 评论 -
NYOJ(1)
奇偶数分离 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。 输入 第一行有一个整数i...原创 2018-04-07 11:43:13 · 1021 阅读 · 0 评论 -
最大子序列和问题
算法1:对于第一种算法比较直接,就是从头到尾计算一遍,然后计算最大值就可以了。时间复杂度为O(n^3).#include<stdio.h>int Maxsum(int a[],int n){ int sum,maxsum=0; //i和j分别是子序列的左端和右端 //遍历i,j的所有情况 for(int i=0;i<n;i++) { for(int j=i;...原创 2018-04-18 18:58:46 · 191 阅读 · 0 评论 -
喷水装置(一)
喷水装置(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i&l...原创 2018-04-13 08:53:35 · 131 阅读 · 0 评论 -
取石子(一)
取石子(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1<=N<=1000000),两个人轮番取出其中的...原创 2018-04-12 14:18:25 · 226 阅读 · 0 评论 -
Binary String Matching
Binary String Matching 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to...原创 2018-04-10 18:03:20 · 101 阅读 · 0 评论 -
周期串问题
习题3-4 周期串(Periodic Strings, UVa455)如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例 如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。#include<stdio.h>#include<string.h>int main(){ char a[100]; scanf("%s",a);...原创 2018-04-02 21:39:20 · 552 阅读 · 1 评论 -
NYOJ 8 一种排序
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形...原创 2018-04-14 16:10:50 · 136 阅读 · 0 评论 -
刷OJ(2)
Fibonacci数 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为F(n)=1 ...........(n=1或n=2)F(n)=F(n-1)+F(n-...原创 2018-04-09 16:01:35 · 208 阅读 · 0 评论 -
字符串的全排列
给定字符串S[0…N-1],设计算法,枚举S的全排列。#include<stdio.h>char str[10]="1234";void swap(char &a,char &b){ char temp=a; a=b; b=temp;}void Permutation(int from,int to){ if(from==to) { fo...原创 2019-02-24 17:00:38 · 120 阅读 · 0 评论