自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 从全局内存异步拷贝数据到共享内存

在阅读这一小节的时候,比较让我感兴趣的主要是这么两个点:我们可以通过cuda11中提供的异步拷贝的相关API改变数据流的穿透方式,一般来说,当我们从global memory中读数据并写入shared memory中的时候,数据流是从global memory->register->shared memory,当我们使用异步拷贝API的时候,在A100上,数据流可以从global memory直接写入shared memory而不必经过寄存器,这种方式在A卡上其实可以显式的通...

2021-12-08 23:54:25 1067

原创 leetcode Q68

class Solution{public: vector<string> fullJustify(vector<string>& words, int maxWidth) { vector<string> ret; while (!words.empty()) { vector<string> str_vec; int len = wo.

2020-10-14 15:09:57 184

原创 leetcode Q51

class Solution {public: bool checkRow(vector<vector<string>> &res,vector<string> &map,int n,int row) { if(row==n) { res.push_back(map); return true; } for(int i =0;.

2020-10-10 10:46:04 175

原创 leetcode Q45

// the point of solving this kind of problem is that we should realize that their DP array(store minimum steps) must be like [0,1*,2*,3*,''',N*] (here * means one or more)class Solution {public: int jump(vector<int>& nums) { u.

2020-10-05 20:33:58 136

原创 leetcode Q44

```class Solution {public: bool isMatch(string s, string p) { vector<vector<int>> dp(p.size()+1,vector<int>(s.size()+1,0)); //to ensure the border value //attention please that a substring may be matched with a em.

2020-10-05 16:13:48 130

原创 CLion 远程连接linux服务器写cuda程序遇到的一些问题

首先说一下我的基本目的,之前服务器中毒了,所以重新配环境,然后用Clion本地写服务器上的代码。这里有很多坑,我一一说,首先是这个cuda的安装问题,cuda和gcc之间是有一个版本对应的问题的,因此配环境的时候最好是二者适配的,这里官方文档可查其对应关系,也有很多博客有,我就不赘述了,如果都是适配的,后面就不用踩坑了,但是,如果你的cuda版本是10,而g++和gcc的版本是9(因为我这里直接都是apt install nvidia-cuda-toolkit,gdb也类似)因此这里还需要调整gcc和g

2020-09-28 16:22:12 1016 1

原创 leetcode Q10

做字符串匹配问题时候,常用的二维DP的思路class Solution {public: bool isMatch(string s, string p) { int ls = s.length()+1; int lp = p.length()+1; s.insert(0,"#"); p.insert(0,"#"); vector<vector<int>> dp(lp,vecto

2020-09-24 14:32:22 125

原创 win10上使用Clion编写Cuda代码遇到的问题

首先最基本的安装Cuda、cndnn和Clion这一套操作是前提,如果只完成这一套操作的话,CLion会报错 nvcc fatal,找不到cl.exe,这里cl.exe你得装visual studio才能有,或者实在不想装Visual studio的话,可以考虑装一下windows sdk文件,里面貌似也是有这个的,不过建议装一下,可以用来配置Clion的编译环境,免得你还要单独下载其他的C++编译器。在上述操作完成后,Clion还可能会报以下的错误,第一个是无法使用 versat64.bat为Visu

2020-07-22 10:13:57 1942

原创 UOJ 买卖最大化利润

Problem description:Solution:def maxProfit(self, prices: List[int]) -> int: #return sum(y-x for y,x in zip(prices[1:],prices[:-1]) if y-x>0) if len(prices)<1: ...

2019-11-23 19:50:25 180

原创 UOJ 猴子吃香蕉问题

Problem description:Solution def maxBananas(self,arr:List[str],K): monkeys = [] bananas = [] res = 0 for i in range(len(arr)): if monkeys: ...

2019-11-23 19:45:54 548

原创 贪婪算法(合理分配,最大积)

Assignment 3Q1:代码:把猴子和香蕉按照从左到右的顺序编号,当每个猴子拿到对应顺序的香蕉的时候所有猴子拿完香蕉花费的时间最少。比如说左起第一个猴子应该拿左起的第一根香蕉,以此类推。def assignBananasToMonkeys(bananas,monkeys): bananas.sort() monkeys.sort() res = ...

2019-11-23 16:35:13 1459

原创 如何得到最优解(灯泡问题例)

class Solution: def bulbSwitch(self, n: int) -> int: return int(n**(0.5))首先贴上代码,给上对应leetcode链接:https://leetcode.com/problems/bulb-switcher/第一眼看到这个问题的时候,我们最先想到的办法,是遍历每一个灯泡,然后计算其swit...

2019-11-19 13:35:36 344

原创 一些摩尔投票法的思考和理解

leetcode169 和229可以参考一下贴一下自己的leetcode229的代码class Solution: def majorityElement(self, nums: List[int]) -> List[int]: dic = {} for num in nums: if num in dic: ...

2019-11-08 11:45:13 667 1

原创 寻找最长子序列 DP和稀疏DP

leetcode Q1143基本DP的算法思路如下,其复杂度为O(mn)import collectionsclass Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: # 基本DP解法:AC m,n = len(text1),len(t...

2019-11-03 23:52:37 231

原创 leetcode Q123 Best Time to Buy and Sell Stock

首先贴一个discuss区写的不错的解释(引用一下)https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/discuss/111150/How-to-achieve-best-solution-with-O(n)-O(1)-step-by-step这是是其中O(n^2)的解法:public int maxP...

2019-11-02 18:00:35 151

原创 双向BFS中复杂度的理解

刚见到双向BFS的时候一直关于复杂度有一些点不是很理解,比如说一个三叉树,假设之间的路径为4,那么如果单项BFS的话,算法的复杂度应该是(1+3+3^2+3^3+3^4) = (3^5-1)/2 数量级就是O(n^(m+1)),n指的就是单个节点可以走的方向的个数,m指的就是路径的长度,假如是迷宫问题,n=4如果是双向的话,假设两边都遍历了两层,此时复杂度是(1+3+3^2)*2,我们这里定...

2019-10-20 12:12:08 1189 1

原创 CLion和C++类内静态成员定义问题

有一段时间没有用C++了,今天写了一个简单的单例模式,然后CLion一直报错,链接错误,用VS跑结果一样,也不行VS错误信息:CLion:问题在于Singleton.hclass Singleton{private: Singleton(); static Singleton *p;public: static Singleton* ge...

2018-11-09 21:51:34 812

原创 JIT

JIT——just-in-time,即时编译器,JIT把程序全部或者部分翻译成本地机器码,这本是Java虚拟机的工作。当我们为某个类创建第一个对象时,需要将该类的.class文件装入内存,此时JIT并不直接编译所有代码,而是采用 lazy-evaluation的方式,只是在必要的时候来编译代码,对于从不执行的代码压根不会编译,通过这种方式提高程序运行速度。...

2018-09-19 21:54:36 796

原创 垃圾回收思路-阅读java编程思想

引用计数:引用计数是一种简单但是相对而言速度不高的垃圾回收的思路,简单来说就是垃圾回收器会在对象的引用计数变为0的时候进行回收,但是这种回收机制可能导致存在“应该回收的对象得不到回收”——也就是当对象之间存在循环引用的时候,可能会出现“对象应该被回收,但是其引用计数不为0”的情况,这种时候,垃圾回收器定位这种交叉自引用的对象组所需要的工作量很大 这引入了一个交叉自引用对象的问题,这种情况下,通过...

2018-09-19 21:39:45 167

原创 学习main函数的时候遇到的一些问题

最近用ubuntu的时候研究了一下main函数如果不做为入口函数会遇到什么情况,代码大概是像这样int func1(void) {    printf("Foo for the win!\n");    return 1;int main(){       printf("Main");}倘若楼主编译这个源代码文件的话

2017-05-10 21:37:37 280

空空如也

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

TA关注的人

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