- 博客(204)
- 收藏
- 关注
原创 CUDA减少JIT开销的两种方式
之前测试的时候发现有时从Jenkins上拉下来的的megawise二进制包解压启动之后,执行第一条sql非常慢,需要1.5~3.5分钟不等。后来docker化之后发现,docker中稳定必现第一条sql长时间卡住的问题。当时查看日志发现总会卡在zdb_storage的一个MetaAgg的函数中,后来将这个函数注释掉,发现这个问题还是没有解决,会在engine中卡住。百思不得其解之际,叶...
2019-11-07 11:56:15 2478
原创 重回CSDN的一点小想法
最近发现年纪大了,很多新学的东西学起来快忘起来也挺快的,所以决定重拾博客,这不,想起了老朋友——CSDN。年纪大了真是什么都敢忘,这不,连老朋友的联系方式也忘了,绑定手机重置密码之后终于回来了!大概瞄了瞄以前写的东西,真的是感慨万千,以前写的博文,贴的代码,真的是年轻。年轻真好。可以很快吸收新的、杂的、难的知识,可以犯错,可以狂傲。感慨之间,恍如隔世。于是乎突发奇想将年轻人...
2019-11-06 20:57:35 247
原创 python模拟网站登陆
1.获取网站登陆需要的数据:1.1 打开登陆页面,chrome下F12可以看到,什么都没有1.2 登陆页面输入用户名和密码,点击登陆1.3在F12打开的框里找登陆页面信息1.4眼睛继续往下瞄,找到Form DataForm Data里的数据就是登陆网站需要post的数据了2.python怎么写2.1 import requests
2017-07-12 14:19:19 588
原创 leetcode 179 Largest Number (sort自定义比较函数用法)
题目戳这里、题目意思是给一个非负整形数组,给这些数字重新安排顺序,得到一个最大的十进制数。题目本身不难,主要思路是从整数最高位开始排序,因为最后拼接成的数位数是不变的,要是这个数最大,只要保证从高位尽可能大就好了。按每个数的高位降序排序,如果高位相同,则比较下一位。如果2个数有公共前缀,则需要用较长数字的非公共前缀部分的每一位和较短数字的每一位依次比较,直到比出结果。比较依据依然是大的
2017-03-03 11:27:13 1004
原创 git笔记1
今天根据廖雪峰老师的git简单教程学习上传代码的时候遇到了一点小问题,记录一下。根据教程中的指令,先在命令行执行:git remote add origin git@github.com:username/learngit.git然后执行:git push -u origin master按下回车,过了一会后返回错误:ssh: connect to host github.
2016-09-05 15:46:22 457
原创 uva10003Cutting Sticks(DP)
题目请戳这里题目大意:给一根木棍的长度l,再给n个数c1~cn,表示要在距木棍一端长ci处切一刀,切一刀的代价是当前所切木棍长度。求最小的总代价。题目分析:仔细一看这其实就是一个石子合并问题,只不过换了一个姿势,一个是合并,一个是切,本质还是一样的。我将这题转化成石子合并问题dp。木棍切n刀会产生n+1段,他的逆过程便是将n+1堆石子合并成一堆。dp[i][j]表示从第i段
2014-01-20 23:08:07 1197
原创 uva10635 Prince and Princess(dp)
题目请戳这里题目大意:给2个序列,求最长公共子序列。题目分析:传统做法O(p*q),但此题p和q会很大,所以不能那样做。这题需要稍微转化一下,比较2个序列,将一个序列中的元素在另一个序列中出现的位置依次记录下来。对这个序列求一次LIS就可以了。hdu1025跟这个题其实是一个题。详情请见代码:#include #include#includeusing namespace
2014-01-19 20:34:16 1307
原创 hdu1081To The Max(dp)
题目请戳这里题目大意:给一个n*n的矩阵,矩阵每个元素为一个整数,求权值和最大的子矩阵。题目分析:这是求最大连续子序列和的二维版本。所以我们可以先看看一维情况:求一个序列的最大连续子序列和。很显然可以朴素O(n^2)解决这个问题,但是如果我们利用前缀和的话,可以做到O(n)。dp[i]表示前i个数最大连续子序列。那么有方程:dp[i] = max(dp[i - 1] + a[i],a[
2014-01-19 17:25:33 1203
原创 zoj3284Matrix Processing(二维树状数组)
题目请戳这里题目大意:给一个矩阵,然后q个操作。有3种操作类型:op = 0:按行优先原则从(x1,y1)到(x2,y2)所有元素都加一个k。op = 1:按列优先原则从(x1,y1)到(x2,y2)所有元素都加上k。op = 2:查询(x,y)处元素值。题目分析:矩阵不大,但是查询很多。暴力会超时。于是高兴的写了一个二维线段树,结果华丽丽的TLE了。然后又不断调整姿势,还是T
2014-01-12 16:44:33 1480
原创 zoj2617Edison(splay模拟)
题目请戳这里题目大意:模拟一个简单的洗牌过程。C张牌,编号0~c-1,一次洗牌就是将从第p张牌开始的连续l张整体移到最前面。现在给s个操作,每个操作有r次重复洗牌动作,求洗完牌后的c张牌序列中,奇数位置的牌点数之和。题目分析:由于只有一个操作,所以直接模拟一下就可以了。洗牌过程看起来很复杂,看穿了也就没什么了。一次操作相当于将前p张牌循环右移l的位置,重复r次,其实就是将前p张牌循环右移l
2014-01-12 00:25:54 1654 2
原创 SGU271. Book Pile(模拟)
题目请戳这里题目大意:一开始有n本书,书是垒起来放发,第一本在最上边。现在有m个操作,有2种操作类型:#include #include#include#includeusing namespace std;const int N = 100005;const int M = 40005;int n,m,k,num,top,bot,nm,dir;char name[N +
2014-01-11 19:06:31 1278
原创 poj2796Feel Good(笛卡尔树)
题目请戳这里题目大意:给n个数,求一个区间,使这个区间数字之和*这个区间最小值最大,给出这个最大值以及这个区间左右端点。题目分析:笛卡尔树。先按输入建一颗小堆笛卡尔树,然后dfs遍历一遍,直接求解。O(n)完美解决!笛卡尔树首先是一颗二分查找树,每一颗子树的dfs序列都是原序列的连续的子序列。再利用笛卡尔树堆的性质可以O(1)找出这个连续的子序列最小值,直接更新最大值即可。因为要求
2013-12-30 13:15:29 1434
原创 poj1101The Game(记忆化搜索)
题目请戳这里题目大意:给一个n*m的地图,由'X'和空格组成,'X'表示物体,'.'表示空地。再给若干组数据,每组数据为2个坐标,问这2个坐标点之间能否连同,如果能,需要多少线段使之联通。可以借助地图外面的空间。题目分析:其实就是求给定的坐标对之间所有路径最少拐弯次数。记忆化搜索解决。给定的两点中任选1个点做起点,开始搜索,记录下其余每个点最少需要拐弯多少次到达。最后直接判断目标点状态
2013-12-23 16:13:36 1386
原创 poj3187Backward Digit Sums(暴力dfs)
题目请戳这里题目大意:给一个n(题目分析:最坏10!复杂度,直接爆搜啦,剪枝都免了,妥妥的详情请见代码:#include #include#include#includeusing namespace std;const int N = 11;int lcm[N][N];bool flag[N],ok;int n,sum;void dfs(int cur,in
2013-12-22 10:34:16 1306
原创 poj1071 && zoj1019Illusive Chase(dfs)
题目请戳这里题目大意:给一个100*100的地图,给机器人的动作,求机器人可能的起点个数.每个动作由一个范围和一个字母组成,字母表示机器人走的方向,范围表示走的步长.题目分析:题目还不错,挺新颖的,不过数据水大了.dfs模拟出来就秒过了....首先处理出机器人活动范围,假设起始点为(0,0),通过一系列动作后活动的上下左右四个方向的最远界限搞清楚,然后在原地图上开始dfs模拟,找到一个
2013-12-21 23:03:49 1311
原创 hdu2337Escape from Enemy Territory(预处理+二分+bfs)
题目请戳这里题目大意:一个二维平面上有n个敌人据点,给一个起点和一个终点,求这个起点到终点的所有路径中距离敌人据点最近距离最大的前提下总长度最短.求这条路径距离敌人据点最近距离和这条路径的最小长度.题目分析:数据范围:n不大于10000,二维平面不大于1000*1000.所有点不重复,且均在平面上.首先直观的感受是二分距离再bfs.不过数据范围有点大,特别是在判断某个点合法的时候要迅速
2013-12-21 19:25:26 1312
原创 poj3134Power Calculus(IDA*)
题目请戳这里题目大意:现在只有一个x,求最少经过多少步,可以得到x^n,每一步可以对已存在的x^k做乘法或除法运算.题目分析:n范围不大,不超过1000.所以可以断定任何一组数据20步之内一定出解!但是此题数字的组合方案很多,所以整颗搜索树会很宽,再加上要判重,bfs的话空间消耗非常大.故采用dfs解决.又由于要求最优解,所以迭代加深.代码还是比较好写的,但是会发现写出来后样例都跑不出来.
2013-12-21 14:38:02 1278
原创 poj3669Meteor Shower(bfs)
题目请戳这里题目大意:在二维平面上,有个人一开始在原点,现在有一场流星雨,已知有n个,第i个流星第ti秒落在(xi,yi)位置,并且(xi,yi)周围4个位置也会遭殃.人每秒走单位长度,并且只能向四个方向走,并且走的位置要在流行毁灭这一点之前.求这个人最快脱险时间.无法脱险输出-1.题目分析:简单搜索,bfs妥妥的.首先用flag数组记录下所有位置最先遭殃的时间.然后从源点开始bfs.直到
2013-12-20 18:35:24 1126
原创 poj2032Square Carpets(IDA* + dancing links)
题目请戳这里题目大意:给一个H行W列的01矩阵,求最少用多少个正方形框住所有的1.题目分析:又是一个红果果的重复覆盖模型.DLX搞之!枚举矩阵所有的子正方形,全1的话建图.判断全1的时候,用了一个递推,dp[i][j][w][h]表示左上角(i,j)的位置开始长h宽w的矩形中1的个数,这样后面可以迅速判断某个正方形是否全1.不过此题直接搜一直TLE,然后改成迭代加深就比较愉快啦
2013-12-18 22:06:34 1723
原创 poj1084Square Destroyer(LDX解重复覆盖)
题目请戳这里题目大意:给一个n*n的用单位长度的木棍拼起来的网格图,给每个木棍按图示编号,编号范围1~2*n*(n+1).现在已知图中已经去掉了k个木棍,求还要至少去掉几根木棍能使网格图中不存在正方形.即破坏图中所有的正方形.n不超过5.题目分析:n太小了啦,直接爆搜!dancing links优化之.将之转化成一个重复覆盖的模型.n*n的完全网格图中存在n*(n+1)*(2*n+1)
2013-12-18 21:53:33 1744 3
原创 BZOJ1001狼抓兔子(平面图最小割)
题目请戳这里题目大意:给一个n*m的网格图,表示一个地图。起点(1,1),终点(n,m)。每条边上有一个权值,表示该路径上的兔流量。现在一些兔子从起点沿着边跑到终点。然后有一些大灰狼要抓这些兔子。一只狼能抓一只兔子。现在狼王想知道至少要派多少狼能堵住兔子的路。题目分析:很裸的最小割问题。条件反射最大流搞之。但是这题的数据量是10M。n,m也比较大。硬上了一个最大流果然挂了。这题的n,m
2013-11-11 12:57:25 1376
原创 2013 Asia Hangzhou Regional Contest--hdu4770Lights Against Dudely(DLX)
题目请戳这里题目大意:给一个n*m的格子,每个格子可以是'#'或者是'.'。'.'的数量不超过15个。现在要在'.'的位置放一种灯,假设放在(x,y)的位置。那么这盏灯只能点亮(x,y),(x-1,y),(x,y + 1),这3个位置。现在有一盏灯比较特殊,可以绕(x,y)旋转0度,90度,180度或者270度。现在给这样n*m的格局,求最少放置多少灯能覆盖所有的'.'。每个'.'的位置只能放
2013-11-10 16:59:46 2049
原创 hdu4504威威猫系列故事——篮球梦(DP)
题目请戳这里题目大意:中文题,略。题目分析:其实就是求给k个数,每个数可以是1,2,或者3,求这k个数的和大于t 的方案数。dp[i][j]表示用j个数的和为i的方案数。那么很容易得到转移方程:dp[i][j] = dp[i - 1][j - 1] + dp[i - 2][j - 1] + dp[i - 3][j - 1]。即用j个数和为i的方案数为:(用j-1个数和为i-
2013-11-06 23:14:18 1419 2
原创 2013小结
暑假集训过去2个月了,今年的比赛也结束了,现在来总结一下。 今年的暑假集训一改去年刷专题的形式,开始攻套题,从网络赛结果来看,效果不错。大家的知识面合在一起就宽了些,不像去年那样会做的都会做,不会做的都不会做。 去年打完比赛后的半年基本荒废了。也不知道浑浑噩噩的干了个啥。如果说心思全花在课程上了的话,平均3.2的绩点实在说不过去。俱乐部也没干多少事。不过带了一队大一的小朋友,当时看
2013-10-29 21:34:56 1073
转载 为何Emacs和Vim被称为两大神器
想看原文请戳这里在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。追求独步天下的高手和低手们睁着一睹它们的风采, 可看到它们朴素单薄的界面后,不禁心下怀疑: 这就是神器吗?甚至有人生了轻视之心。肤浅的人嗤之以鼻,说:什么年代了,还抱着这么老土的玩意不放, 真他妈Geek!同学,请冷静下来,听我说:它们的确够老了, 都几十年的
2013-10-22 22:12:54 3459
原创 hdu3220Alice’s Cube(IDA*)
题目请戳这里题目大意:给一个超级立方体(具体看题目中的图),16个点,每个点有4个相邻点,图中有标识。现在每个点安一个灯泡。一共16个灯泡,有8盏亮8盏灭,现在可以交换任意相邻的2盏状态不同的灯的状态。求最少多少步能使编号1-8的8个灯泡亮,其他的灭。题目分析:题目要求3步以内就够了。16个点,每个点有4个相邻点,16^4,不过case有13000+个。可以考虑IDA*。将16个灯泡压
2013-10-17 14:12:46 1019
原创 hdu4453Looploop(splay)
题目请戳这里题目大意:给一个数字串,长度n,首尾相连的。有一个对序列操作的指针,初始指向第一个数字。给m个操作,2个参数k1,k2。给6种操作:1:add x,在当前指针所在位置顺时针方向的k2个数字,每个数字加x。2:reverse,从当前指针所在位置开始顺时针方向k1个数字翻转。3:insert x,当前指针下一个位置加上一个x。4:delete,删除当前指针所在位置元素。
2013-10-10 20:16:11 1143
原创 hdu3727Jewel(划分树+二分)
题目请戳这里题目大意:给许多操作,4类:1,insert x,插入一个数x,x范围2^31内(题目描述有误)2,query_1 s t k,查询范围[s,t]内第k小的数,s3,query_2 x 查询x的rank,从小到大。x保证出现过4,query_3 x,查询[1,len]第x小的数。输出3个数,为3个询问累加和。题目分析:由于没有删除操作,所以加入的数字序列
2013-10-10 12:36:46 1287
原创 2012 Asia Hangzhou Regional Contest--hdu4463Outlets(mst)
题目请戳这里题目大意:二维平面内给n个点,求将所有点连通需要的最小代价,代价为点间距,其中给定2个点必须直接相连。题目分析:2012杭州现场赛四大水题之三。裸的最小生成树。prime求最小生成树。给定的2个点先加到初始集合中,再扩展n-2个点即可。详情请见代码:#include #include#include#include#include#include
2013-10-09 22:51:37 1194
原创 2012 Asia Hangzhou Regional Contest--hdu4462Scaring the Birds(IDA)
题目请戳这里题目大意:有一个n*n的格子,有k个空地,其他地方都种的有庄稼。现在要在k个空地中放稻草人保护庄稼,每个稻草人罩附近距离他曼哈顿距离不超过r的点,求最少需要多少个稻草人能罩住所有的庄稼。题目分析:k太小了,n太小了,IDA爆搜之。不过跑的好慢啊,hdu rank倒数第一。。。详情请见代码:#include #include#include#includ
2013-10-09 22:07:54 1213
原创 2012 Asia Hangzhou Regional Contest--hdu4460Friend Chains(SPFA)
题目请戳这里题目大意:给n个人,m个关系,组成了一张关系网,求一个k使任意2个人在关系网中距离不大于k。题目分析:12年杭州现场赛水题之一。就是在无向图中求出任意2点距离最小值,取最小值的最大值为k。任意2点最小值很容易想到floyd,不过此题的点数达到1000,O(n^3)亚历山大。所以可以做n个spfa。枚举起点跑n次spfa,一次spfa时间复杂度大约O(ke),所以总的时间
2013-10-09 22:00:03 1179
原创 SPOJ4206Fast Maximum Matching(hopcroft-karp)
题目请戳这里题目大意:裸的二分匹配。题目分析:数据比较强,用来测模版的。这题用hungry跑着会比较吃力,所以用hopcroft-karp算法。这个算法较hungry高效是因为每次bfs找到一个增广路集,然后用dfs进行多路增广,同时找多条增广路,从而效率大增。其实怎么看hk算法都是个没有边权的dinic啊。参照着wikipedia 敲了一个hk,效率貌似不高啊。。。详情请见代码:
2013-10-09 12:16:36 1113
原创 hdu3729I'm Telling the Truth(hungry+输出字典序)
题目请戳这里题目大意:有n个学生,每个学生给一个区间,表示自己真实的rank范围,但是其中有一些人说谎了。求最大说真话的人数并字典序最大输出说真话的同学编号。题目分析:不会证明的贪心注定是悲剧。。。原来是个裸的二分匹配。因为要输出字典序最大,hk换了各种姿势都不太对,果然是多路增广的问题么。还是没有想通。不过hungry很容易解决,因为hungry每次只找一条增广路,所以每次从x的
2013-10-09 09:27:22 1132
原创 hdu3722Card Game(KM最大带权匹配)
题目请戳这里题目大意:给n个字符串,再给一个n的排列:p1,p2....pn。然后将第i个字符串贴到第pi个字符串后面,然后形成一个环。pi的首字符和第i个字符串的末尾字符就相邻,如果这2个字符相等,各自再向内延伸一个位置,知道这个环首尾字符不等为止。延伸的位置为该环的得分(如果pi == i,得分为0),对于每个排列,有n个这样的环,求得分和最大为多少。题目分析:最大带权匹配!!以为是个
2013-10-08 00:51:16 1401
原创 hdu3724Encoded Barcodes(Trie tree)
题目请戳这里题目大意:给n个字符串,给m个询问,每个询问给k个条形码。每个条形码由8个小码组成,每个小码有相应的宽度,已知一个条形码的宽度只有2种,宽的表示1,窄的表示0。并且宽的宽度是窄的宽度的2倍。由于扫描的时候有误差,每个小码的宽度为一个浮点型数据,保证每个数据的误差在5%内。所以一个条形码可以对应一个ASCC码,表示一个小写字母。k个条形码表示一个字符串s,每个询问表示给定的m个字符串
2013-10-07 21:47:15 1093
原创 hdu3957Street Fighter(DLX重复覆盖)
题目请戳这里题目大意:在游戏Street Fighter(街头霸王)中有若干个角色,每个角色有1~2个模式,每个角色在某个模式下可以KO另外某些角色的某些模式。现在给n个角色和他们的模式以及各自在相应模式下能KO的对手及对手的模式。求最少需要几个角色能KO所有其他角色。题目分析:重复覆盖问题,DLX解决。因为每个角色有1~2个模式,所以抽象出2*n行和2*n列。直接建图跑DLX即可。需
2013-10-06 15:46:49 1013
原创 hdu3656Fire station(DLX重复覆盖 + 二分)
题目请戳这里题目大意:一个城市n个点,现在要建m个消防站,消防站建在给定的n个点中。求建m个消防站后,m个消防站要覆盖所有的n个点的覆盖半径最小。题目分析:重复覆盖问题,DLX解决。不过要求覆盖半径最小,需要二分。虽然给的范围并不大,DLX毕竟还是暴力搜索,而且精度有6位小数,因此直接二分距离的话会TLE!解决方案是将图中任意2点的距离记录下来,去重后二分已知的距离。因为消防站建在给定的n
2013-10-05 23:45:42 1108
原创 hdu3663Power Stations(DLX解精确覆盖)
题目请戳这里题目大意:一个国家有n个城市,每个城市有一个电站。n个城市之间有m条电线,通过电线相连的城市之间可以互相通电。现在给出每个城市发电站工作的时间段,要求使所有的城市在未来连续D小时都通电并且保证每个城市只能同时接受一个城市的电(或者自己发电),求每个城市发电站工作时间表,每个城市只能工作一个连续的时间段。题目分析:点支配集转精确覆盖问题,DLX解决。由于所有城市在未来连续D小时都
2013-10-05 16:46:46 1179
原创 hdu3665Seaside(水搜索)
题目请戳这里题目大意:给n个点,每个点与其他点有一些有向边,边权为边长。每个点有一个属性,1表示靠海,otherwise 0。现在从0出发,要到靠近海边的点,求最短距离。题目分析:最短路。可是10个点的有向图也懒得写最短路了。直接爆搜吧。比赛的时候准备直接dfs的。男神不知道找了个什么理由非要我写bfs+优先队列优化。。。。。。。事实证明,这题太水。。。详情请见代码:dfs
2013-10-04 21:39:28 930
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人