自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 HDOJ1026

思路是用BFS来搜索路径,将路径存储在对应的数组中,同时定义一个优先队列来处理与士兵战斗的时间。具体解法见代码中的注释。//// main.cpp// hdoj-test//// Created by willam huang on 2018/4/6.// Copyright © 2018年 willam huang. All rights reserved./...

2019-06-11 22:14:43 182

转载 hdoj-1024-c++

动态规划,看半天没看懂。。。贴个网址,之后碰到不同类型的再仔细研究吧。https://www.cnblogs.com/dongsheng/archive/2013/05/28/3104629.html

2018-08-08 20:43:41 207

原创 hdoj-1022-c++

题目理解的一个要点是进站并不是一次性进完的,否则就太简单了。可以进一部分,出一部分,再进一部分。。。直到满足出站顺序要求。理解了题目后即可得知,是一个模拟栈的问题,则关键思路是每次push之后,检查top是否符合当前index指向 的out序列中的值,若相等则pop,否则继续push(每一步都要注意修改对应index)。附代码:#include <iostream>#i...

2018-08-02 20:48:56 184

原创 hdoj-1021-c++

思路:不能用循环,会超时,简单计算一下各个数对3的模可以发现规律为12022101的循环,则问题就简单了。注意一下输入输出就好(在这上面耗了一会儿,zz了)附代码:#include <iostream>using namespace std;int main(){    int n;    while(cin>>n){        if(n%8==2||n%8==6)  ...

2018-05-01 23:42:06 128

原创 hdoj-1020-c++

思路:一个int变量记录同一个字母重复的个数,不断判断当前字母是否和下一个相同,若相同,count++,若不同,输出结果。附代码:#include <iostream>#include <string.h>using namespace std;char orig[10000];int main(){    int N,count;    cin>>N;    ...

2018-05-01 23:18:58 137

原创 hdoj-1019-c++

思路:核心思路是不断地对两个数求最小公倍数,具体算法为最小公倍数=a*b/最大公约数,而最大公约数可以用gcd函数计算(第一次了解)。附代码:#include <iostream>using namespace std;int gcd(int a,int b);int N,m;int main(){    cin>>N;    while(N--){        int ...

2018-04-24 23:48:46 165

原创 hdoj-1018-c++

思路:一开始想的字符串或者数组,但是仔细一想这么大的数还是阶乘,算出来肯定不现实。所以从只计算位数的角度思考了一下,直觉用对数可以降低计算成本。具体思路参见https://blog.csdn.net/wy_wind/article/details/41264203附代码:#include <iostream>#include <math.h>using namespace ...

2018-04-23 23:40:01 117

原创 hdoj-1017-c++

思路:数据很小,循环遍历即可,重点倒是在如何判断整数上纠结了一会儿。附代码:#include <iostream>using namespace std;int count(int n,int m);int main(){    int N,n,m,result;    cin>>N;    while(N){        int i = 1;        while(...

2018-04-23 23:22:38 223

原创 hdoj-1002-c++

思路:用字符串来存储大整数,关键在于实现进位,可以先倒序(这样方便位数需要增加的情况)相加,然后再倒叙输出。结果:AC不附代码了,太懒没有写,直接贴别人的解法。https://blog.csdn.net/ironyoung/article/details/45420161...

2018-04-10 23:02:50 310

原创 hdoj-1013-c++

思路一:输入整数,计算位数之和,然后若大于10则循环计算。结果:wrong answer,看了网上分析,应该是要适应非常大数的计算,所以应该用string来存储输入的数。思路二:用string存储输入的数,同时发现,最后的结果是原始数各位数之和sum,(sum-1)%9+1,原来是个数论的题(当然也可以仿照思路一,循环计算)结果:坑之处在于我的编译器和oj的编译器版本有出入,结果死活compila...

2018-04-10 00:17:01 288

原创 hdoj-1012-c++

思路:两次递归,一次算阶乘,一次算求和,主要注意输出格式吧结果:一开始循环时,阶乘忘记循环开始重设temp的值等于1了,最后改过来,AC。附代码:#include <iostream>#include <math.h>#include <iomanip>using namespace std;double cale(int n);int main(){    i...

2018-04-09 23:32:14 146

原创 hdoj-1010-c++

思路:DFS(深度优先搜索),基本参照dfs的框架写就好。结果:第一次自己的代码超时了。。后来查看了通过的代码(参照https://blog.csdn.net/u014174811/article/details/41293209)后发现可能是我多使用了一次循环来申请空间——而参考代码是直接利用了规则(图大小不超过7*7),可能申请空间的循环需要花费额外的时间(毕竟AC的代码时间是998ms,仅比...

2018-04-06 23:22:01 125

原创 hdoj-1009-c++

思路:将输入的J[i]和F[i]按照J/F的大小排序,从收获最大的开始,每次交易,总量加上J[i],M减去F[i],直到M不够支付一次完整的交易,最后一次按照M剩下的数量全部交易掉,得到结果。结果:莫名其妙错了好几次,最后按照网上大神的代码重新改过就AC了。一个需要注意的问题,如果定义数组A存储J/F的值,则对A调用sort后,并不会改变J和F的排列,必须要定义结构体数组,并且自定义结构体比较函数...

2018-04-06 10:24:40 111

原创 hdoj-1008-c++

思路:本来以为是要寻找最优时间 ,结果发现只要按照顺序来计算就可以了,思路么,就这么算吧

2018-04-05 22:52:54 138

原创 hdoj-1006-c++

思路一:按秒数1s1s遍历43200秒,对满足条件的秒数进行统计结果:答案错误,问题在于原题是连续时间(角度连续变化)的,用离散的方法肯定不行。思路二:参考网上的解法,使用角速度相减算周期的方法具体参考 https://blog.csdn.net/sinat_18897273/article/details/71191038的解法。结果:顺利AC。提醒:需要将所有数据设置为double类型,设置为...

2018-04-03 22:46:43 222

原创 hdoj-1005-c++

思路一:循环计算,直到第n个值结果:超时;思路二:用一个100大小的数组记录前100个结果,直到再次出现1,1且不为第一第二个时,出现循环,然后用(n-1)%i——i为周期长度——计算第n个值结果:忽略了可能不以1,1为开头的循环,例如1,1,2,3,0,4,2,3,0,4.......思路三:仔细分析,只需7*7个数必定出现循环(因为模7只能出现7种结果),所以直接以49作为周期,其余同思路2结...

2018-04-02 23:21:32 178

空空如也

空空如也

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

TA关注的人

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