水题。
我之前说过包含至多几个至少几个的问题都比较难,这个题可是让我大脸了。至多可以重复一次,那就重复次数多于两次再计算重复,否则的话像普通的数据一样直接按照重复次数前移就可以了嘛。不过说归说,这种inspace的思想还是有些用处的,数组这种实现方式致命的缺点就是删除或者添加中间的元素代价太大,因为不好把握数据的最终位置。这个题是一种情况,合并两个排序好的数组也是一个例子。
class Sol...
分类:
其他好文 时间:
2014-05-11 14:54:49
阅读次数:
248
这道题之前一直没敢做,没想到前天用递归一遍过了。。
当时为什么想着用递归,而不是dp呢,因为我想到达某个位置的情况有很多,即使从当前位置开始的搜索是已知的,但之前的状态是怎样的也无从得知啊,实话实说,我是不会用dp解这个。。
递归的思路就好说多了,从当前点开始,有上下左右四个位置可以探测,如果探测成功的话,要把当前的位置用其他符号标记出来,以免重复访问。实际上就是DFS嘛,只不过入口多一些。
...
分类:
其他好文 时间:
2014-05-11 14:20:56
阅读次数:
321
Biker's Trip Odometer
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4038 Accepted Submission(s): 2703
Problem Description
Most...
分类:
其他好文 时间:
2014-05-11 14:53:47
阅读次数:
282
生成组合数是初中的知识,没有人不知道。组合数学我认为是最有意思的数学分支,室友应该是这方面的专家,他的纸牌问题我听都听不懂。。
不知道你们是什么感觉,我以看到组合数,马上会想到全排列,这可能是因为当时初中的时候,这两部分知识是放在一起讲的,也确实有一些联系。怎样生成全排列算法课在递归的那部分讲过,写的也比较多,很多字符串的问题我都忍不住想用全排列试一下。那能不能用递归的方法来生成组合数呢?
答...
分类:
其他好文 时间:
2014-05-11 13:15:13
阅读次数:
270
CFLAGS=-Wall -g 这个-Wall开头字母一定要大写。这种小错误会导致不能编译!
其次就是在一个目录下面的应该是文件 ,而不能在继续用文件去进行编写代码,因为make寻找当前目录下的makefile,makefile里面用到的文件而不是目录里的代码,如果需要也要通过-l(l链接link)一下。所以再一个目录下,编写文件尽量用vi命令,而不是mkdir。这两个区别要搞清楚。...
分类:
其他好文 时间:
2014-05-11 14:32:06
阅读次数:
361
题目链接:1362 - Exploring Pyramids
白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。
f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:
其他好文 时间:
2014-05-11 07:02:11
阅读次数:
277
题目链接:11361 - Investigating Div-Sum Property
白书上的例题,不过没有代码,正好前几天写了一题数位DP的题目,这题也就相对轻松了。
dp[i][x][y]表示加到第i位,数字 % k,数位和 % k的组合情况数,那么现在要添加一个0 - 9的数字上去状态转移为
dp[i + 1][(x * 10 + num) % k][(y + num) % k],计...
分类:
其他好文 时间:
2014-05-11 05:23:33
阅读次数:
316
从大四开始知道学习开始,自己就开始对实现理想、自我提升、养成习惯等行为感兴趣,于是在13年过年在家的时间趁着自学php,写了一个叫做习惯小站的网站(目前已经下线了),网站主要功能是签到,用户给自己添加一个习惯,比如:每天早起,每天进行签到,从连续签到和数字中得到满足感,从而刺激用户进步。找工作后就基本没怎么管过,也就没怎么关注这方面的产品了。
今天分析四款产品:十年后,一起阔步,唯卡正能量,念。...
分类:
其他好文 时间:
2014-05-12 07:04:57
阅读次数:
272
import java.util.Stack;
import java.util.Scanner;
public class Evaluate {
public static void main(String[] args) {
Stack ops=new Stack();
Stack vals=new Stack();
Scanner cin=new Scanner(Syste...
分类:
其他好文 时间:
2014-05-12 06:23:04
阅读次数:
336
挺有意思的一道题目,属于我之前没有总结到的情况,他在修改数组的时候用到了第三个指针。
如果是两种颜色的话,大家肯定都会做,直接一头一尾两个指针,扫描到不属于自己同类的就互换。这个题有了第三者,怎样来解决这个问题呢?想一下在一个数组中,怎样才能做到线性时间的修改,必须一次性或者常数性的把当前元素替换到他最终应该待的位置,要么复杂就上去了。那当前元素应该呆在那里呢?如果是0的话,应该呆在数组前面都是...
分类:
其他好文 时间:
2014-05-11 06:44:31
阅读次数:
259
题目链接:1073 - Glenbow Museum
白书上的例题,需要一定的推理。
首先要把问题转化,推理出n个点,R的个数为(n + 4) / 2, O的个数为(n - 4) / 2个,因为首先四个角必须为R,然后在中间添加O点,每有一个O点就要多一个R点,所以最后R点比O点多4。
然后问题就转化为给定n个R点和m个O点,求出有多少个序列,要求O点不连续,并且R的连续个数不能超过4,的序...
分类:
其他好文 时间:
2014-05-11 14:41:25
阅读次数:
293
import java.util.Scanner;
public class FixedCapacityStackOfStrings {
private String[] a;
private int N;
public FixedCapacityStackOfStrings(int cap){
a=new String[cap];
}
public boolean isEmpty...
分类:
其他好文 时间:
2014-05-11 14:09:33
阅读次数:
251
#ftp
#ljl
#!/usr/bin/perl
use strict;
use Net::FTP;
my $user = "anonymous";
my $passwd = "chinaunix@";
my $host = "ftp.freebsd.org";
my $ftp = Net::FTP->new("$host", Debug =>0)
or die "Can't connec...
分类:
其他好文 时间:
2014-05-11 13:23:26
阅读次数:
286
有一种生物能两两合并,合并之前的重量分别为m1和m2,合并之后变为2*sqrt(m1*m2),现在给定n个这样的生物,求合并成一个的最小重量...
分类:
其他好文 时间:
2014-05-12 06:32:12
阅读次数:
239
堆是完全二叉树,一个大小为n的堆为一棵包含n个节点的完全二叉树。完全二叉树的根称为堆顶。当堆中每个节点的关键字值大于等于其双亲节点的关键字值,这样的堆称为最小堆,当子节点的值都小于等于其父节点时,称为最大堆。...
分类:
其他好文 时间:
2014-05-11 13:58:15
阅读次数:
202
这回又是忽略了题目中的一句话:When the coin reaches the cell that has letter ‘*’
it will be there permanently.
就是说当走到这个格子的时候,就可以定住在这个格子的了。不过这个时候也可以从别的方向走过来,所以题目的真正意思是,在k步内走到这个格子使用的最小的修改指令是多少,并不一定需要就在第k步到达这个格子。
...
分类:
其他好文 时间:
2014-05-11 13:06:57
阅读次数:
472