写下自己Emacs的颜色设置的过程,以防自己忘了,借此也和大家分享一下。 版本:Emacs 23.3.1 emacs安装目录:/usr/share/emacs 谷歌了一番之后发现,对我们新手而言,一般是用别人已经写好的themes(如果你对Elisp有一定的了解,而且愿意花时间的话,当然也可以自己定制自己喜欢的颜色罗^-^) 装完后回过头来看,大概的安装步骤是这样的: 下载color-theme安装包→ color-theme解压后将其中的color-theme.el文件和themes文件夹移动到你的插件目录→ 修改配置文件(~/.emacs)→ M-x color-select命令... Read More
把最近刷的题都做一下总结。 HDOJ1548题,搜索类,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 题目大意:电梯只能进行“升”和“降”,每层都有自己对应的“电梯数”,当前层数+电梯数就是对应可到达的层数,但是不能到达不存在的层数,如当前的层数为1,电梯数为3,则摁“UP”可到达第(1+3)层,而摁下“DOWN”却不起作用,因为-2层不存在。给出起始层数和需要到达的目标层数,找到从起始到目标需要摁电梯的最少次数并输出。 用BFS实现,代码如下:#include<iostream>using namespace std;in Read More
hdoj上的1496题,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1496 此题的大意就是让你找出四元方程式a*x1^2+b*x2^2+c*x3^2+d*x4^2=0的解的种数并输出,其中a,b,c,d为常量,最开始的时候输入,他们的范围是[-50,0)&&(0,50],而变量x1、x2、x3、x4的范围是[-100,0)&&(0,100]。 开始看到这道题我的思路就是进行暴力搜索,当时觉得应该会超时,后来果然超时了,没办法,只能想其它方式了。 我们可以变化一下方程,写成a*x1^2+b*x2^2=-(c*x3 Read More
今天AC了杭电OJ的1253题《胜利大逃亡》,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1253 该题目是一个比较经典立方体迷宫问题,要求在给定的时间内从始点(0,0,0)逃到出口(a-1,b-1,c-1),这里我采用的是BFS(宽度优先搜索)。 代码如下:#include<iostream>using namespace std;int map[55][55][55],a,b,c,times,visit[55][55][55];int fx[6]={1,-1,0,0,0,0},fy[6]={0,0,1,-1,0,0},fz[6] Read More
今天解了杭电OJ1241题,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 题目的大体意思就是找出不同的油田数量并输出,注意相邻的油井都属于同一块油田(ps:它的相邻也包括左上,左下,右上,右下,开始读题目半天都没搞懂这个,囧死了)。这题可以用搜索来解决,这里我分别用了深搜和广搜AC了一遍:深搜代码:#include<iostream>using namespace std;int map[105][105],m,n;int fx[8]={-1,-1,-1,0,0,1,1,1},fy[8]={-1,1,0,1,-1,1,-1, Read More
比较简单的一道进栈和出栈的题目:http://acm.hdu.edu.cn/showproblem.php?pid=1022 题目的大体意思就是一个火车站某一时刻只能停9辆火车,分别输入进栈火车的数量、序列和火车出栈的序列,判断该出栈序列能否满足要求,如果可以满足要求,则进栈时输出in、出栈时输出out. 代码如下: 1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 int main( ) 5 { 6 int n,i,j; 7 char a[10],b[10],stack[10];//a, Read More
今天解了HDOJ上的1058题:http://acm.hdu.edu.cn/showproblem.php?pid=1058 这是一道关于动态规划(dynamic programming)的题目,适用DP的算法解决的问题一般都有3个特性:最优化原理、无后向性、子问题重叠性质。 最优化:如果问题的最优解所包含的子问题的解也是最优,那么父问题的解也是最优的,该问题具有最优子结构。 无后向性:若某个阶段的状态确定之后,那么就不会受这个状态后面的决策所影响,也就是说某状态以后的过程不会影响以前的状态,而只与当前的状态有关。 有重叠子问题:指子问题间不是相互独立的,一个子问题的解可能在下一个问题中被多. Read More
这道题折磨了我好久,开始以为要把输入X进制串转换为十进制串,然后对十进制串进行逐位取余,但是由于X进制串的位数会非常大,没有想到好的转换算法,这里我是对X进制串进行逐位取余,这样就不会受其位数的影响了,代码也比较简单,涉及到的一个常用的公式就是(a+b)%c=[(a%c)+(b%c)]%c.代码如下:#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main( ){ int t,b,sum,len,i; char a[105]; cin>>t; Read More
链接地址:http://acm.hdu.edu.cn/showproblem.php?pid=1015 hd1015题,据说用5个for循环暴力也行,这里我用了深度优先搜索(dfs),主要想练习一下深搜,可能未来的一段时间内都会刷深搜的题目。废话不说,来看看题目。 这道题的大体意思就是给你一个target值和一串字符串(大写字母),各字母在字母表中的顺序可以代表其值,例如A的值就是1,B的值是2,Z的值是26.....然后给出一个方程式:v - w^2 + x^3 - y^4 + z^5 = target,其中的v,w,x,y,z分别用给出的各字母的值来替换,最后输出满足方程式的字母顺序,当. Read More
好吧,我又选了一道水题http://acm.hdu.edu.cn/showproblem.php?pid=1012 题目要求打印n分别从0到9的阶乘倒数之和,打印的时候注意控制打印格式,无难度,直接贴代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 int main( ) 5 { 6 7 int i,j; 8 double sum=0,k=1.0; 9 printf( "n e\n- -----------\n");10 for(i=0;i<10;i++)11 {12 if( i==0||i==1 Read More