自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

对酒当歌

ACM,C/C++,Java,Android开发 纸上得来终觉浅,绝知此事要躬行。

  • 博客(70)
  • 收藏
  • 关注

原创 简单的自定义View的实现

项目中要用到一个记录订单数量的控件,要求实现的效果是每次点击这个控件,里面的值就会自动加一,直至加大最大之后又重新从一开始加。之前一直是使用默认的TextView来实现的,但是考虑到项目中又多个地方要用到这个控件,所以决定把它自定义一下。                     (控件的截图)    1、以前的实现的方法int count = Integer.parseInt(am

2014-01-28 00:51:02 2348 1

原创 Android开发中遇到的错误

在Android开发中经常会遇到一些比较棘手的错误,所以特意写个博客总结一下。1、Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define L这个错误很有可能就是libs里面重复添加了某个包,删除其中一个包就可以解决了。详情持续总结中,未完待续

2013-11-05 11:03:05 1456

原创 [整理]学习Android的博客和网站

总结一下自己在学Android的过程中收藏的比较好的Android博客和网站。1、云在千峰2、柳志超博客3、Ryan's zone4、谦虚的天下5、Vogella6、每天记录点滴

2013-11-04 17:32:58 2598

原创 [教程]隐藏ActionBar中的MenuItem

有时候我们需要在不同的时候改变ActionBar中MenuItem的项数,或者隐藏某些MenuItem,百度上找了很久没什好资料,还是Google了一下,StackOverFlow上有大神解决了。先看看  StackOverFlow 上的问题:How do I hide a menu item in the actionbar?   我来总结一下:   (1

2013-09-27 17:42:48 17960

原创 [教程]解决真机调试时Eclipse DDMS上打不开/data目录的问题

一般真机调试时DDMS里面的File Explorer是不能打开/data 目录的,不过也很容易解决。1、首先手机要root。这个很简单,网上一大堆资料和软件。2、仅仅root之后还不行,下载一个ES 文件浏览器(或类似的软件),授予该软件root权限。3、然手在ES 里面找到/data 目录,修改它的属性。把它的读、写、执行的权限全部开放出来。然后就大功告成了。

2013-09-25 19:13:36 17776 1

原创 [教程]如何使用V7包中ActionBar(Eclipse版)

以前3.0以前的版本要使用ActionBar,必须使用国外大牛写的ActionBarSherlock这个开源项目。今年的Google/IO大会之后,Gooogle官方在android-support-v7包中添加了ActionBar,开始让2.1以后的版本支持ActionBar,从此以后曾经最火的Android开源项目ActionBarSherlock可以退出历史舞台了。要是用V7包中

2013-09-15 19:06:18 62846 7

原创 实现Android ListView 自动加载更多内容

研究了几个小时终于实现了Android ListView 自动加载的效果。    说说我是怎样实现的。分享给大家。         1、给ListView增加一个FooterView,调用addFooterView(footer) 这个放方法。    2、给ListView设置OnScrollListener监听器。    3、实现OnScollListener的onScrol

2013-08-31 22:12:33 16282 1

原创 Android 开发中需要注意到的小细节

自己在Android开发中总结的一些小知识点,分享给大家,欢迎大家补充。---------------------------------------------------分割线---------------------------------------------------------1、不能在子线程中更新UI主线程,必须通过Handler,AsyncTask或View的postD

2013-08-30 18:51:53 1569

原创 Android ListView A~Z快速索引(改进版)

上一篇文章虽然实现了ListView 快速索引的效果,但是有一个小小的Bug。这个Bug我在前面也说了,这篇文章就来解决这个Bug。我研究的时候发现只要showBg值为true,中间的字母就显示,而当showBg 的值为false的时候中间的字母就可以消失。只要SlideBar的状态为ACTION_DOWN和ACTION_MOVE 的时候showBg的值为true,而ACTION_UP

2013-08-26 14:46:41 5432

原创 实现ListView A~Z快速索引

ListView A~Z快速索引这种效果在通信录和城市列表中经常看到,方便用户查找,是一种增加用户体验的好方法。实现步骤:   1.自定义一个名叫SlideBar 的View。   2.在布局文件中加入这个自定义的View。   3. 在Activity中处理监听事件。接下来讲讲我是怎样实现的:先来看SlideBar这个类:package com.folyd

2013-08-25 18:38:13 17404 2

原创 Android ListView 图片异步加载和图片内存缓存

中间偷懒了,好久没有写博客了,今天写一下我研究了好几天的Android ListView 图片异步加载和图片内存缓存。嘿嘿。       开发Android应用经常需要处理图片的加载问题。因为图片一般都是存放在服务器端,需要联网去加载,而这又是一个比较耗时的过程,所以Android中都是通过开启一个异步线程去加载。为了增加用户体验,给用户省流量,一般把加载完的图片先缓存下来,下次加载的

2013-08-19 17:29:16 12928

原创 2013金山西山居创意游戏程序挑战赛——复赛(1) 非诚勿扰

非诚勿扰Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 13    Accepted Submission(s): 10Problem Description  作为2013年699万应届毕业生中的一员,由于

2013-05-24 21:09:33 2512

原创 2013金山西山居创意游戏程序挑战赛——初赛(3)生日猜猜猜

这道题是水题。#includeusing namespace std;int leapYear(int n){ if(((n % 4 == 0)&&(n % 100))||(n % 400 == 0)) return 1; return 0;}int gcd(int a,int b){ int r; while(

2013-05-18 20:36:31 2234 1

原创 用Java轻松A掉腾讯编程马拉松第三场1001题

原题:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=439Java确实很好很强大。只要Java基础比较好A这样的题目是简简单单的啦。这里需要注意的是Calendar 类的月份、日期小于10的都没有前缀0,跟题目要求不符。所以要用System.out.printf("%d/%02d/%02d",year

2013-03-23 23:12:34 1841

原创 (专题)用Java 轻松AC掉HDOJ大数题

大数题是最适合用Java 来做了。java.math.BigDecimal; java.math.BigInteger; 提供了很多很实用的方法,对处理大数据有很大的帮助。杭电上大数题目目前总结如下:1002 , 1042 ,1047,1063,1297,1316,1715,1753, 2054HDOJ1047 Integer InquiryInteger Inquiry

2013-03-06 14:47:56 3210

原创 HDOJ1042 N!(大数阶乘)

Java AC代码:用Java A这道题只花了1000MS !!!(题目限定在5000MS内)import java.util.Scanner;import java.math.BigInteger;public class Hdoj1042 { /** * @param args */ public static void main(String[] args) {

2013-03-04 22:42:24 2693

原创 HDOJ2054 A == B ?(又一道大数题目)

大数题目最适合用Java 来做,轻松简单,不要像C/C++那样设数组,还要考虑很多东西。刚开始是用a.equals(b),可是总是WA了。后来改成了a.compareTo(b)就AC掉了。这里要注意这两个方法的区别。官方API文档上说明得很清楚。如下图所示:import java.util.Scanner;import java.math.BigDecimal;;

2013-03-03 18:19:15 2571

原创 HDOJ1002 A + B Problem II

原谅我我这个时候才A掉这道经典的大数题目,因为用C++尝试了三四次一直A不掉,最后还是用Java  A掉的。杭电OJ上用Java A题时要注意到一点的是类名必须是Main ,要不然会编译错误。import java.util.Scanner;import java.math.BigInteger;public class Main{ public static void m

2013-03-02 20:01:37 4156

原创 HDOJ2068 RPG的错排

这道题也要用到错排的知识。   题目只要求他答对一半或以上就算过关,换句话说就是猜对了一半以上,其他的全部算是错排。所以就是求1~n/2每项的错排数再乘以组合数(函数c(n,m)求组合数)之和。  HDOJ2049这道题也是这个类型的//hdoj2068.cpp#includeusing namespace std;__int64 c(int n,int m){

2013-02-28 20:30:43 2348

原创 HDOJ2048 神、上帝以及老天爷(错排问题)

这道题要用到错排的知识,刚开始也不会。后来到网上找资料恶补了一下就A掉了。哈哈。错排的相关知识可以参考我的博客:http://blog.folyd.com/archives/39//hdoj2048.cpp#includeusing namespace std;int main(){ int t,n,i; double p; double a[21],b

2013-02-27 12:55:30 1052

转载 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2013-02-19 22:42:05 686

原创 UVA10161 Ant on a Chessboard

这道题目也是找到规律就不难了。基本思想:注意到中间斜对角线数是有规律的。输入n,再根据n的大小从对角线上的数开始来找。这里要注意此时对角线上的数横坐标的奇偶性,分两种情形讨论。//b.cpp#includeint main(){ int n,m,x,y,i; while(scanf("%d",&n),n){ m=1;

2013-02-01 22:01:47 1024

原创 UVA10025 The ? 1 ? 2 ? ... ? n = k problem

这道题刚开始抓破头脑也想不出怎么做。后来从0到10写了一遍就发现了一些规律。当且仅当n满足如下情况才是我们要求的n:(1):sum=1+2+3+.....+n>=k(2):(sum-k)%2==0(即sum与k的差为偶数。)(3):对于任何m第一条很显然,第二条略加证明如下:因为sum>k,所以一定有sum-x=k,即1+2+3+......+n-x=k,1+2+3

2013-01-26 23:53:52 943

原创 HDOJ1326 Box of Bricks

#include#includeusing namespace std;#define NUM 50 +5int main(){ int n,total,average,step,hgt[NUM]; int i,count=1; while(scanf("%d",&n),n){ memset(hgt,0,sizeof(hgt));

2013-01-25 21:17:40 775

转载 Java 枚举类型

public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样. */ public enum Se

2012-12-29 15:03:12 598

原创 TankWar 小游戏源码

游戏运行如下:TankClientpackage tank;import java.awt.*;import java.awt.event.*;import java.util.List;import java.util.ArrayList;/** * 这个类的作用是坦克游戏的主窗口 */public class TankClient extends

2012-12-24 22:55:25 1719

原创 HDOJ1318 Palindromes(镜像回文字符串)

我用的是比较笨的办法A的。应该可以用库函数strchr( )解决的,但我试了好几次都没成功。所以还是用这个比较保守安全。注意A,F,K,4.......之类的单个字符是回文字符串,而B,E,1,3......之类的单个字符是镜像回文字符串。镜像字符串还必须满足:字符串中所有的字符必须都是镜像字符。比如:E3,EI3,EII3都是镜像字符,而EF3,E33之类的不是镜像字符。即字符串

2012-12-24 13:15:20 1607

原创 HDOJ1215 七夕节

这道题要用到数论上的一些知识。根据上图就很容易理解下面的代码了。方法一:筛选法#includeusing namespace std;int main(){ int t,n,s,i; scanf("%d",&t); while(t--){ scanf("%d",&n); s=1; fo

2012-12-21 22:16:29 1506

原创 HDOJ2050 折线分割平面

运用数学公式:n条直线分的平面数是:n*(n+1)/2+1,每条折线可以看成是2条直线所以平面数为 2*n*(2*n+1)/2+1,又每条折线和每2条直线分的平面数相差2个故最后的平面数为 2*n*(2*n+1)/2+1-2*n#includeusing namespace std;int main(){ int t,n; __int64

2012-12-19 23:53:00 1006

转载 sscanf( )函数的用法

sscanf( )函数的用法SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数)sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。例子:1. 常见用法。char buf[512] ;sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将1

2012-12-18 22:58:57 926

原创 abs() 与fabs() 的区别

abs( )主要用于对求整数的绝对值,在“stdlib.h”(或)头文件里面。而fabs( )主要是求精度要求更高的double ,float型的绝对值,在头文件里。两者在只#include时都可以使用。

2012-12-17 23:31:26 66171 2

原创 HDOJ2098 分拆素数和

#includeusing namespace std;bool prime(int x){// prime 函数判断一个数是否为素数 for(int i=2;i*i<=x;i++)//只需要穷举到√n if(x%i==0) return false; return true; }int main(){

2012-12-15 23:04:44 1162

原创 HDOJ2099 整除的尾数

#includeusing namespace std;int main(){ int a,b,i; bool test; while(scanf("%d%d",&a,&b),a||b){ a=100*a; test=true; for(i=0;i<=99;i++) if((a+i

2012-12-15 22:14:53 1823

原创 HDOJ2084 数塔(经典的动态规划问题)

动态规划是一种用途很广的问题求解方法,它本身并不是一个特定的算法,而是一种思想,一种手段。动态规划可以说是一种牺牲空间换时间的思想。#includeusing namespace std;int a[101][101],dp[101][101];//数组a存放数塔每一项的值、数组dp[i][j]指从第(i,j)项出发时能得到的最大和(包括第(i,j)项本身的值

2012-12-15 00:13:35 2502

原创 不容易系列之(3)—— LELE的RPG难题 (递推)

这道题只要找出递推关系式就很容易了。设n个格子有f(n)种,分俩种情况:(1)第一个格子与第n-1个格子不同色,则第n个格子只有一种涂法,f(n)=f(n-1)*1;(2)第一个格子与第n-1个格子同色,即第n-1个格子只有一种涂法,则第n个格子有2中涂法,f(n)=2*1*f(n-2)  ;#includeusing namespace std;int ma

2012-12-14 22:35:51 780

原创 HDOJ2018 母牛的故事

这道题就是k阶斐波那契数列的小小变形,找到规律了就很简单。#includeusing namespace std;int main(){ int n,a[60],i; while(scanf("%d",&n),n){ a[0]=1; a[1]=1; a[2]=2; a[3]=3; for(i=4;i<=n;i++)

2012-12-13 22:15:54 720

转载 ACM算法分类

ACM 算法分类一.水题:poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094二.入门: 1.基本算法:  (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法.  (4)递推.  (5)

2012-12-13 13:35:27 913

原创 HDOJ2096 小明A+B(又是一道简单的数论题)

#includeusing namespace std;int main(){ int t,a,b; scanf("%d",&t); while(t--){ scanf("%d%d",&a,&b); printf("%d\n",(a%100+b%100)%100); } return 0; }

2012-12-12 23:23:55 1169

原创 HDOJ2058 The sum problem

这道题如果用枚举法肯定会超时,所以用等差数列求和公式才行。如下图:注意函数sqrt( ) 的参数只能是float ,double,long double型的,所以在里面要要把2*m 强制转换成double 型的。如下图:代码如下:#include#includeusing namespace std;int main(){

2012-12-12 14:20:36 1105

原创 HDOJ2057 A + B Again(十六进制数加法)

为什么用printf("%I64X",a+b);   不能输出十六进制负数?求大神解答一下。#includeusing namespace std;int main(){ signed __int64 a,b; while(scanf("%I64X%I64X",&a,&b)!=EOF){ if(a+b>=0) printf("

2012-12-11 22:32:38 869

空空如也

空空如也

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

TA关注的人

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