- 博客(30)
- 收藏
- 关注
原创 计蒜客-转圈游戏
题目链接:转圈游戏题目思路:转一圈,位置(x+m)%n,转10^k圈, 位置:(x+10^k*m)%n因为10^k太大,此题需要快速幂算法,快速幂算法指路->快速幂算法贴代码:#include <bits/stdc++.h>typedef long long ll;using namespace std;ll binaryPow(ll a,ll b, ...
2020-05-02 21:45:22
293
原创 计蒜客-切割钢管
题目链接:切割钢管题目思路:从给定的范围开始二分,用for循环,判断每一个长度中有几个mid,如果加起来的和>=k,则l增大,否则,r变小。(对于此题还是模模糊糊,想不太通顺,但也只能先这么做)#include <bits/stdc++.h>using namespace std;int main(){ int n, k; cin >&g...
2020-05-01 21:42:37
289
原创 计蒜客-最大子阵
题目链接:最大子阵题目思路:这个题的AC代码,我是服气的!!!直接枚举上下左右边,可以的!#include <bits/stdc++.h>using namespace std;int main(){ int n, m, sum, ans = -1010; //ans取-1010是因为题目中,最小可取-1000; cin >> n &g...
2020-04-30 12:54:34
187
原创 计蒜客-北极圈远征
题目链接:北极圈远征题目思路:啊啊啊啊啊我痛恨我自己,我算出了一周是7x+21k,但是他那个,52星期筹完,让我犹豫了!!!!我竟然在想,比52周更短行不行!!!我进入了思想误区,人明明规定就说52周内极其,我发现,我阅读理解太垃圾了了,我竟然看不懂题!!!!这种不是只出现了一次,我就是!!!!不会思考,ORZ。。。。具体思路: 52(7x+21k)==n, x尽可能大,所以从10...
2020-04-29 21:55:43
581
原创 计蒜客-装饰效果
题目链接:装饰效果题目思路:从前往后计算连续最大和,遇到和<=0,即把当前和归为0,随时更新最大值#include <bits/stdc++.h>using namespace std;int main(){ int n; int a[1010]; int ans = 0, cnt; cin >> n; ...
2020-04-29 21:24:08
450
原创 计蒜客-四方平和
题目链接:四方平和题目思路:拿到此题目毫无头绪,题目提示是枚举,但是QAQ真的想不到,后来看了视频,真的巨震惊我!!!!不说了直接上AC代码#include<bits/stdc++.h>using namespace std;int main(){ int n, l; cin >> n; for(int i = 0; i * i &...
2020-04-29 21:16:17
137
原创 计蒜客-多项式相乘
题目链接:多项式相乘题目思路:用数组存每个指数所对应的系数,题中所说,a,b<=10,所以指数最大为20#include <bits/stdc++.h>using namespace std;int a[2][2]; //存第一项int b[2][2];//存第二项int ans[22];//存指数所对应的系数int main(){ for(int ...
2020-04-29 21:02:58
448
原创 计蒜客-括号匹配
题目链接:括号匹配题目思路:想到了先找第一个右括号,但是没想到应该怎么存括号的下标,综合大佬的代码(大佬代码指路,感谢大佬),知道应该用栈来做这道题;具体思路:从左往右扫描字符串,遇到左括号就把左括号的下标存入栈中,遇到右括号,开始查栈是否为空,如果为空,直接输出No,结束程序;不为空,就把栈中的top和当前右括号的下标存入数组中,然后把栈顶元素pop出去;扫描完字符串,先判断一下栈是否为...
2020-04-27 21:44:12
400
原创 计蒜客-报数
题目链接:报数题目思路:是一个循环队列的问题;挨个报数,不到第m个就先存下来,从队列头pop出去,然后push到尾部;如果报到第m个数,就直接pop出去,直到队列只剩1个,即。size()==1#include <bits/stdc++.h>using namespace std;int main(){ int n, m, i; queue<...
2020-04-27 21:05:37
189
原创 计蒜客-字符串弱等于
题目链接:字符串弱等于思路:自己敲的代码,一直超时,运行不出来,不知道是为什么,debug了一下,在调用函数的时候卡住了,才疏学浅没研究出到底错在哪,下帖代码希望大佬看到能指点一二,嘻嘻嘻~百度了一下,找到了一个大佬的博客,写的听简单的用到了C++的一个函数:string c = s.substr(a,b) ;意思是,字符串c等于s字符串中,从下标a开始截取b长度的字符串;一个函数...
2020-04-25 21:55:50
838
原创 计蒜客-最后一个单词
题目链接:最后一个单词思路:本来想着从前往后做,知道'\0'结束,也这么敲代码了,但是最后的空格没办法判断,所以此路不通;正解为:倒着处理,可以处理末尾空格问题(ORZ还是自己太cei啊)PS:上篇说道,要开始学c++,这次就用到了一点。getline,嘻嘻~#include<bits/stdc++.h>using namespace std;int main(...
2020-04-23 18:19:25
115
原创 计蒜客-机器人
题目链接:机器人题目思路:不想一个方向一个方向的判断,就去看了大佬的解析,有一个想法非常好。指路->大佬的思路大致就是:把他想象成【顺时针】向前向后转,向前为0(不用转),向右转为1(因为需要转一次),向后转为2(两个向右转相当于向后转),向左转为3(三个右转为左转)。#include <bits/stdc++.h>using namespace std;...
2020-04-22 21:37:46
260
原创 计蒜客-回文数
题目链接:回文数题目思路:莫得思路,简单的一批(不是!!!学到了求翻转整数的简单方法,即题中的rev函数!开始尝试用c++做题,vector之类的,更方便嘿嘿嘿~)#include <bits/stdc++.h>using namespace std;int rev(int n) //翻转函数{ int res = 0; while(n) {...
2020-04-21 21:44:47
225
原创 计蒜客-进制转换
题目链接:进制转换题目思路:就和数学题一样正常计算就行,找个数组存一下余数,倒着输出就行。注意:ABCDE要特判;要特判负数;要特判n=0;(一开始用的while循环就把n=0这种情况给漏掉了ORZ)#include <bits/stdc++.h>using namespace std;int main(){ int n, r; int a[102...
2020-04-21 21:06:15
250
原创 3403数据结构实验之排序六:希尔排序
Problem Description我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任务是对于给定的数据进行希尔排序,其中增量dk=n/(2^k)(k=1,2,3……)Input连续输入多组数据,...
2018-12-19 20:26:23
138
转载 数据结构实验之栈与队列七:出栈序列判定
大佬博客https://blog.csdn.net/sdut_jk17_zhangming/article/details/79114924
2018-10-12 21:23:00
268
原创 数据结构实验之栈与队列六:下一较大值(二)
题目:传送~Problem Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input 输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的...
2018-10-12 20:30:03
183
原创 A Simple Problem with Integers 、POJ - 3468 (线段树、区间合并)
题目:传送传送~答题操作如下:Q 操作:代表询问 a~b的区间和C操作:代表把a~b区间所有的数据都加c思路:用Add[ ]数组, 标记每次需要更新的值, 用到的时候往下更新,Add值为0;一定要充分理解Add数组啊,理解了这个,就很简单了!PS:AC代码中乘2除2写的比较乱,如果大家很难看懂的话,建议学一下二进制的乘2除2(<<1, >>1), 速度...
2018-09-13 19:18:40
124
转载 c++移位运算符
懒癌发作,跟着大佬们走,知识点不撒手,根据大佬们,总结出适合我自己理解的含义;附大佬们的博客,讲的真好嘤嘤嘤(本篇博客,内容基本属于大佬们) 顶礼膜拜大佬1、 >> 右移运算符 (相当于除以 2^n)语法格式:需要移位的数字>>移位的次数n运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),高位的空位补0,相当于除以2的n次方例如:4...
2018-09-11 10:57:18
318
原创 I Hate It HDU - 1754 (线段树,单点更新)
题目:在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。 学生ID编号分别从1编到N。 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。 接下来有M行。每一行有一个字符 C (只取'Q'或'U') ,和两个正整数A,B。 当C为'Q'的时候,表示这是...
2018-09-11 09:07:55
144
原创 敌兵布阵 HDU - 1166(线段树、区间和)
题目:传送共四种操作:(1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30); (3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j个营地的总人数; (4)End 表示结束,这条命令在每组数据最后出现; 暴力跑的话,肯定超时,到了不得不学线段树的...
2018-09-11 08:20:22
130
原创 Eyad and Math 、Gym - 101502H (比大小)
题目:https://cn.vjudge.net/contest/250938#problem/H思路:大意就是比较a^b与c^d的大小,数学问题,转换思想,a^b与c^d比大小,也就相当于log(a^b) 与 log(c^d) 比大小即b*log(a) 与 d*log(c)比大小因为log涉及double类型的问题,所以输入可以直接用double类型,附AC代码#include...
2018-09-05 17:04:59
207
原创 B - Linear Algebra Test 、Gym - 101502B
题目简介易懂,附题目链接:https://cn.vjudge.net/contest/250938#problem/B做题的时候,一直想用map来做,但是苦于只知其名不懂其意,所以最后就放弃了,挺可惜的,一定要把这个学会,太实用了!好懒,不愿意写了,直接附大佬链接吧,不过这个不是用map写的,是用二分查找优化,挺容易理解的,啊啊啊啊啊还是想用map嘤嘤嘤~ 通向大佬的神奇一击还有一种用...
2018-09-05 16:57:14
199
原创 二分查找
PS:主要是看二分查找,二分查找有个前提,数组必须是排好序的,要么从小到大排序,要么从大到小排序;二分查找有两种方法,一个是递归, 一个是while循环,其实本质上都一样。有一个需要注意的点,在第二段代码中有标注1、 二分查找递归版///search函数查找目标元素x;int search(int l, int r, int x)///l左端界限, r右端界限;{ if(l&...
2018-09-05 09:21:44
129
转载 Restructuring Company (并查集的区间合并)
题目链接https://cn.vjudge.net/problem/CodeForces-566D题目大意:一共有n个单点集,三种操作: type1 x y代表:合并x和y所在集合 type2 x y代表 :合并x,x+1,…,y-1,y(x到y的区间)所在集合 type3 x y代表 :查询x和y是否在同一集合 是 输出YES, 否 输出NO思路:暴力合并会超时,需要加...
2018-08-27 20:57:56
417
转载 岛屿的数量 (思维)
原题链接:51Nod - 1276有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没。原本的大岛屿则会分为多个小岛屿,如果海平面一直上升,则所有岛都会被淹没在水下。给出N个岛的高度。然后有Q个查询,每个查询给出一个海平面的高度H,问当海平面高度达到H时,海上共有多少个岛屿。例如:岛屿的高度为:{2, 1, 3, 2, 3}, 查询为:{0, 1, 3...
2018-08-25 08:36:14
408
原创 关于选择排序(懒虫小鑫)
1、先来一段正常的选择排序代码,用它来做拿到oj题(懒虫小鑫)结果是Time Limit Exceeded,(题目要求对运算时间比较严格,所以才没AC,这段代码是正确的),因为一次i循环就可能交换好几次数据,所以运算时间会长,结果就是超出时间限制。(注:t是与s相同的结构体类型)for(i = 0; i < n-1; i++) { f = 1;//标
2018-01-27 19:24:15
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人