摘要: 题目详细: 给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方法是:abcd->cabd->bcad。分析: 这是我做的第一题高校俱乐部编程挑战题目,一开始是很不习惯啦。看着这个通过率,还是小小担心。所以想了很久。 好了,入正题,其实就是用第二个字符串(记作b),从后到前比较第一个字符串a,直 阅读全文
posted @ 2014-02-23 22:58 dengyaolong 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个字符串,长度不超过100,其中只包含字符0和1,并且字符0和1出现得次数都是偶数。你可以把字符串任意切分,把切分后得字符串任意分给两个人,让两个人得到的0的总个数相等,得到的1的总个数也相等。 例如,输入串是010111,我们可以把串切位01, 011,和1, 把第1段和第3段放在一起分给一个人,第二段分给另外一个人,这样每个人都得到了1个0和两个1。我们要做的是让切分的次数尽可能少。 输入是这样一个字符串,输出是最少的切分次数,保证输入合法。题目一定有解,因为我们最差情况时,把字符串切分(n - 1)次形成n个长度为1的串。分析:一开始看这题目觉得很困难,但是这题目就是一道水 阅读全文
posted @ 2014-02-23 22:29 dengyaolong 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 需要的东西有:1,ubuntu系统镜像,下载地址:http://www.ubuntu.com/download/desktop 选64位吧,兼容性好些。2,空闲的大于20G硬盘空间,这个大小根据个人使用情况决定的,我用70GB来装Ubuntu。给硬盘划分空白空间安装Ubuntu。在计算机上右键--管理--磁盘管理单击最后一个硬盘,我的是F盘,F盘要有足够的空白空间。右键选择“压缩卷” 然后在弹出的窗口里的“输入压缩空间量”输入70000,然后一直下一步直到结束,得到大约70GB绿色的可用空间。这个逻辑分区最好是win7下的最后一个硬盘,若是放在win7中间的逻辑分区,安装过程中磁盘分区的时候, 阅读全文
posted @ 2014-02-13 13:54 dengyaolong 阅读(170) 评论(0) 推荐(0) 编辑
摘要: UVA10142/PC110108Australian Voting10142Australian VotingAcceptedC++110.7692014-02-11 05:01:20这题目感觉上思路很多,但是因为有一些想法上的缺陷,困扰了我好长一段时间,可能是刚刚入门的原因。从理解题目就很坑爹了,如果你跟我一样是用刘汝佳的编程挑战的话。题目的意思就是:有n个候选人,以及选票(个数不会在输入时候事先给定),每个选票是一个序列,我们每次只读取第一个未出局的。结束只有两种可能:一、获票最高者所得票大于总票数的一半二、所有人票都相同那么在处理好读人名和票数据后,很容易就知道怎么写了。我的思路就是: 阅读全文
posted @ 2014-02-11 13:58 dengyaolong 阅读(217) 评论(0) 推荐(0) 编辑
摘要: Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于HP WebOS系列手机常用的工具软件WebOSQuickInstall(简称WQI)就是采用jar方式。可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Windows中不能用鼠标双击运行(或者双击运行以后使用WinRAR或其他压缩软件打开了),这可怎么办?Windows不能用鼠标双击运行jar文件怎么办?工具/原料Java虚拟机(JVM)Windows注册表编辑器regeditWindow 阅读全文
posted @ 2014-02-10 20:41 dengyaolong 阅读(4933) 评论(0) 推荐(0) 编辑
摘要: 水题一道,SOLVED只是次数的问题。map一下,就是很easy啦。#include#include#include#includeusing namespace std;char tmp[5000];int main(){ string str=" `1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; map n; int i; n[' ']=' '; for(i=1;i<str.length();i++) n[str[i]]=str[i-1];while(gets(tmp)){ 阅读全文
posted @ 2014-02-05 23:20 dengyaolong 阅读(139) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std;char qp[10][10];int result; //结果int black_k_x; //将军的x,yint black_k_y;int white_k_x;int white_k_y;int abs(int i){ if(ir_y){ //r_y 比较小 for(i=r_y+1;ir_x){ //r_x比较小 for(i=r_x+1;ik_x&&jk_y){ i++;j--; if(qp[i][j]!='.... 阅读全文
posted @ 2014-01-29 18:23 dengyaolong 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 放了假的效率明显就低起来,最近也一直在学习Ubuntu,所以一直等到今天才写。还是在用PC.真的十分郁闷这个LC-Display,其实从思路上是有很多。不过我最后把他当成8字,分成了七笔。一直WA,一开始是以为那n=0时候出问题。其实我觉得我把问题弄复杂了。还用了栈(因为懒惰,不想花多心机去琢磨用char 数组去读取。)思路就是:一个巨大的数组,一个ind指明所加载的数字开始列,之后暴力枚举。#include#includeusing namespace std;char t[150][1000];void set(int ind,int n,int s){int i;switch(n){ca 阅读全文
posted @ 2014-01-20 19:56 dengyaolong 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 今天开始ACM训练,选择了刘汝佳的《挑战编程》,暂时算是开始了。测评的网址:http://www.programming-challenges.com第一个题目是水题啦。3n+1。也不用多久就水出来了,完全按着意思写就好了。代码也很随意。其实我一开始就写对,知识提交方式写错了,楞是想不出来为什么,再交一次就过了。关键就是学会一点,不要乱假设,如果以为i,j有顺序,那么就明显A不出来(但是其实也不能直接排序,因为还要再输出。)#includeusing namespace std;int main(){int i,j,a,p,q;while(cin>>i>>j){p=i; 阅读全文
posted @ 2014-01-15 19:17 dengyaolong 阅读(129) 评论(0) 推荐(0) 编辑