- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 7-17 奥运排行榜 (25 分)
题目:思路:针对四种排序方法构建四个结构体,按四种排序排完之后,把结果汇总到代表国家的一个结构体中。然后就是查询就是了。排序规则可通过下面的例子了解一下:序列:g[0] = 1,g[1] = 2,g[2] = 2, g[3] = 3;排名:1 ,2 ,2 ,3(并不是1,2,3,4)代码: #include <b...
2018-09-30 20:19:03 2589
原创 LIS(两种方法求最长上升子序列)
首先得明白一个概念:子序列不一定是连续的,可以是断开的。有两种写法:一、动态规划写法复杂度:O(n^2)代码:#include <iostream>#include <queue>#include <cstdio>#include <algorithm>#include <cmath>#include &l...
2018-09-30 19:08:39 276
原创 dp求最长上升子序列的和--HDU1087:Super Jumping!Jumping!Jumping!
传送门:HDU_1087题意:现在要玩一个跳棋类游戏,有棋盘和棋子。从棋子st开始,跳到棋子en结束。跳动棋子的规则是下一个落脚的棋子的号码必须要大于当前棋子的号码。st的号是所有棋子中最小的,en的号是所有棋子中最大的。最终所得分数是所有经过的棋子的号码的和。思路:读完题之后知道这是一个最长上升子序列的题目。因为之前刚刚看过牛客网上一节讲解最长上升子序列的视屏,所以一上来就找准了方向,b...
2018-09-30 17:28:02 301
原创 DP--HDU1003:MAX SUM
题目:题意:让求给出的序列中连续的一个子序列的和的最大值,以及这个子序列的起点和终点。思路:dp求当前位置的最大值,dp[i] = max(dp[i-1], a[i]);最大值的位置就是终点,既然知道了和的大小,那么,只要找出那个区间的和是该值就可以了,这里可以用一个前缀和数组来求开始的位置。ps:dp还是得多思考、多练啊!!代码:#include <iostre...
2018-09-30 08:56:38 140
原创 二维dp之01背包问题--HDU2159:Fate
题目:思路:二维dp,完全背包,状态转移方程dp[i][z] = max(dp[i][z], dp[i-1][z-a[j]]+b[j]),dp[i][z]表示在杀i个怪,消耗z个容忍度的情况下获得的最大的经验值。刚看到这个题一直把思维限制在一维dp中,总是不能表达全部的条件,然后想到二维dp。因为目的是升级,所以dp表示的就要是最大的经验,下标自然就是剩下的条件忍耐度和杀怪的个数了...
2018-09-26 22:04:51 232
原创 01背包dp变形--Robberies
题意:一个强盗要抢劫银行又不想被抓到,所以要进行概率分析求他在不被抓的情况下能抢最多的钱。他给定T(样例个数),N(要抢的银行的个数),P(被抓的概率要小于P)Mj(强盗能抢第j个银行Mj元钱),Pj(强盗抢第j个银行被抓的概率为Pj)。思路:被抓的概率不好直接求出来,但可以直接求出不被抓的概率,则有状态转移方程dp[j] = max(dp[j], dp[j-b[i].money]*...
2018-09-26 09:03:34 197
原创 哈希算法--7-13 航空公司VIP客户查询 (25 分)
题意:思路:读完题目之后的第一思路就是用map将客户的id(string类型)与里程road(int类型)形成映射,然后直接用id查找添加里程或输出里程。但是400ms的限制妥妥的超时了。然后意识到要用哈希做,但是用哈希就有一点不好解决,每个客户的里程怎么保存,考虑了很长时间无果,搜了一下博客,发现可以用结构体来保存,平常用数组模拟链表的时候都是直接开的一维数组,所以当每个客户的信息...
2018-09-25 17:15:29 3236 1
原创 水图(牛客练习赛(DFS搜索))
题意:小w不会离散数学,所以她van的图论游戏是送分的小w有一张n个点n-1条边的无向联通图,每个点编号为1~n,每条边都有一个长度小w现在在点x上她想知道从点x出发经过每个点至少一次,最少需要走多少路思路:从当前位置开始dfs深搜,注意已经搜过的上一个点就不要搜了不然就成死循环了。确实是个水题,但因为图论搜索这方面练习的太少了,看到题却没有往搜索上考虑,太low了!!!代...
2018-09-25 09:26:42 486
原创 Dijkstra算法--7-11 社交网络图中结点的“重要性”计算 (30 分)
题意:思路:对每个输入的点跑一遍dijkstra算法,然后对这个点到所有点的距离求和按公式输出就可以了。(这次尝试了用数组模拟链表来做最短路问题,刷新了自己对最短路的理解)这里构造链表的过程我的理解一直有误差,第一行的式子中参与代码构建的是Next[cnt] = head[y];head[y] = cnt++;这两个语句。而前边的只是存了编号为cnt的边的另一个端点和这条边的...
2018-09-24 14:20:06 1919
原创 7-20 Windows消息队列 (25 分)(模拟水题)
题意: 思路: 用优先队列直接模拟就OK了,另外优先队列存pair的时候比较的是first的值,实测!!上代码:#include <iostream>#include <queue>#include <cstdio>#include <algorithm>#include <cmath>#include &...
2018-09-23 20:10:01 1037 1
原创 Dijkstra算法--7-9 旅游规划 (25 分)
题意:思路:单源最短路问题,Dijkstra算法搞定就可以了,因为要找出最便宜的最短路,所以需要在更新最短距离的时候加一个条件(即当最短距离相等的时候,如果该路径的花费更小,就更新最小花费)就可以了。之前自己学的最短路的水平也就仅限于模板题的水平,现在可以在条件上稍微加一些变化,做了数据结构的作业,顺便加深了自己对最短路(Dijkstra)算法的理解。题目所给样例的示意图(数据放在...
2018-09-23 19:51:12 1078
原创 哈希算法--7-14 字符串关键字的散列映射 (25 分)
除留余数法设计哈希表:由该式子得到value在哈希表中的存储位置:index = value % p;这里为了尽量的减少冲突,而且让value在哈希表中尽可能的均匀分布,p的选择就至关重要了。而合理选择p的经验是:若散列表表长为m,通常p为小于或等于表长(最好接近m)的最小质数或不包含小于20质因子的合数。平方探测法:冲突是不可避免的,本题中提到的解决冲突的平方探测法:...
2018-09-23 17:39:40 1676
原创 Decoding of Varints(阅读理解题 Gym_101611D)
Decoding of Varints题意&思路: 首先根据红色边框部分的公式算出x,再有绿色部分得知,如果x是偶数则直接除以2,x是奇数则(x+1)/-2。PS:这题有数据会爆掉unsigned long long,就是在最后奇数转换的时候。所以转换的时候可以变公式为-((x-1)/2+1)。代码:#include <iostream>#inclu...
2018-09-20 23:50:57 392
原创 暴力--Aizu1379:Parallel Lines
平行直线题意:给出一些点,这些点两两相连成一条直线,问最多能连成多少条直线。思路:暴力出奇迹!!记得当时比赛做这道题的时候一直依赖于板子,结果却限制了自己的思路,这得改。dfs直接暴力,但是需要将已经走过的点标记一下,用一个循环跳过已经标记的点减少dfs次数,不然得不出正确的结果,因为会出现如下的连线结果(左图),而正确的连线方式应该如右图。代码:#include <i...
2018-09-09 16:16:12 188
原创 DP--Aizu1378:Secret of Chocolate Poles
Select Of Chocolate Poles题意:有一个竖直放置的高度为l cm的盒子,现在有三种方块分别为1cm的白块,1cm的黑块,k cm的黑块,要求第一块放进去的必须是黑色的,盒子最上边的必须也是黑色的,盒子不必放满,问一共有多少种放法。思路:知道要用DP确实死活推不出状态转移公式来,这就很窒息了。到网上搜了一下题解,,,,,,还是自己太low了。二维DP,第一维表示盒...
2018-09-08 13:06:50 174
原创 前缀和--Be Efficient(Light Oj 1134)
题目传送门:Be Efficient题意:输入n和m,然后输入有n个元素的一个序列,问有多少个子序列元素的和能整除m。思路:求前缀和,利用一个前缀的一个定理求解。前缀和的一个定理是:每次求的前缀和对m取余,两个相等的结果之间的序列的和就是m的倍数。如上序号1、4的结果相同,则序号2、3、4的和是4的倍数,序号2、3的结果相同,则序号3是4的倍数。注意:将储存取余结果的数组...
2018-09-06 21:35:08 272
vgg16_weights_tf_dim_ordering_tf_kernels.h5
2020-11-15
getdata.py
2019-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人