算法入门题目
文章平均质量分 56
_奶酪
这个作者很懒,什么都没留下…
展开
-
【浙大第19届校赛:G】Postman(贪心)
题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4096题意多组输入。有n封信要送到指定地点,每次最多拿k封,重新拿信要回到位置0,求把所有信送完走的最小的距离解题思路贪心。分x<0和x>0两部分,计算只去不回的距离(来回的距离*2即可)。在坐标轴上从远往近(相对于位置...原创 2019-04-18 11:25:01 · 254 阅读 · 2 评论 -
【UVA11988】Broken Keyboard (模拟链表 or 双端队列+栈)
题目:https://vjudge.net/problem/UVA-11988题解:https://www.cnblogs.com/AlphaWA/p/9280974.html大佬已经写的很清楚了,我就不再赘述了。模拟链表需要自己参照样例手动模拟一下。...原创 2019-01-31 18:31:36 · 251 阅读 · 0 评论 -
【UVA1592】Database (字符串读入技巧和map的使用)
题目:https://vjudge.net/problem/UVA-1592思路:1.边输入边读,因为string类型数据的读入遇到空格就终止了,所以直接读入string,要一个字符一个字符得读,使用+将字符连接到字符串后,形成新的(可能含空格)的字符串,换行符有\n和\t2.将字符串映射为数字,因为map中在使用count查找时,比较字符串比较费时,很可能会超时,转化成数字比较就容易...原创 2019-01-27 00:29:27 · 285 阅读 · 0 评论 -
【UVA213】Message Decoding(读入技巧+二进制十进制转换)
题目:https://vjudge.net/problem/UVA-213思路:1.(len,value)二元组,len为二进制位数,value为第value+1个len位二进制,code[len][value]为其对应的字母len最大为7,value最大为1<<8-1如:对于TNM AEIOUcode[1][0]=T code[2][0]=N ...原创 2019-01-25 16:43:17 · 412 阅读 · 2 评论 -
【UVA133】The Dole Queue(环下标的求法)
题目:https://vjudge.net/problem/UVA-133思路:1.将a[i]置为0即表示该人离开2.环的下标的求法:p=(p+d+n-1)&n+1;d=1时p递增,d=-1时p递减 ac代码:注意代码中p1,p2的初值和调用的go函数的写法#include <iostream>#include <cmath>#in...原创 2019-01-23 20:56:52 · 175 阅读 · 0 评论 -
【PAT】A-1076:Forwards on Weibo(有向图的BFS遍历)
题目地址:https://pintia.cn/problem-sets/994805342720868352/problems/994805392092020736题目解释:在微博中,每个用户都可能被若干个其他用户关注。而当该用户发布一条消息时,他的关注者就可以看到这条消息并选择是否转发(forward)它,其转发的信息也可以被转发者的关注者再次转发,但同一用户最多只转发该消息一次(信息的...原创 2018-11-17 01:10:36 · 314 阅读 · 0 评论 -
【PAT】A-1034 :Head of a Gang(图的DFS遍历和map的巧妙使用---图的入门题目)
题目地址:https://pintia.cn/problem-sets/994805342720868352/problems/994805456881434624题目解释:给出若干人之间的通话长度(无向图),这些通话将他们分为若干组。每个组的总边权为该组内的所有的通话长度之和,而每个人的点权设为该人参与的通话长度之和。现在给定一个阈值K,且只要一个组的总边权超过K,并满足组内成员数超过2...原创 2018-11-16 20:34:38 · 217 阅读 · 0 评论 -
【数据结构实验题】0/1背包问题的递归求解(注意输出所选物品下标的方法)
#include <iostream>#include <cmath>#include <algorithm>#define maxn 55using namespace std;int w,n,maxvalue=0,maxweight=0;int value[maxn],weight[maxn],choice[maxn]={0},ans[max...原创 2018-10-28 23:40:07 · 974 阅读 · 0 评论 -
hdoj1160:FatMouse's Speed(dp+最长递减子序列思想+数组巧妙记录输出)
目录FatMouse's Speed解题思路:ac代码:FatMouse's SpeedTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 21117 Accepted Submission(s): 9367Spec...原创 2018-09-29 21:03:12 · 355 阅读 · 0 评论 -
codeup21280:LIS最长不下降子序列问题(可不连续-dp基础题)
题目地址:http://codeup.cn/problem.php?id=21280&csrf=BoAHUd12vsqOUBpidoqhiueWMmKAEEdM21280: 最长上升子序列题目描述一个数列ai如果满足条件a1<a2< ... <aN,那么它是一个有序的上升数列。我们取数列(a1,a2, ...,aN)的任一子序列(ai1,ai2,...原创 2018-09-29 19:07:50 · 502 阅读 · 0 评论 -
hdoj2084:数塔(dp基础题----递归写法/状态转移方程法)
目录数塔解题思路:ac代码:数塔Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 59296Accepted Submission(s): 34805Problem Description在讲述DP算法的时候...原创 2018-09-29 16:17:55 · 383 阅读 · 0 评论 -
hdoj1176:免费馅饼(dp基础题-数塔思想)
目录免费馅饼解题思路:ac代码:免费馅饼Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接...原创 2018-09-29 16:10:54 · 450 阅读 · 0 评论 -
hdoj4540:威威猫系列故事——打地鼠(dp基础题-数塔思想)
威威猫系列故事——打地鼠Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 4422 Accepted Submission(s): 2128Proble...原创 2018-09-29 15:53:11 · 547 阅读 · 0 评论 -
数据结构实验题:用栈求解n皇后问题
和用栈求解迷宫问题思路相似,特此记录下。代码:#include <iostream>#include <stdlib.h>#include <cmath>#include <algorithm>using namespace std;#define maxn 100int n,num=1;//num定义为全局变量typedef...原创 2018-10-13 22:20:59 · 5003 阅读 · 3 评论 -
hdoj1003+codeup2086:Max Sum最大连续子序列和(dp基础题+dp入门-----分治/遍历求和/dp)
目录hdoj 1003求解方法暴力求解O(n^3)/O(n^2)(不推荐,很可能会超时)分治法(比较复杂,掌握思想即可)遍历求和法O(n)dp动态规划(强推)codeup2086的求解方法dp求解hdoj 1003求解方法 暴力求解O(n^3)/O(n^2)(不推荐,很可能会超时) 思路 :两层for循环,第一层i,第二层j,想办法计算i~j之间的和,再判...原创 2018-09-28 11:23:37 · 554 阅读 · 0 评论 -
【UVA202】Repeating Decimals(模拟除法)
地址:https://vjudge.net/problem/UVA-202题意:循环小数的循环节和长度 思路:1.用sh[]数组记录商中的小数部分,用num[]记录在计算小数部分时变化的被除数2.当num数组中存在两个相同的元素时,则出现循环节,记录循环节的start和end值3.当num数组中出现0时则表示运算结束,循环节是0 ac代码:#include...原创 2019-01-22 18:39:24 · 244 阅读 · 4 评论 -
【UVA1339】古老的密码(巧妙思路+(q)sort降序排列的三种方法)
题目:https://vjudge.net/problem/UVA-1339题意:给出两个字符串,判断其中一个字符串重新排序后能否通过一定的字母映射得到新的字符串,并使新的字符串与另一个字符串相等 思路:cnt1[],cnt2[]分别记录两个字符串中每个字母出现的次数,并对这两个数组按照排序,若排序后的结果相同则输出YES,否则NOsort()默认按照升序排列,以下两种方法...原创 2019-01-22 20:57:44 · 427 阅读 · 1 评论 -
【CF Round #534 Div2】B:Game with string(水题,积累思路)
题目:https://codeforces.com/contest/1104/problem/B思路:法1:用string中的.erase()函数,删除连续相等的字母,同时变换下标i和判非空法2:一边输入一边删除,注意下标变换 ac代码:法1:#include <iostream>#include <cmath>#include <s...原创 2019-01-23 13:19:00 · 194 阅读 · 0 评论 -
【UKIEPC2017:D】Deranging Hat(求序列a到a‘交换过程的具体实现)
题目地址:https://codeforces.com/gym/101606这道题可以看成是CSL的魔法这道题的进阶题意给出初始序列。问如何将升序排列后初始序列又恢复到初始序列。输出每次交换的位置,(A,B)且满足s[A-1]≥s[B-1],即第A个和第B个交换解题思路先将这些字符离散化,s[i].id记录每个字母的输入顺序,将输入的字符串sort后升序排列依次遍...原创 2019-04-15 09:25:49 · 352 阅读 · 0 评论 -
【浙大第19届校赛:A】Thanks, TuSimple!(模拟+简单匹配)
题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5979题意前面都是废话,题目从图片下面的第一段话开始!n个男生,m个女生,给出男生的身高ai,女生的身高bi,任何两个人的身高都不相同。如果p=0表示ta想要和比ta身高矮的人配对,p=1表示ta想要和比ta身高高的人配对。求异性之间成功配对的对数。...原创 2019-04-16 21:41:45 · 478 阅读 · 2 评论 -
【“新智认知”杯&上海大学联赛】E-CSL的魔法(序列b到序列b‘需要的数据交换次数)
题目地址:https://ac.nowcoder.com/acm/contest/551/E题目描述有两个长度为 n 的序列,a0,a1,…,an−1a0,a1,…,an−1和b0,b1,…,bn−1b0,b1,…,bn−1。CSL 有一种魔法,每执行一次魔法,可以任意挑选一个序列并任意交换序列中两个元素的位置。CSL 使用若干次魔法,得到最终的序列 a 和 b,并且想要让a0b0+a...原创 2019-04-02 17:34:54 · 464 阅读 · 0 评论 -
【PATL1-46】整除光棍(模拟除法)---水题
题目地址:https://pintia.cn/problem-sets/994805046380707840/problems/994805084284633088题目:这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个...原创 2019-03-29 09:44:27 · 314 阅读 · 0 评论 -
【hdoj1021】类斐波那契数列的循环节(f[i]能否mod3?找规律)
题目地址:https://vjudge.net/problem/HDU-1021解题思路:循环节的长度为8,f[0]~f[7],f[8]~f[15]ac代码:#include <bits/stdc++.h>#define maxn 1005typedef long long ll;const ll inf=1e+18;using namespace std;...原创 2019-03-28 16:02:00 · 396 阅读 · 0 评论 -
【2019年天梯赛L2-029】特立独行的幸福(模拟)
题目地址:https://pintia.cn/problem-sets/994805046380707840/problems/1111914599412858886题目:解题思路:第一遍模拟确定哪些数是特立独行的数,如果是则re[]值置为0注意,对于x(A≤x≤B),在它的迭代过程中设置一个vis[]数组来判读出现死循环的情况,如果出现死循环则re[x]=1.且在迭代过程...原创 2019-03-31 10:23:24 · 3679 阅读 · 8 评论 -
【洛谷P5019+P1969+P3078】道路铺设(暴力模拟/差分)
题目地址:https://www.luogu.org/problemnew/show/P5019题目描述春春是一名道路工程师,负责铺设一条长度为nn的道路。铺设道路的主要工作是填平下陷的地表。整段道路可以看作是nn块首尾相连的区域,一开始,第ii块区域下陷的深度为didi。春春每天可以选择一段连续区间[L,R][L,R],填充这段区间中的每块区域,让其...原创 2019-03-17 10:27:18 · 401 阅读 · 0 评论 -
【天梯选拔&月赛】二叉树上我和你(中序+先序建树+bfs(队列)----水题)
题目:给出一个n个结点的二叉树的前序和中序遍历,初始权值为0,有如下3个操作分别1xval2xval3x分别代表 x的子树的权值都加val包括x。根到x上的结点都减val包括x。输出层次x的结点权值总和。不存在该层的话输出-1输入格式:第一行一个n,第二行和第三行分别是前序和中序遍历,接下来为m个操作。1≤n≤30,−100≤val≤100输出格式:对于...原创 2019-03-08 11:04:07 · 185 阅读 · 0 评论 -
【数位dp】HDU3555:Bomb(入门题目)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3555题目:输入t个数,如x,统计1~x含49的数字个数,注意x会很大,普通的暴力绝对超时!解题思路:数位dp模版题,记录每一位数的数组a[]从下标1开始存数,limit表示第pos位前所有位上的数是不是都达到了上限两种方法:1.求0~x之间不含49的数字个数,x+1-solv...原创 2019-03-15 17:30:01 · 238 阅读 · 0 评论 -
【数位dp】HDOJ2089:不要62( 真· 数位dp入门题目)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2089题目:输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。输出n~m中不包含不吉利数字4和62的数字个数解题思路:数位dp模版题,考虑前缀和[n,m]=[m,0]-[n-1,0]即solve(m)-solve(n-1)。...原创 2019-03-15 16:56:54 · 622 阅读 · 0 评论 -
【UVA140】Bandwidth(最优性剪枝+全排列+思路)
题目:https://vjudge.net/problem/UVA-140解题思路:1.全排列:使用库函数next_permutation(a,a+n)2.最优性剪枝:如果目前已经找到的最小带宽是k,若在新的一组排列中,发现已经有两个结点的距离大于或等于k,应强制把它“剪”掉,即剪枝。3.全排列时肯定要对输入中出现的字母所对应的int数组做全排列,所以要对出现的字母做标记!(1...原创 2019-03-02 19:37:21 · 622 阅读 · 0 评论 -
【UVA129】Krypton Factor(回溯+在回溯法的基础上判断一个字符串是否有相邻的重复子串(后缀))
题目:https://vjudge.net/problem/UVA-129解题思路:回溯法(for循环实现)参考n皇后问题的解题思路:如欲把皇后放在(cur,i)单元格,则要判断当前(cur,i)位置的皇后是否和之前已经放置好的皇后产生冲突,而不是判断以前的皇后之间是否产生冲突。因为这种方法保证了之前放置的皇后之间一定不存在冲突。同样的道理:对于题目中output给出的字符串们:...原创 2019-03-01 20:28:17 · 379 阅读 · 0 评论 -
【UVA524】Prime Ring Problem(素数环--递归回溯+全局变量的一个小坑点---水题)
题目:https://vjudge.net/problem/UVA-524这道题我十个月之前做过,但是当时的代码并不是自己打出来了,对回溯递归之类的也不是很懂。现在我重新自己手打这道题,却发现了一个小坑点,找了好久才找到。。ac代码:注意看第46行的int i=2,一定要加int!!因为之前int定义的是全局变量,所有后续的一些操作会改变i的值,回溯时的vis[i]就不再是对应的进...原创 2019-03-01 15:59:05 · 393 阅读 · 0 评论 -
【UVA514】+【HDOJ1022]:出栈序列的可能性问题
UVA514:https://vjudge.net/problem/UVA-514HDOJ1022:http://acm.hdu.edu.cn/showproblem.php?pid=1022思路:两个题目都是一个思路,给出待进栈的序列和出栈序列,判断出栈序列是否有可能存在UVA514是《算法竞赛入门经典》P140的例题,HDOJ1022和它是同样的思路具体请参见代码,举个栗子...原创 2019-01-30 22:10:31 · 244 阅读 · 0 评论 -
【学习笔记】平衡二叉树(AVL树)简介及其查找、插入、建立操作的实现
目录平衡二叉树简介:各种操作实现代码: 详细内容请参见《算法笔记》P319初始AVL树,一知半解,目前不是很懂要如何应用,特记录下重要内容,以供今后review。 平衡二叉树简介:平衡二叉树由两位前苏联科学家提出,并以两者的名字命名,故称AVL树。AVL树是一棵二叉搜索树(BST),平衡指的是对AVL树的任意结点,其左子树和右子树高度之差的绝对值不超过1。...原创 2018-10-13 00:25:04 · 1319 阅读 · 0 评论 -
01背包问题+例题
目录QUESTION:解法:二维数组:时间复杂度和空间复杂度都是O(n*V)一维数组:时间复杂度O(n*V),空间复杂度O(V)例题:ac代码:QUESTION:有n件物品(每种物品都只有一件),w[i]表示物品的重量,v[i]表示物品的价值,现有一个容量为V的背包,应该如何选物品使得书包内装的物品的value之和最大呢? 解法:二维数组:时间复杂度和空...原创 2018-10-05 16:28:09 · 6556 阅读 · 0 评论 -
hdoj2050折线分割平面(递推,找规律)
折线分割平面Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38313 Accepted Submission(s): 25607Problem Description我们看到过很多直线分割平面的题目,今天的这个题目稍微...原创 2018-09-06 15:43:41 · 418 阅读 · 0 评论 -
牛客网OI题:序列划分
链接:https://www.nowcoder.com/acm/contest/181/C来源:牛客网题目描述小a有n个数,他想把他们划分为连续的权值相等的k段,但他不知道这是否可行。 每个数都必须被划分 这个问题对他来说太难了,于是他把这个问题丢给了你。输入描述:第一行为两个整数n,q,分别表示序列长度和询问个数。第二行有n个数,表示序列中的每个数。接下来的q行,...原创 2018-09-02 15:58:56 · 492 阅读 · 0 评论 -
2018.8.29牛客OI测试赛A-斐波那契题解(找规律)
链接:https://www.nowcoder.com/acm/contest/181/A来源:牛客网题目描述设f[i]表示斐波那契数论的第i项f[1]=1,f[2] =1,f[i] = f[i - 1] + f[i - 2]给定一个n求 输入描述:一个整数n输出描述:一个整数,表示答案示例1输入复制4输出复制1备注:...原创 2018-08-29 23:05:00 · 972 阅读 · 0 评论 -
2018.8.25CCPC网络赛Find Integer题解(费马大定理+勾股数的求解)
题目传送门Find IntegerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 6597 Accepted Submission(s): 1999Special JudgeProblem Descriptionpeop...原创 2018-08-27 20:49:27 · 669 阅读 · 0 评论 -
pat A1032:sharing 题解(简单静态链表)
题目地址:https://pintia.cn/problem-sets/994805342720868352/problems/994805460652113920题目解释:给出两条链表的首地址及若干结点的地址、数据、下一个结点的地址,求两条链表的首个共用结点的地址,如果两条链表没有共用结点,则输出-1。解题思路:遍历第一条链表,对结点都做个标记,再遍历第二条链表,如果遇到的结点已...原创 2018-08-30 16:36:30 · 429 阅读 · 0 评论 -
hdu2553N皇后问题(打表)
这道题是最基础的N皇后问题,传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2553但是注意要提前打表,不然就会超时ac代码:#include <iostream>#include <cstring>#include <cmath>#include <algorithm>using n...原创 2018-08-16 22:12:18 · 463 阅读 · 0 评论