- 博客(31)
- 资源 (8)
- 收藏
- 关注
转载 tmux配置
set -g default-terminal "screen-256color" set -g display-time 3000 set -g escape-time 0set -g history-limit 65535 set -g base-index 1 setw
2015-08-30 10:48:13 1512
转载 zsh配置
export TERM=xterm-256colortest -z "$TMUX" && (tmux attach || tmux new-session)
2015-08-30 10:15:46 1643
原创 vimrc
"""""""""""""""""""""""""""""1、基本及字体"""""""""""""""""""""""""""" 定义快捷键的前缀,即<Leader>let mapleader=";"noremap <c-k> <c-w>knoremap <c-j> <c-w>jnoremap <c-h> <c-w>hnoremap <c-l> <c-w>l""""""""""""
2015-08-28 14:08:52 3375
转载 Ubuntu 14.04使用Prime切换双显卡
双显卡似乎已然成为 Linux 用户心中难以言说的痛。由于显卡厂商 Nvidia 和 AMD 没有对 Linux 提供良好的支持,导致双显卡笔记本电脑用户在使用 Linux 过程中,风扇狂转、发热巨大、耗电惊人,各种不爽,以至于很多不明就里的用户迁怒于 Linux,严重有辱 Linux 的声名。薄荷开源网此前也着力写过关于 Intel+Nvidia 双显卡的 Linux 解决方案--Bum
2015-08-25 14:18:36 2343
原创 POJ 1163 The Triangle
题目大意: 从三角形顶部数字走,每次只能走到这个数字的左下角或者右下角的数字,直到底部,计算走过的线路的数字之和,求这个和的最大值解题思路: 这道题如果用枚举法(暴力思想),在数塔层数稍大的情况下(如31),则需要列举出的路径条数将是一个非常庞大的数目(2^30= 1024^3 > 10^9=10亿)。 因此我们可以从下往上推,相邻的两个数中找较大的与上层相加,得出的结果相邻的两个数中再找较大的与
2015-08-24 20:54:49 1719
原创 POJ - 1157 LITTLE SHOP OF FLOWERS
题目大意: F束花插入V个瓶子里面,花要按编号插,不同花插入不同的花瓶有不同的美观程度,要求最大的美观程度。解题思路: 状态函数为f[i][j]表示第i束花插入前j个瓶子里面。则状态转移函数为f[i][j]=max(f[i-1][j-1]+a[i][j],f[i][j-1])因为有两种插法,一:第i束花插入第j个瓶子里面,则为f[i][j]=f[i-1][j-1]+a[i][j].二:第i束花不插入
2015-08-24 20:19:27 1663
转载 通过修改键盘映射替代损坏按键
[ZZ]通过修改键盘映射替代损坏按键我买的神舟笔记本电脑因为使用不当,致使Ctrl键与PageUp键损坏。而该电脑仅有键盘左下角一个Ctrl键,损坏之后给日常使用带来许多不便。由于 我装的是Windows 2000 + Debian Linux双系统,而登录Windows被我先前设置为需要按下Ctrl+Alt+Del才能出现登录窗口,Ctrl键的损坏使得我暂时不能进入 Windows,因此在我购买外
2015-08-24 18:52:39 13941 2
原创 POJ - 1088 滑雪
题目大意:给出一个图,求图上的一条最长的下降路径。解题思路:很经典的DP,求二维的最长下降子序列。用记忆化的搜索,构造以每个点为起点的最长下降路径,结合DP的状态方程:DP[i][j] = max(DP[i-1][j], DP[i+1][j], DP[i][j-1], DP[i][j+1]) + 1。(if map[i][j] > map[x][y] && (x,y) in the map)。#i
2015-08-24 17:08:48 1699
原创 POJ - 1050 To the Max
题目大意: 求最大子矩阵和解题思路:状态转移方程:压缩成一维然后dp[i] = a[i] (dp[i-1] < 0)dp[i] = dp[i-1] + a[i] (dp[i-1] >= 0)#include <cstdio>#include <algorithm>using namespace std;int main() { int N, A[110][110] = {0};
2015-08-24 15:12:05 1590
原创 POJ - 1018 Communication System
题目大意:某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m1、m2、m3、…、mn个厂家提供生产,而每个厂家生产的同种设备都会存在两个方面的差别:带宽bandwidths 和 价格prices。现在每种设备都各需要1个,考虑到性价比问题,要求所挑选出来的n件设备,要使得B/P最大。其中B为这n件设备的带宽的最小值,P为这n件设备的总价。解题思路: 我们定义状态dp 【i】【j
2015-08-24 14:38:37 1644
原创 POJ - 3628 Bookshelf 2
题目大意: N只奶牛,每只奶牛拥有属性(height),书架高度B。求令奶牛叠加高度正好能够超过书架,并且超过值最小的那个excess高度。解题思路: 也是0/1背包,稍微有点变化的是容量上限值为(所有奶牛高度和)。最优子结构依旧是达到h高度时,最接近书架高度的奶牛迭加高度。#include <cstdio>#include <algorithm>using namespace std;in
2015-08-21 19:42:48 1565
原创 POJ - 3624 Charm Bracelet
题目大意:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。解题思路:01背包#include <cstdio>#include <algorithm>using namespace std;int main() { int N, M; while (scanf("%d%d", &N, &M) != EOF) {
2015-08-21 18:29:23 1645
原创 HDU - 2602 Bone Collector
题目大意: 一个叫做Bone Collector的男的有一个包,往包里放东西,使得其价值最大。解题思路:01背包#include <cstdio>#include <algorithm>using namespace std;int main() { int T; scanf("%d", &T); while (T--) { int N, V, A[1
2015-08-21 16:52:46 1773
原创 HDU - 2546 饭卡
解题思路:01背包问题,首先拿出5元买最贵的东西,那接下来就是背包容量m-5,物品数量n-1 的01背包问题了。状态转移方程为:f[j]=max(f[j],f[j-price[i]]+price[i]) , f[j]表示买前i件物品,预算为j时的最大花销 为了好弄,我把最贵的移到数组尾部。#include <cstdio>#include <algorithm>using namespace s
2015-08-21 16:29:12 1854
原创 HDU - 1203 I NEED A OFFER!
解题思路:题目要求的是至少收到一份Offer的最大概率,我们得到得不到的最小概率即可,状态转移方程:dp[j]=min(dp[j],dp[j-val[i]]*p[i]);其中,p[i]表示得不到的概率,(1-dp[j])为花费j元得到Offer的最大概率 #include <cstdio>#include <algorithm>using namespace std;int main() {
2015-08-21 15:45:45 2131
原创 HDU - 5410 CRB and His Birthday
题目大意:CRB生日,妈妈要给他买礼物,妈妈有M元钱,这家店有N种礼物,因为店长和妈妈是熟人,所以若第i种礼物买x件的话,店长会给妈妈Ai*x+Bi颗糖果,现给出每种礼物的单价、Ai值与Bi值,问妈妈最多能拿到多少颗糖果。解题思路:01背包 + 完全背包#include <cstdio>#include <algorithm>using namespace std;int main() {
2015-08-21 10:03:38 1892
原创 HDU - 5396 Expression
题目大意: 给你一个n然后是n个数。 然后是n-1个操作符,操作符是插入在两个数字之间的。 由于你不同的运算顺序,会产生不同的结果。 比如: 1 + 1 * 2 有两种 (1+1)*2 或者 1+(1*2) 1 * 2 * 3 也是两种即使结果是一样的 (1*2)3 或者 1(2*3) 问这所有不同的组合加起来的和对 1e9+7取余是多少。解题思路: 这个其实就是区间DP
2015-08-20 16:50:28 1749
原创 .vimrc
""""""""""""""""""""""""""""""""""""""" 语法着色与高亮设置"""""""""""""""""""""""""""""""""""""""开启语法高亮syntax enablesyntax onset background=dark "colorscheme monokai"colorscheme molokai"colorscheme hehe1
2015-08-19 17:53:48 1787
原创 vim 配色
自己动手扩展vim插件——配色篇By 马冬亮(凝霜 Loki)一个人的战争(http://blog.csdn.net/MDL13412)本文背景用过功能稍微完善一点的编辑器的朋友都知道,可以在设置中自定义字体颜色、背景颜色、关键字颜色等,从而提升我们的开发效率。而对于vim这样的编辑器来说,当然少不了这些功能,不但如此,在下文我将给大家展示其他编辑器所望尘莫及的灵活性
2015-08-19 13:45:58 2878
转载 VIM C语言函数名高亮
VIM默认情况下,函数名是不会高亮的,将下面这段代码添加到/usr/share/vim/vim73/syntax/c.vim文件的末尾即可:"highlight Functionssyn match cFunctions "\[^()]*)("me=e-2syn match cFunctions "\\s*("me=e-1hi cFunctions gui=NONE ct
2015-08-19 11:15:01 4848 1
原创 HDU - 5392 Infoplane in Tina Town
题目大意:给出一个序列,求变换几次可以回到原来的位置。比如 1 3 2 ,3 不在原来的位置,变到3位置,次数加1,2变到2,次数+1.得到2.。解题思路:做法就是分解循环长度。然后求下最小公倍数。但是不能直接用lcm求最小公倍数。。我们可以考虑用质数分解来求,即公共的质因子乘每个数本身的质因子。#include <cctype>#include <cstdio>#include <algori
2015-08-17 21:19:51 1871
原创 手动扩栈
方案一:(普通版)#pragma comment(linker, "/STACK:102400000,102400000")方案二:(汇编版)const int main_stack = 16;char my_stack[128<<20];int main() { __asm__("movl %%esp, (%%eax);\n"::"a"(my_stack):"memory");
2015-08-17 20:49:44 2266
原创 输入挂
输入挂,原理是把文件里面的东西用fread一次性读到内存。 使用时必须 #include “cctype”, 先调用 IO:init(); 然后全部用 IO:readint() 读入数据;namespace IO { const static int maxn = 200 << 20; static char buf[maxn], *pbuf = buf, *End;
2015-08-17 20:41:50 2047
原创 UVA - 1456 Cellular Network
题目大意:手机在蜂窝网络中的定位是一个基本问题。假设蜂窝网络已经得知手机处于c1, c2,…,cn这些区域中的一个,最简单的方法是同时在这些区域中寻找手机。但这样做很浪费带宽。由于蜂窝网络中可以得知手机在这不同区域中的概率,因此一个折中的方法就是把这些区域分成w组,然后依次访问。比如,已知手机可能位于5个区域中,概率分别为0.3、0.05、0.1、0.3和0.25,w=2,则一种方法是先同时访问{c
2015-08-10 20:25:20 1772
原创 UVA - 11795 Mega Man's Mission
题意: 洛克人要打败n个robots, 并且每个robot都需要一些特定的武器才可以消灭, 现在给出洛克人的初始化武器和每个机器可以被消灭的特定武器. 问你有多少中消灭全部robots的顺序方式.解题思路: 1. 看了题目的数据量, n不大, 可以确定用二进制的状态表示. 算法的复杂度O(n*2^n); 2. 设dp[S]为已经消灭了S集合里面的robots的总方式. 状态方程: dp[S
2015-08-10 16:06:43 1690
原创 UVA - 10691 Subway
题目大意:给定n个点,要求建造尽量少得铁路(从原点发射出的射线),使得所有点到铁路的最短距离小于d。解题思路:题目可以转化成区间选点问题,即以极角来表示铁轨,然后计算出每个区间可行的极角范围,进行区间选点。注意:(1)如果点到原点的距离dis<=d的话,不进行考虑,也无法判断,因为没有说直角边大于等于斜边的。(2)区间有可能在二三象限时重叠,我的处理方法是每次枚举起始点,进行n次选点问题。(3)因为
2015-08-10 15:43:15 1776
转载 基于贪心算法的几类区间覆盖问题
(1)区间完全覆盖问题问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖样例:区间长度8,可选的覆盖线段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]解题过程:1将每一个区间按照左端点递增顺序排列,拍完序后为[1,4],[2,4],[2,6],[3,5],[3,6],[3,7],[6,8]2
2015-08-10 10:22:48 2033
原创 UVA - 10132 File Fragmentation
题目大意:输入有点恶心,首先是case数,然后一个空行,然后再输入信息,然后又以一个空行结束该组数据,如果是最后一组数据了,不以空行结束,而是直接以EOF结束。输出,case之间有一个空行,最后一个case后面不要加空行每组case的信息,就是N行的串,串中只有01,串的个数一定是偶数。原本有很多个一样的长串,每个长串都分成了两个短串但是分割的位置不一定相同即两个短串不一定是平分的(就是输入中的那些
2015-08-09 21:05:03 1571
原创 UVA - 1442 Cav
题目大意:一个洞穴的宽度为n(n解题思路:设每个片段中燃料的高度为l,初始值为是s[0]或s[n-1],如果当前片段的地面高度pi>l,则l=pi,顶高度si#include #include using namespace std;int n, p[1000010], s[1000010], h[1000010];int main() { int Z; sc
2015-08-09 18:19:48 1937
原创 POJ - 2311 Cutting Game
DescriptionUrej loves to play various types of dull games. He usually asks other people to play with him. He says that playing those games can show his extraordinary wit. Recently Urej takes a gre
2015-08-02 12:50:54 1796
原创 POJ - 1704 Georgia and Bob
DescriptionGeorgia and Bob decide to play a self-invented game. They draw a row of grids on paper, number the grids from left to right by 1, 2, 3, …, and place N chessmen on different grids, as shown i
2015-08-01 16:33:53 1636
MyEclipse2015 Stable2.0补丁
2016-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人