自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangli2029的博客

仅作为学习监督

  • 博客(42)
  • 收藏
  • 关注

原创 力扣-剑指offer-12-矩阵中的路径

function exist(board, word) { let n = board.length; let m = board[0].length; //为节省时间,先排除永不会存在的情况即字符串长度多余二维数组中字符个数 if (word.length > (n * m)) { return false; } for ..

2021-08-07 21:13:19 106

原创 POJ 2406 Power Strings

题目链接:http://poj.org/problem?id=2406/*#include int main(){ printf("%d\n",0%4);//被求余数不能为0 return 0;} */#include #include char s[1000005];int next[1000005];int len;void getnext(){ int i=0,j

2016-05-06 20:51:01 257

原创 POJ 1961 Period

题目链接:http://poj.org/problem?id=1961题目大意:给你一个字符串,求这个字符串到第i个字符为还是用KMP算法 算是2406的加强版  不过从头到尾循环遍历一次就行了#include char str[1000005];int next[1000005];int t=0;int len;void getnext(){ int i=0,j=-1;

2016-05-06 20:45:04 248

原创 POJ 2752 Seek the Name, Seek the Fame

题目链接  http://poj.org/problem?id=2752给定一个字符串s,从小到大输出s中既是前缀又是后缀的子串的长度。#include #include char str[400005];int next[400005];int sum[400005];int len;int count;void getnext( ){ int i,j; next

2016-05-06 20:41:23 198

原创 杭电1251 统计难题

/*统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 29864 Accepted Submission(s): 11652Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单

2016-04-30 16:48:02 339

原创 杭电1075 What Are You Talking About

/*What Are You Talking AboutTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K (Java/Others)Total Submission(s): 19289 Accepted Submission(s): 6313Problem DescriptionI

2016-04-29 18:30:15 342

原创 nyoj1058 部分和问题

/*部分和问题时间限制:1000 ms | 内存限制:65535 KB难度:2描述给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。接着一行n个数。(1<=n<=20,保证不超int范围)输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例

2016-04-19 20:34:20 265

原创 nyoj488 素数环

/*NYOJ-488 素数环 素数环时间限制:1000 ms | 内存限制:65535 KB难度:2 描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。 输入有多组测试数据,每组输入一个n(0<n<20),n=0表示输入结束。

2016-04-19 20:31:13 318

原创 nyoj353 3D dungeon

首先是广搜版 这个通过了测试 并且没有超时/* A - 地下城主描述你被困在一个3 d地牢和需要找到最快的方法! 单位立方体的地牢由可能是也可能不是充满了摇滚。 移动一个单位需要一分钟北部,南部,东部,西部,向上或向下。 你不能移动对角和迷宫周围是坚硬的岩石。可能是一种逃避? 如果是,要多长时间?输入输入由一个地牢。 每个地牢描述开头一行包含三个整数L R和C(所有大小限制

2016-04-19 20:15:03 249

原创 nyoj32 组合数 深搜版

/*组合数时间限制:3000 ms | 内存限制:65535 KB难度:3描述找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出543542541532531521432431421

2016-04-19 16:45:18 290

原创 POJ3009 Curling 2.0

这道题的大概意思就是 一个石头 从起始位置出发 每抛一次算走一步 ,石头只能沿格子的直线滑动 直到遇到一个冰块才停下 当它在冰块面前停下后 这个冰块会消失 求最少需要抛几次 可以让冰块到达终点 1.起始位置在以后的抛石头过程中也可以滑动 相当于图中的标记为0的位置2.题中说跑的次数大于10次了就算做游戏失败 这里相当于给搜索做了一个剪枝3.因为石头每抛一次遇到一块冰块这个冰块就会消失

2016-04-19 11:26:46 175

原创 nyoj21三个水杯

/*三个水杯时间限制:1000 ms | 内存限制:65535 KB难度:4描述给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。输入第一行一个整数N(0<N<50)表示N组测试数据接下来每组测试数据有两行,第一行给出三

2016-04-16 21:02:02 259 1

原创 nyoj12喷水装置(二)

贪心算法 贪心策略转变成区间覆盖问题 注意一下细节 比如说qsort函数对double型数据的处理 还有无法喷灌全部草坪的各种情况/*喷水装置(二)时间限制:3000 ms | 内存限制:65535 KB难度:4描述有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被

2016-03-29 21:02:05 466

原创 nyoj325 zb的生日

/*zb的生日时间限制:3000 ms | 内存限制:65535 KB难度:2描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb立刻下定决心买了一堆西瓜。当他准备把西瓜送给C小加和never的时候,遇到了一个难题,never和C小加不在

2016-03-18 21:00:24 224

原创 蓝桥杯 第五届 六角填数

/*题目描述: 如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容。用的是深搜 */#include int a[13],b[13]={0},c[13];void judge(int c[]){ i

2016-03-18 20:11:36 292

原创 nyoj 488 素数环

/*NYOJ-488 素数环 素数环时间限制:1000 ms | 内存限制:65535 KB难度:2 描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。 输入有多组测试数据,每组输入一个n(0<n<20),n=0表示输入结束。

2016-03-18 17:03:55 376

原创 蓝桥杯第四届 第39级台阶

/*题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求

2016-03-14 20:49:43 466

原创 梭哈

T2 梭哈时间限制:1000ms【问题描述】你在赌场里玩梭哈,已经被发了4张牌,现在你想要知道发下一张牌后你得到顺子的概率是多少?假定赌场使用的是一副牌,四种花色的A、2、3、...、J、Q、K共52张,这副牌只发给你了4张,你的剩下一张牌从剩下48张中任意取出一张。顺子指的是点数连续的五张牌,包括10、J、Q、K、A这种牌型。注意:a、顺子不包含同花顺,即构成顺子的五

2015-12-09 18:27:25 661

原创 特定日期计算

T1 特定日期计算时间限制:1000ms【问题描述】给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期、终止日期)。满足以下一个条件的年份为闰年,只有闰年有2月29日:a、年份能被4整除但不能被100整除b、年份能被400整除【标准输入】有多组测试数据,第一行为一个整数T,表示测试数据组数。之后每组数据包含两行。每一行格式为"month day,

2015-12-09 16:47:31 438

原创 数据类型 与范围

unsigned   int   0~4294967295   int   2147483648~2147483647  unsigned long 0~4294967295long   2147483648~2147483647long long的最大值:9223372036854775807    long long的最小值:-9223372036854775808un

2015-11-18 17:58:12 290

原创 翻译的两种方式

C语言是属编译类语言计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因

2015-10-21 20:36:29 4366

原创 nyoj1036 非洲小孩

本题与891题找点有些类似 贪心策略基本相同  需注意的就是将输入的时间段看看是否正确 若前面时间比后面时间晚 交换一下位置/*非洲小孩时间限制:1000 ms | 内存限制:65535 KB难度:2描述家住非洲的小孩,都很黑。为什么呢?第一,他们地处热带,太阳辐射严重。第二,他们不经常洗澡。(常年缺水,怎么洗澡。)现在,在一个非洲部落里,他们只有一个地方洗澡,并且,洗

2015-10-11 14:13:18 481

原创 nyoj891找点

贪心策略就是 把所有区间按b从小到大排序(当b相同时,排不排序都可以),/*找点时间限制:2000 ms | 内存限制:65535 KB难度:2描述上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?输入多组测试数据。每组数据先输入一个N,表示有N个闭区间(N≤100)。接下来N行,每行输入两个数a,b(

2015-10-10 20:56:22 501

原创 nyoj586 疯牛

本题采取了二分查找法与贪心算法相结合的思想解题/*描述农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自

2015-10-10 16:02:47 297

原创 nyoj71独木舟上的旅行

贪心算法 找到当前下的最优策略本体的贪心策略为:将所有人的体重进行一个从低到高的排序,定义两个变量p、q,p指向开头,q指向结尾,当第一个数与最后一个数相加大于船的限载量时,让租船的数量加1,指向结尾的变量q向前移动,若此时,p所指的数与q所指的数之和小于或等于最大限载量,则将租船数量加1,p向后移一个单位,q向左移一个单位,继续执行上述操作,直到p==q,此时租船数量加一,最后得到的即为当前

2015-09-24 11:20:08 276

原创 nyoj1057 寻找最大数(三)

这道题折磨了我两天半   一开始没思路后来有了思路 但不是很清晰很彻底 导致程序一直写不对 此题的贪心策略就是从头开始 一步一步的来 每一步找到当前所剩步数下的最大数字,与前面的数字进行交换,换到当前位置上 记住是每一次,确定一个位子上的值该放哪个 一个位子一个位子的确定#include #include char a[21];int main(){ int k; whil

2015-08-19 18:34:34 264

原创 nyoj448 寻找最大数

这道题有个最重要的特点,就是要在删除数的情况下,原序输出的数是最大的才可以,一定要记住,是原序这道题的贪心策略就是在按顺序的情况下一次一次找到该输出的最大数 举个例子:假如输入数据的长度是14位,要删掉的是10位,在保证顺序的情况下,输出4次,每次都按前后顺序输出最大值,即若存储下标为0到13,则在下标为0到10之间的数中选出最大值输出,用max记录最大值对应的下标,接下来在max+1到1

2015-08-16 21:21:17 345

原创 nyoj8 一种排序

#include #include struct Node{ int num,l,w;};int cmp(const void *a,const void *b){ Node *c=(Node *)a; Node *d=(Node *)b; if(c->num!=d->num) return c->num-d->num; else if(c->l!=d->l) re

2015-08-11 16:10:24 247

原创 nyoj915 +-字符串

#include #include int main(){ char a[5005],b[5005]; int x,y; while(scanf("%s%s",a,b)!=EOF) { x=strlen(a); y=strlen(b); if(x!=y) { printf("-1\n"); continue; } int i,j,sum=0;

2015-08-11 16:04:08 324

原创 nyoj236 心急的C小加

#include #include struct Bang{ int l; int w;};int comp(const void *a,const void *b){ Bang *c=(Bang *)a; Bang *d=(Bang *)b; if(c->l!=d->l) return c->l-d->l;//将小木棒按长度从小到大排序 else return c

2015-08-11 15:50:03 311

原创 nyoj106 背包问题

#include struct Beibao{ int v;//题意中v为每个物品的单位重量的价值 int w;//每个物体的总重量};int main(){ int k; Beibao a[11],t; scanf("%d",&k); while(k--) { int s,m; scanf("%d%d",&s,&m);//s为物品件数 m为总限重 int i,

2015-08-11 11:43:23 274

原创 nyoj845 无主之地1

#include #include int main(){ int i; int m,n; int a[110],b[110]; while(~scanf("%d%d",&m,&n)) { int count=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); while(m||n) { for(i=0;i<c

2015-08-11 11:36:36 652

原创 nyoj100 1的个数

#includeint main(){ int N; scanf("%d",&N); while(N--) { int M; int rem,a[100],i=0,j,k=0; scanf("%d",&M); do{ rem=M%2; M=M/2; a[i]=rem; i++; }while(M!=0); for(j=0;j<i;j++)

2015-08-10 20:34:47 240

原创 nyoj 75 日期计算

#include int main(){ int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int b,c,d,k,i; scanf("%d",&k); while(k--) { int m,n=0,sum=0; scanf("%d%d%d",&b,&c,&d); if(b%4==0 && b%100!=0 || b%4

2015-08-10 19:50:59 317

原创 nyoj 小学生算术

#include int main(){ int a,b; scanf("%d%d",&a,&b); while(a || b) { int c,d,e; c=(a%10+b%10)/10; d=(a/10%10+b/10%10+c)/10; e=(a/100+b/100+d)/10; if(c>0&&d>0&&e>0) printf("3\n"); el

2015-08-10 19:39:09 364

原创 nyoj62 笨小熊

#include #include int main(){ char a[102]; int k; scanf("%d",&k); while(k--) { int b[28]={0}; scanf("%s",a); int n=strlen(a); int i,max=0,min=100,p;//100为单词字母个数最大上线 for(i=0;i<n;i++)

2015-08-10 15:51:18 300

原创 nyoj 24 素数距离问题

#include #include int ss(int n){ int i; if(n==1||n==0) return 0; for(i=2;i<=sqrt(n);i++)//用这种方法节省时间 if(n%i==0) return 0; return 1;}int main(){ int m,n,i; scanf("%d",&m);

2015-08-08 11:52:57 248

原创 nyoj236心急的C小加

这道题 需要多重判断 需要做标记 需要好好思考 没事就再纸上先写写过程#include #include struct Bang{ int l; int w;};int comp(const void *a,const void *b){ Bang *c=(Bang *)a; Bang *d=(Bang *)b; if(c->l!=d->l) return c->l-

2015-07-27 10:24:51 288

原创 nyoj106背包问题

描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1输入第一行输入一个正整数n(1随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1输出输出每组测试数据中背包内的物品的价值和,每次输出占一行。样例输入13 155 102 83 9样例输出65其实这道题看的时候没有认

2015-07-25 20:51:28 807

原创 组合数

组合数这个问题,我不知道还有其他什么方法 ,只记得学长说,用递归;最开始自己思考的方法只是循环,就只出现了一部分的组合数,肯定有哪里漏掉的后来学长讲了递归,开始好不容易懂了,但是后来,自己再看,就又会忘后来自己一个一个将那些函数调用一个一个地写出来,才得到了最终结果,感觉,当初学长想到这个方法,真是太牛叉了~~废话不多说,放代码~~#include void fun(int a,

2015-07-20 20:18:55 346 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除