自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 非root用户安装cuda10.0

https://www.cnblogs.com/Climbing-Snail/p/9361621.html下载官网 runfile,然后bash cuda10.0-----.run,修改为本地路径在 ~/.bashrc中添加上面两个环境变量。还有一个 export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0source ~/.bashrc...

2019-12-17 20:12:20 993 1

原创 ubuntu 快速传输工具——lz4压缩传输替代scp

lz4压缩传输代替scp安装 PV : sudo apt-get install pv安装lz4:https://github.com/lz4/lz4 makesudo make install参考:https://www.cnblogs.com/xuanzhi201111/p/4160255.htmlhttps://www.cnblogs.com/archon...

2019-10-13 21:07:50 1383

原创 vim插件管理与配置

Vim个人常用的插件:1.Vundle首先使用Vundle来管理插件https://www.cnblogs.com/inrgihc/articles/7908943.html使用:(1)在~/.vimrc中 添加 Bundle或者PluginBundle'SuperTab'Bundle 'https://github.com/chxuan/change-colors...

2019-08-04 14:35:52 367

原创 tmux 和 vim 常用命令

参考https://www.cnblogs.com/lizhang4/p/7325086.htmltmuxtmux new -s 会话名 //新起一个会话tmux ls //查看现有的会话tmux a //进入最近的会话tmux a -t 会话名//进入指定会话tumx kill-session -t 会话名 //干掉指定会话control+b //唤起tmux(...

2018-06-21 17:54:43 617

原创 git 常用命令

1. 生成 ssh key以及 个人信息ssh-keygen -t rsa -C "email"git config --global user.name "user"git config --global user.email "emal@"2. 提交本地代码git init  初始化版本库git add -u :将文件的修改、文件的删除,添加到暂存区。git add *  :  上传修改的文件...

2018-06-21 17:30:03 299

原创 6. ZigZag Conversion

