- 博客(26)
- 收藏
- 关注
原创 比较两个CSV文件
两个文件分别为username1.csv和username2.csvimport csvbias = 10e-4def compare_float(num1, num2): if abs(num1 - num2) < bias: return True else: return Falsedef compare_file(filePath1, filePath2): with open(filePath1, encoding='u
2021-11-07 10:04:44
1700
原创 Git简单使用小结
克隆克隆目前没有什么好说的,就是clone命令:git clone &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;repository地址&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;从远程取回更新为了安全起见,最好将远程仓库的更新取回到某个特定的临时分支中git fetch origin master:temp然后比较当前分支和temp分支的不同git d
2018-09-30 21:39:53
372
原创 LeetCode 198. House Robber
题目大意:去抢一列房子,但是不能抢相邻地房子,现在希望抢的价值最多。也就是说在一串数组中找到一个子串,和最大,但是不能不能取两个连续的数字。思路:维护一个数组dpdpdp,记录每个位置上及以前的最大值,即dp[i]dp[i]dp[i]记录第iii个位置及以前地数字地最大和。由于不能取连续的两个数字,因此如果要取第iii个位置地数字,则第i−1i - 1i−1个位置是不能取的;也可以不取第ii...
2018-09-28 22:42:49
221
原创 LeetCode 53. Maximum Subarray
题目大意:有一数组,找到其中连续的子串,使其的和最大,其中子串至少有一个数字。也就是最大子串和。解决思路:维护一个最大值maxnmaxnmaxn和一个和值sumsumsum。sumsumsum计算前几个数字的和。因为这些数字有正数与负数,因此sumsumsum就有可能是正数,0和负数。如果已经是负数了,就没有必要再加了,即使后面的是正数。因为抛弃掉前面的负数,重新开始加上后面的正数,su...
2018-09-27 14:09:08
330
1
原创 LeetCode 70. Climbing Stairs
题目大意:有一个楼梯,一次可以走一步也可以走两步。问从底部走到顶部有多少种不同的走法。状态是每个台阶的走法,用一个数组stepsstepssteps维护,最后顶部台阶的走法就是答案。那么状态转移的方式是:某个台阶iii可以从前面一个台阶i−1i - 1i−1一步上来,也可以从前两个台阶i−2i - 2i−2走两步上来。那么走到台阶iii的走法数量就是前面一个台阶i−1i - 1i−1的数量加上...
2018-09-21 22:07:26
212
原创 LeetCode 746. Min Cost Climbing Stairs
题目大意:有一段数组,长度为nnn,可以从第一步出发,也可以从第二部出发。可以一步一步走,也可以两步两步走。每次从一个地方离开时需要交钱。问需要的最小花费是多少。思路其实很简单,维护每一步的最小花费。走到iii步时,可以从i−1i - 1i−1步来的,也可以是i−2i -2i−2步来的。从i−1i - 1i−1步来的,要交i−1i - 1i−1步的钱,就需要在i−1i - 1i−1步来的...
2018-09-18 17:23:36
153
原创 LeetCode 121. Best Time to Buy and Sell Stock
题目大意: 第iii天的股票价格是prices[i]prices[i]prices[i],现在最多做一次交易(买进和售出),问能最多赚多少钱(也可以不交易)。 最先想到的是两层循环,在某天买进,再在某天售出。然后找到所有组合中赚钱最多的。复杂度O(N2)O(N2)O(N^2)。代码如下:int maxProfit = 0;int minPrice = INT_MAX;int lengt...
2018-09-17 15:21:47
115
原创 Stacking Plates UVA - 1289
题目可使用动态规划来求解。 分裂次数+合并次数-堆数-1 = 分裂次数*2-堆数-1 输入完成后,首先导出盘子的所有直径diasdiasdias(忽略重复的)和每个直径的盘子所在的堆数dia_numdia_numdia\_num,然后确定某个堆是否有某个直径的盘子stack_has_diastack_has_diastack\_has\_dia。 dp[i][j]dp[i][j]dp[i][...
2018-09-12 20:42:40
721
1
原创 Ubuntu 16.04 无线网络 设备未就绪(device not ready)
问题描述如题,莫名出现的问题,没有可用WiFi的列表,而且显示device not ready。这里记录一下我的解决方式,不一定保证对所有情况有用。 在终端中执行:sudo service network-manager restart然后就正常显示可用WiFi的列表了。...
2018-08-09 17:49:24
6269
1
原创 U-net及其TensorFlow的实现
本文将介绍U-net模型,以及其tensorflow的实现,保存在Github上U-net 结构 U-net顾名思义,其结构是一个U型的网络 左侧为一个下采样过程,分4组卷积操作(蓝色箭头)进行。每组卷积操作后进行一次maxpool操作(红色箭头),将图片进一步缩小为原来的1/21/21 / 2。通过4组操作将572×572×1572×572×1572 \times 572 \ti...
2018-03-06 18:50:50
39226
50
原创 Tensorflow的一些基本输入输出
关于tfrecord的文章太多了,这里主要介绍一下Tensorflow的基本输入输出。由于本人目前在使用美团云的深度学习平台(顺便说一句,现在是免费的哦),需要用奇怪的方法来读写数据,因此我尝试探索了一下一些基本的输入输出方法,然后在这里记录下里。读取读取主要有两种方法,tf.gfile.FastGFile().read()和tf.read_file: tf.gfile.FastGFile().r
2017-12-30 17:01:00
2640
原创 我的并行计算之路(五)Pthreads共享内存编程
共享内存,可以理解为多个CPU连接在一个内存上,内存上的数据供所有CPU访问和修改。与之对应的概念是分布式内存编程,详见我之前的博客《我的并行计算之路(一)Ubuntu 16.04下的MPI安装》。共享内存相对于分布式内存编程哟个很大的好处是数据是共享的,即所有的CPU都可以访问的到。而不是像分布式内存编程那样,当需要数据交互时,得通过进程通信来完成《我的并行计算之路(二)MPI点对点通信》、《...
2017-10-29 18:29:18
1665
原创 我的并行计算之路(四)MPI集合通信之Reduce和Allreduce
今天学习了MPI的全局函数,顾名思义,其涉及到了一个通信子中的所有进程,属于集合通信的一种。虽说我们有点对点通信来实现求和、求积等功能,但是对于找到所有进程中的最大值、最小值的功能来说,可能就比较繁琐了。而且,点对点通信最后一般都由一个进程(通常是0号进程)来做总结的工作,例如各个进程的部分和传给0号进程,然后0号进程求总和。这样所有分支汇集在一起的做法会导致各个进程的工作量分配不均,某些进程比较闲
2017-09-04 17:03:22
10157
原创 我的并行计算之路(三)MPI集合通信之Scatter和Gather
集合通信对比点对点通信来说,确实要方便许多,基本上不需要考虑各个进程该怎么发送,该怎么接收的问题,只要是使用一个通信子,函数接口自己就完成了。从进程的角度考虑,集合通信在分配任务量的时候更加平均,使各个进程的工作量更加相同,减少让一个进程死干活,其他进程在旁边看的情况。下面还是先上完整代码: #include<bits/stdc++.h>#include<mpi.h>using names
2017-09-01 11:20:43
7479
原创 我的并行计算之路(二)MPI点对点通信MPI_Send和MPI_Recv
学习了MPI的点对点技术后,来博客记录一下。先上完整地代码: #include<bits/stdc++.h>#include<mpi.h>using namespace std;int comm_sz=0;int my_rank=0;int arra[]={1,2,3,4,5},arrb[]={10,9,8,7,6},arrc[]={0,0,0,0,0};bool get_input(
2017-08-31 16:42:03
17923
3
原创 我的并行计算之路(一)Ubuntu 16.04下的MPI安装
现在大四,准备保研了。目前联系好了一个做并行计算的老师,可能以后就走这条路了。人工智能的三大基石之一就是计算大量数据的能力,目前这个技术就是并行计算,无论是用GPU还是大型的集群。然后我现在算是开始学习并行计算,并且准备将学习的经历记录下来。一是供我以后复习用,做个备份,再是想给学习并行计算的朋友一个参考(如果觉得有参考价值的话,摊手)。 下面我就从MPI的安装开始谈起。MPI(Messag
2017-08-30 10:11:46
27020
10
原创 UVA 1610 Party Games
题目的大意是,给出一组名字,然后找到一个字符串S(可以是新的也可以是在这一组名字中的),这个S将这组名字分为两个部分,前一部分的名字小于等于字符串S,后一部分大于字符串S。 解题的思路是,将输入的一组名字names排序,找到中间的(names.size() / 2 - 1和names.size() / 2)两个名字smin和smax。然后初始化要求的字符串S,使其等于smin。 然后从S
2017-05-31 20:59:53
270
原创 hihocoder #1519 逃离迷宫II
时间限制:10000ms 单点时限:1000ms 内存限制:256MB描述小Hi被坏女巫抓进里一间有N x M个格子组成的矩阵迷宫。有些格子是小Hi可以经过的,我们用’.’表示;有些格子上有障碍物小Hi不能经过,我们用’#’表示。小Hi的起始位置用’S’表示,他需要到达用’T’表示的格子才能逃离迷宫。麻烦的是小Hi被坏女巫施了魔法,他只能选择上下左右某一个方向,沿着这个方向一直走,直到遇到障碍物
2017-05-08 11:39:11
748
原创 hihocoder #1153 : Numeric Keypad
描述The numberic keypad on your mobile phone looks like below:1 2 3 4 5 6 7 8 9 0Suppose you are holding your mobile phone with single hand. Your thumb points at digit 1. Each time you can 1) press
2017-04-11 09:18:22
435
原创 hihocoder #1138 : Islands Trave
这道题一开始想的是用Dijkstra或者是SPFA算法来写,写好了以后提交,结果TLE了。当时写的时候就感觉这个复杂度至少是O(n2)O(n^2) 级别的,再考虑到数据量有N<=100000,0<=Xi,Yi<=1000000000N<=100000,0<=X_i,Y_i<=1000000000 就感觉会超时,不过当时也不知道该怎么降维。,只能硬着头皮上了。后来看了hihocoder上面的题解后,知
2017-04-08 17:41:51
414
原创 Ubuntu 16.04 安装 NVIDIA 驱动 桌面不黑屏,不重复登录
都是泪啊,装这个驱动装了快一个星期,查阅了各路大神的博客,都不好使。最后,通过这篇博客 http://www.linuxdiyf.com/linux/26370.html才找到出路。(第一次转载别人的文章,不知道该怎么弄,侵删) 期初按照其他大神的博客,安装完了后就会出现,从登陆界面进入后,就会一片黑。不得以,按住Ctrl+Alt+F1进入命令行界面,输入apt-get pur
2017-04-07 21:22:04
4261
原创 hihocoder #1152 : Lucky Substrings
描述A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a string consisting of only lower case letters, output all its lucky non-empty substrings in le
2017-04-05 21:55:36
431
原创 CCF 炉石传说
这是我在CCF认证上面做的一个练习题,也是16年9月份的考题。 问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作。 本题所使用的炉石传说游戏的简化规则如下: * 玩家会控制一些角色,每个角色有
2017-03-20 19:45:25
519
原创 hihocoder #1186 : Coordinates
微软预科生计划-探星夏令营在线测试 时间限制:10000ms 单点时限:1000ms 内存限制:256MB描述Give you two integers P and Q. Let all divisors of P be X-coordinates. Let all divisors of Q be Y-coordinates.For example, when P=6 and Q=2, we
2017-03-15 20:20:43
312
原创 hihoCoder #1478 : 水陆距离
hihocoder比赛的时候临时有事,没有答题。后来看到了这一题,第一反应就是广度优先搜索。 当时的想法是,从每个水域0开始进行广度优先搜索。到达某个点A后,查找上下左右未被访问过的的最小值,然后将这个值+1就是这个点A位置的最小值。若周围都是未访问过的点,就将A重新塞回队列。写好后,结果居然TLE了。仔细想了想,发现其实在某个点A去访问周围点的时候,周围点的距离=A点距离+1,而不需要跑到周围点上
2017-03-14 14:35:49
539
原创 纪念第一次写博客
这是我本人第一次在CSDN上写博客,谨以此来纪念一下这一伟大的时刻 我希望我能坚持将博客写下去,记录下自己的学习成长的过程。看看自己做到了什么,给自己一个激励,然后继续向着自己的理想前进。 马上就要保研了(也有可能出国),希望能进入自己的想去的学校,学自己感兴趣的东西,将来能有一番作为。这个作为,我的想法是至少以后不靠父母,能养活自己还有家人吧!先实现这个小目标,再考虑报效祖国,回馈
2017-03-14 13:21:40
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人