- 博客(229)
- 资源 (2)
- 收藏
- 关注
原创 JQuery实现图片的动态切换
好久没写博客了,一直搞web前端。在搞项目的时候使用了大量的JQuery。现在购物网站,使用JQuery来显示图片的轮换很常见。这个经常用来推销广告。这个实现很简单。主要是把css调好,用JQuery中animate来是实现自定义动画就可以了。以下代码仅供参考。注意:需要下载JQuery.js导入到项目中。 *,body{ margin: 0px;
2015-06-05 22:24:10
832
原创 C# 属性与字段
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Program { /* 主方法,函数的入口。
2015-03-26 18:07:57
874
原创 红黑树
package datastructure.tree;/** * 红黑树是基于平衡二叉搜索树的一种扩展,它是给据红黑结点来判断是否旋转并进行相应的处理 * 这样就省去了平衡因子的判断,简化了算法的难度。根据红黑结点以调整树的平衡因子,这种 方 * 法可以近似平衡。红黑树具有以下性质: * 1.每个结点要么是黑色,要么是红色。(源于算法导论第三版) * 2.根结点是黑色的。 *
2014-12-06 18:35:17
1056
原创 Huffman(赫夫曼树)
1.Huffman设计了一个贪心算法来构造最优前缀码,可以有效地压缩数据,按频率(大小)来编码。2.构造huffman树最普通的算法是每次选出两个最小的元素作为它的左右子树。依次从叶节点向上回溯,即可构造一棵huffman树。3.基于上面的思想,由于每次选出两个最小的元素,可以用到最小堆的性质在O(logn)时间内找最小的元素。(优先队列就是靠最小堆(最大堆)实现的)。1.普通算法pa
2014-11-30 19:41:00
861
原创 Java-字符串池
1.使用原因: 在平时开发中,会使用大量的String类型,如果使用一个字符串,就用new去生成,就会耗内存。sun公司为了解决这个问题就使用字符串池这一概念。2.字面量/直接量 所谓的直接量就是在定义的时候,等号右边不是另外一个变量,而是是一个实际存在有意义的量。比如; String s="a";//右边的是直接量 String s1=s;//右边的不是直接量3.规则:
2014-10-20 10:26:22
886
原创 Java 字体控制
Font类用于创建字体显示效果(字体名称,样式,大小) 字体名称(name):可以是系统当前所支持的任何字体,使用getFontList()函数获取系统使用的所有字体名称。字体风格(style) 可以是粗体(Font.BOLD),正常(Font.PLAIN),黑体(Font.ITALIC),斜粗体(Font.BOLD+Font.ITALIC)。字体大小(size)以磅进行度量.样例
2014-03-07 20:49:55
2533
原创 Java中StringTokenizer 类
StringTokenizer位于java.util包中,该类可以将字符串分解为组成它的符号词。构造函数:StringTokenizer(String str) 以字符串str为参数以(空格,换行符,制表符,回车符)结尾,建立一个StringTokenizer对象。StringTokenizer(String str,String delim)是以字符串str为参数,以delim为定
2014-03-07 20:12:34
944
原创 HDU-1133 Buy the Ticket (Catalan数)
公式:(m+n)!*(m-n+1)/(m+1)简单的大数运算。看似有除法,可以约去,大数相乘就行了。#include#include#includeusing namespace std ;int len;int M[305];void Mult(int *a,int k){ int Curlen=0,tmp; int carry=0; for(int i=0;i<
2014-03-03 21:53:17
824
原创 SOJ-1640 Zig-Zag
纯粹模拟。#include#include#includeusing namespace std ;int main(){ int n,x,y; int a[55][55]; while(scanf("%d",&n)&&n){ for(int i=0;i<n;i++) for(int j=0;j<n;j++){ scanf("%d",&a[i][j]);
2014-02-27 23:24:47
760
原创 CF-394D Physical Education and Buns
题意:在给定的序列中,改变某些数的值,使他们形成递增的等差数列,求当个数值改变的量尽可能小(k) 输出k,并且输出等差数列首项和公差。分析:若形成等差数列 即有:a[n]=a[0]+n*d;-->a[0]=a[n]-n*d;现在把每个值代进去,发现a[0]的值是不一样的。但是要形成等差数列,a[0]必定会一样。所以必须改变每个a[0]*.从中我们可以选出一个最大的,和一个最小的。发
2014-02-27 20:05:50
1032
原创 CF-394B Very Beautiful Number
枚举+模拟枚举个位,然后依次向前模拟相乘。#include#include#includeusing namespace std ;const int N=1000005;char ans[N];int p,x;bool get_ans(int k){ ans[p-1]=k+'0'; int carry=0,tmp; for(int i=p-1;i>0;i--){
2014-02-27 19:48:05
914
原创 CF-395A1 Skis (two pointer)
先对无序序列排序,一个正方向移动,一个从逆方向移动。时间复杂度竟为O(n)。#include#include#include#includeusing namespace std ;int a[1000005];int main(){ int n,q,l,r,ans; while(scanf("%d %d",&n,&q)!=EOF){ for(int i=0;i<n;
2014-02-26 21:41:50
714
原创 CF-374B
分析:寻找连续满足和为9的序列,给据组合原理,就可得到答案。#include#include#includeusing namespace std ;char st[100005];int main(){ __int64 ans,t; int d; while(scanf("%s",st)!=EOF){ int len=strlen(st); ans=1;
2013-12-31 19:16:47
713
原创 CF-379C
题意:在给定的序列中使得原来有相同的元素调整为全不相同,并且使得改变的序列和最少,还要满足每个人的要求。#include#include#include#includeusing namespace std ;struct node{ __int64 num; int id;}a[300005];__int64 b[300005];bool cmp(node a,node
2013-12-31 19:11:46
1100
1
原创 CF-375A Divisible by Seven
只要想到了就很容易了,由于7是个素数,它的余数0~6,那么我们只需要把1,6,8,9,前面不过多小数,其余数必定在(0~6),所以任意排序(1,6,8,9)满足加上(0~6)的余数能被7整除就行了,这就靠自己与凑了。#include#include#includeusing namespace std ;int cnt[10];const int num[]={1869,1896
2013-12-27 18:14:09
1003
原创 航班信息检索与查询(基数排序)
花了一周的时间搞数据结构课程设计,现在想起来也不咋样。 航班信息检索与查询系统源代码在”StdAfx.h”文件中:#if !defined(AFX_STDAFX_H__5D4863DA_370E_4BF2_ACA1_DEF9B55C465C__INCLUDED_)#define AFX_STDAFX_H__5D4863DA_370E_4BF2_ACA
2013-12-27 18:06:25
3400
原创 CF-373B
题意很简单,注意别爆内存。#include#include#includetypedef __int64 LL;using namespace std ;int main(){ LL w,m,k,n1,n; while(scanf("%I64d %I64d %I64d",&w,&m,&k)!=EOF){ n1=1; n=m; LL r=0,ans=0;
2013-12-14 20:22:15
706
原创 SOJ-4310 Sum of product
这题很容易想到用三层循环,但很明显超时,所以要优化。s1=a[n](a[n-1]*(a[n-2]+........a[1])+a[n-2]*(a[n-3]+......a[1])+.......a[2]*a[1])s2=a[n-2](a[n-2]*(a[n-3]+....a[1])+a[n-3]*(a[n-4]+.......a[1])+.......a[2]*a[1]).......
2013-12-03 19:27:06
803
原创 SOJ-4309 Sum of xor
由n^(n+1)=1,n为偶数即可分类求得。1^1=0,0^1=1,0^0=0,异或满足交换律。#include#include#includetypedef long long LL;using namespace std ;LL get_ans(LL n){ if(n&1) return (n-1)%4==0?1:0; return (n-2)%4==0?
2013-12-03 19:09:03
854
原创 HDU 4207 And SOJ 4198 Grade School Multiplication
模拟乘法,注意格式,在HDU,G++提交用__int64 在SOJ用long long型提交,这个把我坑了,格式也很坑。#include #includetypedef __int64 LL;using namespace std;int get_digit(LL n){ int k=0; if(n==0) return 1; while(n){
2013-12-03 14:52:09
888
原创 UVA-1330 LA 3029 City Game(最大子矩阵)
题意:在m*n的矩阵中,其中一些是空格子用(F)表示,其他的是阻碍物(R),找出一个全部由F组成面积最大的,输出面积乘以3.分析:用数组up[i][j]从第i行到第j行所能达到最大的长度,lt[i][j]表示第i行的第j列向右所能达到的长度,同理rt[i][j]。#include#include#includeusing namespace std ;const int M=10
2013-12-02 18:23:07
831
原创 HDU-1559最大子矩阵
方法:先将x个行压缩成一行,然后再求连续y个最大子序和。数据范围不是1000,真坑。#include#include#includetypedef __int64 LL;using namespace std ;const int N=2005;int a[N][N];LL b[N];LL Maxsum(int n,int k,LL *s){ LL ans=0; f
2013-12-02 15:37:30
634
原创 UVA-11549 Calculator Conundrum
题意:计算器只能显示n位的数字,但是一个数的继续平方,将会超出n位,如果一个数k继续平方,它将最多显示n位,并把后面的数字舍去,问这样下去显示最大的数是多小。分析:此题暗示了数会出现循环。所以可以模拟,当有循环出现就退出。#include#include#include#include#includetypedef long long LL;using namespace st
2013-12-01 19:13:42
736
原创 SOJ-Dollars
New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c coins. Write a program that will determine, for any given amount, in how many ways that amount may b
2013-12-01 19:00:48
656
原创 SOJ-最大整数
这题看起来好像是字典序排序,其实这样是错误的。正确的做法是:每个都比较一次,按两种情况枚举,比如:117 71. ->11771,或者,71117,哪一种结果更好就行了。#include#include#include#includeusing namespace std ;string num[8];bool cmp(string a,string b){ strin
2013-12-01 18:52:18
715
原创 SOJ-3281 hm与zx的故事系列3
这题我认为出的很好,有种看似容易,做起来却好纠结的。解题出发点:只要存在一个数它的位置靠前且比后面的一个数大,那么后面的这个数就没必要去比较了。还有一个技巧是:从后面循环,用栈来维护当前的递减序列,解决这个问题。不过如果是从前面开始,这题就不好做了。好好去体会。[cpp] view plaincopyprint?#include
2013-12-01 18:41:12
1165
转载 C++ string类
//不知原创是谁了,不过,要很好感谢他!C++string类常用函数string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太
2013-11-29 16:37:26
1110
1
转载 java中浮点型的格式输出(DecimalFormat)
转自:点击打开链接在输出数字时,有时需要给数字配上单位,有时需要数字具有一定的精度,也有时需要用科学计数法表示数字。关键技术剖析:v java.text.DecimalFormat类专门用于格式化数字。v 需要为DecimalFormat提供格式化模式Pattern。通过构造方法或者DecimalFormat的applyPattern方法设置模式。Pattern的类型为字符串。v 调用
2013-11-24 20:06:36
1210
原创 HDU-4788 Hard Disk Drive(java)
用java做就是水题了。import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.*;import java.io.*;public class Main { public static int get(char c) { if(c=='B') return 0
2013-11-24 19:52:40
729
原创 Codeforecs-362A Two Semiknights Meet(dfs)
题意:骑士只能在8*8的方格中走田字格,就像中国象棋中的“相"一样。在给出n个
2013-11-19 16:46:34
1016
原创 UVA-10037 Bridge 模拟+dfs
题意:有n个人要过桥,而他们手中只有一个电筒,而过桥的人数最多不超过两个,过桥必须有电筒,问:让所有人都过桥所花费最小的时间。分析:先没想到用dfs就可以做,还是分析问题不过全面,先分析是已经很明显的是:让一个花时间最小的人,:和所有过桥,时间可能会很小,但是有另一种方法:人前面花时间少的人过去,再人最小的过来,在从后面的人去两,让最小的过来,也可以行的通,以为自己没有找到正确的方法,想好久。
2013-11-19 15:56:08
1192
原创 UVA-10213 How many pieces of land
我没推出公式来,看别人的。维基百科上面的讲解。公式:C(n,4)+C(n,2)+1;果断用java写了。import java.math.BigInteger;import java.util.*;//import java.io.*;public class Main { //该题目是土地分割(圆分割)公式:C(n,4)+C(n,2)+1=(n^4-6n^3+23n^
2013-11-19 13:52:42
1200
原创 UVA-10168 Summation of Four Primes
题意:将一个数分解成四个素数相加分析:最少的素数为2,所以该数至少为8=2+2+2+2.当n>8分为奇偶:由哥德巴赫猜想猜想,一个合数可以分解成两个素数相加,所以此题就是有点技巧了,但n为奇数,先取2,3剩下的就是偶数了,就可以分解了,当n是偶数去先取2,2剩下的还是偶数,也可以分解了。看似很难,其实很水。#include#include#include#include#d
2013-11-19 13:44:25
858
原创 poj-1320 Street Number 佩尔方程
题意:求两个不等的整数(n,m)使得: 1+2+.....n=(n+1)+.....+m;分析:1+2+...n=n(n+1)/2=(n+1)+...m=(m-n)*(m+n+1)/2,即:(2m+1)^2-8n^2=1;设:x=2m+1,y=n,则:x^2-8y^2=1;这是典型的佩尔方程。已知x1=3,y1=1;有佩尔方程的迭代公式:x[n]=x[n-1]*x1+d*
2013-11-15 21:59:46
756
原创 poj-3233 Matrix Power Series(矩阵快速幂)
类似a^b的快速幂。很经典一道题。#include#include#includetypedef __int64 LL;using namespace std ;int n,M;LL k;struct matrax{ int m[35][35]; void unit(){ memset(m,0,sizeof(m)); for(int i=
2013-11-15 18:09:49
735
原创 数论基础训练(2)-解题报告
A-排列又一次倒在stl-next_permutation函数了,虽然以前用过,但没明白函数运行的原理,原来它是先按字典序排列的,在从后面一次排列,交换顺序的,而且它可以再你给定的一个排列的位置,可以从现在的序列接着从后排列,当排列完的时候,它能回到第一个序列(即为最少字典序),而这题正是这么来着,无语了,这个函数一定要记住它。#include#include#include#inc
2013-11-13 19:46:52
840
原创 poj-1845 Sumdiv (逆元+费马小定理+因子和)
分析:与hdu 1452很类似,就不详细解释了,详细解释;#include#include#includetypedef long long LL;using namespace std ;LL m[205][2];int cnt; void exgcd(LL a,LL b,LL &x,LL &y) { if(b==0){ x=1; y=0; return;
2013-11-13 14:28:05
854
原创 HDU-1452 Happy 2004(逆元+因子和+费马定理)
题意:S是对2004^x的因子的和,求S%29.分析:一个数的因子和公式:S=(p1^(x1+1)-1)/(p1-1)*(p2^(x2+1)-1)/(p2-1)*...(pn^(xn+1)-1)/(pn-1);其中pn,xn是一个m数分解成素数的指数幂的形式。由题意:2004^X=2^(2X+1)*3^(X+1)*167^(X+1);故有:S=2^(2X+1)*3^(X+1)*167^
2013-11-12 17:07:57
936
原创 Codeforces Round #211
A题:打印算盘所表示的数,就是分解数的位数,打印印算盘表示的数。#include#include#includeusing namespace std ;void show(int n){ if(n==0) puts("O-|-OOOO"); else if(n==1) puts("O-|O-OOO"); else if(n==2) puts("O-|OO-OO");
2013-11-11 21:13:44
638
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人