字符串处理。首先要知道题意,如图:思路:可以设立numRows(行数)个vector,然后按给出的字符串顺序遍历,模拟整个过程,走到哪一行就将该字符的下标插入vector中,最后按行输出即可。class Solution {public:    string convert(string s, int numRows) {        vector

2017-09-15 23:21:38 335

原创 4. Median of Two Sorted Arrays

/*一道比较简单的题目,就是合并两个有序的数组。*/class Solution {public:    double findMedianSortedArrays(vector& nums1, vector& nums2) {        vector nums;        int len1 = nums1.size();        int le

2017-09-14 00:03:27 321

原创 3. Longest Substring Without Repeating Characters

/*O(N)的算法,遍历一遍字符串,记录当前处理到的位置和每个字符最后出现的位置,然后更新当前的最长子串即可比较好的一道题,思路需要好好记住*/class Solution {public:    int lengthOfLongestSubstring(string s) {        int flag[200];   //记录到当前位置之前字符s

2017-09-13 23:23:57 265

原创 2. Add Two Numbers+链表的简单应用

/**这道题不是很难,主要是有一些细节需要注意 * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solut

2017-09-12 17:26:10 285

转载 hash_map

http://blog.csdn.net/ddkxddkx/article/details/6555754

2017-09-12 14:34:36 261

原创 1.Two Sum

/*思路:首先将序号和数值在一个结构体中存下来,排序后,然后遍历一遍,每次遍历过程中二分查找另外一个数字。二分查找vector结构体的sort*/class Solution {public:    struct Node{        int val;        int num;    }node[100000];        stat

2017-09-12 00:14:34 264

转载 快速排序

今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。思想快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n

2015-05-06 17:50:10 566

转载 STL 堆(heap)

STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。Heap是一个类属算法,包含在algorithm头文件中。虽然STL中关于heap默认调整成的是大顶堆,但却可以让用户利用自定义的compare_fuction函数实现大顶堆或小顶堆。heap的低层机制vector本身就是一个类模板,heap基于vector便实

2015-05-05 10:56:07 1766

转载 康拓展开

康托展开  康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。  这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = ["D", "B", "A", "C"],现在要

2015-04-20 17:51:42 887

转载 线段树扫描线(感觉不错就转载了..)

线段树辅助——扫描线法计算矩形面积并分析:1.矩形比较多,坐标也很大,所以横坐标需要离散化(纵坐标不需要),熟悉离散化后这个步骤不难,所以这里不详细讲解了,不明白的还请百度2.重点:扫描线法:假想有一条扫描线,从左往右(从右往左),或者从下往上(从上往下)扫描过整个多边形(或者说畸形。。多个矩形叠加后的那个图形)。如果是竖直方向上扫描,则是离散化横坐标,如果

2015-04-08 16:50:46 1064

原创 Codeforces Round #FF (Div. 2) E. DZY Loves Fibonacci Numbers(斐波那契的定理+线段树)

/*  充分利用了菲波那切数列的两条定理:   ①定义F[1] = a, F[2] = b, F[n] = F[n - 1] + F[n - 2](n≥3)。        有F[n] = b * fib[n - 1] + a * fib[n - 2](n≥3),其中fib[i]为斐波那契数列的第 i 项。   ②定义F[1] = a, F[2] = b, F[n] = F[n -

2015-04-08 16:40:14 772

原创 poj 2828 Buy Tickets (排队问题+线段树)

/*    //不想写题解了,就直接把人家的粘过来了    线段树节点中保存这一段中的空位数,然后倒序对pos插入:    例如:           0 77         1 51         1 33         2 69  先取: 2 69  ——  ——  —69—   ——   (需要前面有3个空位才能插入)       然后取: 1 33

2015-04-08 16:34:27 885

原创 poj 2689 Prime Distance(筛一个区间内的素数(或合数))

:【题意说明】给你指定的范围[L, U],在这个范围内找出相邻最近和最远的两组质数,若最近或最远值相同,输出较小的那组。其中:1≤L,另U-L≤1000000。【问题分析】此题与质数有关,显然若是能求出[L, U]之间的质数,然后从前往后扫描一遍即可出需要的结果,但问题是L与U的范围太大,是不可能在规定的时间内实现的。但这里给我们提供了另一个条件:U-L≤10000

2015-04-07 14:27:28 743

原创 poj 1845 Sumdiv (算术基本定理求一个数因子和)

求一个数的所有因子和可以用算术基本定理,下面是它的两个重要应用:        (1)一个大于1的正整数N,如果它的标准分解式为: N=(P1^a1)*(P2^a2)......(Pn^an)            那么它的正因数个数为(1+a1)(1+a2).....(1+an)。        (2) 它的全体正因数之和为d(N)=(1+p1+...p1^an)(1+p2+...p

2015-04-06 19:50:56 838

原创 lucas定理

/*Lucas 定理:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0])  modp同即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) 对于单独的C(n

2015-04-06 09:54:01 654

原创 poj 1155 TELE(树形泛化背包dp)

/*    这道题还不错,自己想出了思路过得也比较快,也得出了一个小经验,以后写这种题先把关键部分伪代码写出来这样会快很多而且    不那么容易出错,省去很多的调试时间    这道题就是转化为一道树形背包问题。首先把需要付的钱转为负数,对每个叶子结点增加一个子节点表示赚的钱,为正数.    然后记录下当前结点的所有可能的用户数目所花费的钱.所以问题就转化为一道简单的树形dp问题。最

2015-04-06 00:15:10 1511

原创 poj 2486 Apple Tree(树形dp)

/*    说一下做题感受,首先一看就可以确定是一道树形背包问题。    刚开始想的是两个状态来表示(rt,i),但这样的话不好表示从一个子节点回来再去访问另外子结点的情况,    所以就想到了三个状态(rt,i,0)和(rt,i,1),分别表示是否回到rt结点的最大值,这样就可以写出状态方程:    (rt,i,0)=max{(rt,i,0),(s,j,0)+(rt,i-2-j,

2015-04-05 22:26:04 566

原创 light oj 1090 Trailing Zeroes (II)

/*1)改题:刚开始看错题目了,把题目看成求这个数的位数,然后就错了,不过如果把题目改成求C(n,r)*p^q的位数,也是一个不错的小题目。那样的话就用到了:    1)用log(base)n+1 求n在base进制下的位数.    2)log换底公式和其它一些简单公式。代码如下:#include#include#include#include#include

2015-04-05 00:21:20 649

原创 light oj 1067 Combinations (组合数的lucas定理)

/* 用到了lucas定理:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0])  modp同即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) 对于单独的

2015-04-03 22:52:26 600

原创 light oj --Digits of Factorial (一个数的位数问题以及log的公式应用)

这是一道数学题。假设N! 等于 NUM  对于  N!= NUM 做恒等变形     (ans向下取整)最终的结果等于ans+1题解:我们需要知道log10(n)=a+b(a是整数,b是小于1的小数)。则a是n在十进制下的长度-1。为什么?根据性质就可以推出来,10^(a+b)=10^a*10^b,10^b必定小于10

2015-04-03 00:12:05 576

原创 Light oj Trailing Zeroes (I) (算术基本定理)

对于初识数论的我来说这是很好的一道题,因为通过它我扩展了不少东西:算术基本定理,线性筛素数,欧拉函数,Miller Rabin质数分解和Pollard Rho大整数分解(见模板,较为少用)  主要是对算术基本定理(质因数分解定理)的应用(百度之),求一个数因数的个数。  首先用线性筛素数法筛出所有的小于等于 sqrt(n) 的素数,然后枚举素数即可,有一点需要注意:  一个数 n 的质

2015-04-02 17:51:31 590

原创 zoj cut the tree(树形dp,小细节真的很多)

这道题做的我很是头痛,好不容易思路有了结果调了好几个小时也没调对,太弱,最后是找了份题解“对照”人家代码改的才过,索性把他的思路也直接粘过来了。 一看便知是树形dp,dp[i][j]-表示以节点 i 为根的树砍 j 次得到的最小权值,不过这题难就难在dp[u][0]有双重含义。 1.自己的初始权值。(便于转移) 2.以u为根的树砍 0 次得到的最小权值。 这样直接采取 dp[u][

2015-04-01 18:48:36 568

原创 Party at Hali-Bula

Party at Hali-Bula

2015-04-01 00:35:59 534

原创 树形dp简单总结

树形dp简单总结

2015-03-31 23:34:45 965

原创 拓扑和传递闭包小结

拓扑排序与传递闭包http://acm.hust.edu.cn/vjudge/contest/view.action?cid=71575#overview这几天主要学了一下拓扑排序,同时还在题目中遇到了解决传递闭包的warshell算法。首先简单总结一下拓扑排序的东西,目前掌握了三种拓扑排序的算法:刘汝佳算法竞赛书上的一种(这种并不是很常用,但是很巧妙,主要是学习一下那种思想);第二种

2015-03-24 08:23:08 1647

原创 状压dp小结

状态压缩dp 1)首先是状态的压缩。一般采用二进制,有时候会用三进制或是其他的,根据每个点状态的个数。像travelling那道,每条路径最多可以走两遍所以就用0,1,2来存储每个点的状态。要会用各种位运算。像看相邻元素不相邻用'2)状态的优化,有时候可以预处理一些状态,仅将合理状态保存下来,corn fields.3)找状态。和矩阵快速幂差不多,一般来说看他和上面的几个状态有

2015-03-24 07:39:49 513

空空如也

空空如也

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

TA关注的人

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