- 博客(72)
- 收藏
- 关注
原创 HDU 1075 What Are You Talking About
#include #include #include using namespace std; int main(){ map dic; map::iterator pos; // 以数组方式插入 string a, b; cin >> a; while (true) { cin >> a; if (a == "END") b
2012-09-25 21:20:39 447
转载 C++ map的基本操作和使用
1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,00
2012-09-25 21:05:52 403
原创 HDU 1412 {A}+{B}
很简单的一题,被我想麻烦了,结果wa了几次。。。#include#include#define MAX 30000int cmp(const void *a,const void *b) // 从小到大排序 { return *(int *)a - *(int *)b;}int main(){ int i,N,M; int n[M
2012-09-25 20:23:36 1167
原创 HDU 1073 Online Judge
因为少考虑一种情况,wa了几次。。。要注意: 输入的字符串要从非空格开始。。。即要经过fun()函数处理#include#includechar tmp[5000],s[5000],str[5000];void input(){ memset(s,0,sizeof(s)); memset(str,0,sizeof(str)); memset(t
2012-09-24 21:52:58 448
原创 HDU 1076 An Easy Task
#includeint Leap(int y) // 返回值为 1:是闰年,0:不是闰年 { if((y%4==0&&y%100!=0)||(y%400==0)) return 1; else return 0;}int main(){ int t,s,N,Y; while(scanf("%d",&t)!=EOF) {
2012-09-24 20:50:26 515
原创 HDU 1015 Safecracker
本来是考察搜索的,结果五重循环竟然就AC了。。。#include#include #include int EQ(int x,int y,int z,int p,int q,int t){ if(x-y*y+z*z*z-p*p*p*p+q*q*q*q*q==t) return 1; else return 0; } int cmp(const void *a,c
2012-09-19 23:17:29 363
原创 HDU 1010 Tempter of the Bone
这是个典型的剪枝搜索问题。。。要注意输入字符的时候,一定要使用getchar(),或scanf(" %c",&c[i][j])#include#include #include int m,n,t;int dx,dy; // 记录起始位置 int Dx,Dy; // 记录门的位置 char c[10][10]; int flag;void DFS(i
2012-09-19 22:01:23 364
原创 HDU 1171 Big Event in HDU
0-1背包问题。。。#include#includeint v[50],m[100],a[250005];int main(){ int i,j,k,n,sum,t; while(scanf("%d",&n)!=EOF && n>=0) { sum=0; memset(a,0,sizeof(a));
2012-09-17 20:37:56 453
原创 HDU 1114 Piggy-Bank
这是个完全背包的问题,套模板吧!#include#define min(a,b) a#define inf 6000005int f[10005]; int main(){ int i,j,n,t,E,F,W; int p[505],w[505]; while(scanf("%d",&t)!=EOF) {
2012-09-14 22:21:45 388
原创 HDU 1087 Super Jumping! Jumping! Jumping!
#include#include int main(){ int i,j,a[1000],n,temp,s[1000],max; while(scanf("%d",&n)!=EOF && n) { for(i=0;i max=0; memset(s,0,sizeof(s)); for(
2012-09-14 19:17:00 434
原创 HDU 1085 Holding Bin-Laden Captive
这是用找规律的方法,和母函数比起来,果然很强大,ac才是王道。。。#includeint main(){ int i,j,k,n1,n2,n5; while(scanf("%d%d%d",&n1,&n2,&n5)!=EOF,n1+n2+n5) { if(n1==0)printf("1\n"); else if(n1+n2
2012-09-12 21:54:52 398
转载 动态规划算法的优化技巧
动态规划算法的优化技巧福州第三中学 毛子青 [关键词] 动态规划、 时间复杂度、优化、状态 [摘要]动态规划是信息学竞赛中一种常用的程序设计方法,本文着重讨论了运用动态规划思想解题时时间效率的优化。全文分为四个部分,首先讨论了动态规划时间效率优化的可行性和必要性,接着给出了动态规划时间复杂度的决定因素,然后分别阐述了对各个决定因素的优化方法,最后总结全文。 [正
2012-09-12 21:00:00 3532
原创 HDU 1080 || ZOJ 1027 Human Gene Functions
分三种情况考虑: 1、s1不是 -,s2是 - dp[i][0] = dp[i - 1][0] + m[x[i]][4]; 2、s1是 -,s2不是 - dp[0][j] = dp[0][j - 1] + m[4][y[j]];
2012-09-12 20:42:10 483
原创 HDU 1058 Humble Numbers
实在是无语了,为什么在zoj已经ac的代码在hdu是wa啊!看过之后,发现这里的n和cnt只能用int,或许hdu对数据的格式控制的比较严格吧!#include #include #define MAX 2000000000long long a[5842];int cmp(const void * x, const void *y){ if( *(int*)
2012-09-11 22:05:34 348
原创 HDU 1051 A New Growth Industry
相同的代码,在zoj能ac,在hdu就runtime error 。。。检查之后才发现,zoj中的数组开的太大了。。。#include#includeint main(){ int day,i,j,K,n; int D[22],a[22][22],b[22][22]; scanf("%d",&n); while(n--){
2012-09-11 21:39:50 668
原创 HDU 1051 Wooden Sticks
这个应该是贪心吧。。。#include#include struct stick{ int l,w,mark; }s[5001]; int cmp(const void *a,const void *b){ struct stick *c = (struct stick *)a; struct stick *d = (struct stick *)b;
2012-09-11 21:25:13 439
原创 ZOJ 2744 Palindromes
#include#include#include#define Maxn 5010char s[Maxn];int len,num; void check(int l,int r) //中心扩展法 { if(s[l]==s[r]){ num++; while(--l>=0&&++r if(s[l]==s[r]) nu
2012-09-10 22:12:20 378
原创 ZOJ 2795 Ambiguous permutations
#includeint a[100005]; int main(){ int i,n,flag; while(scanf("%d",&n)!=EOF&&n) { for(i=1;i flag=0; for(i=1;i if(a[a[i]]!=i){ flag=1; break; } } if(flag==0)
2012-09-10 21:38:01 403
原创 ZOJ 2773 Triangular Sums
#includeint main(){ int i,j,m,n,sum; while(scanf("%d",&n)!=EOF) { i=1; while(n--){ sum=0; scanf("%d",&m); for(j=1;j sum+=(j*(j+1)*(j+2))/2; } printf("%d %d %d\
2012-09-10 21:37:25 437
原创 ZOJ 1847 The Trip
#include#include int main(){ int n,m1,m2,i; double a[1005],sum,ave,ave1,ave2,ex1,ex2; while(scanf("%d",&n),n){ sum=0; ex1=0; ex2=0; for(i=0;i scanf("%lf",&a[i]);
2012-09-10 21:14:02 515
原创 ZOJ 2830 Champion of the Swordsmanship
很明显一场淘汰掉两个,因此一共有 N/2 场。#includeint main(){ int n; while(scanf("%d",&n)!=EOF && n) { printf("%d\n",n/2); }}
2012-09-09 16:27:46 747
原创 ZOJ 2850 Beautiful Meadow
一定要看清楚条件,因为没看清条件,wa了好多次啊!#includeint main(){ int i,j,m,n,f,flag; int a[15][15]; while(scanf("%d%d",&n,&m)!=EOF,n,m) { f=0; flag=0; for(i=0;i for(j=0;j scanf("%d",&a[
2012-09-09 16:20:39 487
原创 ZOJ 3023 Equal Total Scores
#include#define MAX 0x7fffffffint main(){ int i,j,t1,t2,s1,s2,f,s,m,n,flag,min; int a[1000],b[1000]; while(scanf("%d%d",&n,&m)!=EOF) { if(m==0&&n==0) break; s1=0; s2=0; flag=0; t1=
2012-09-09 15:55:05 478
原创 ZOJ 3174 Square Root Day
#includeint main(){ int i,j,n,sum,a,b; int y[20]; while(scanf("%d",&n)!=EOF) { while(n--){ scanf("%d%d",&a,&b); sum=0; for(i=1;i y[i]=i*i; } for(i=a;i
2012-09-09 15:32:48 495
原创 ZOJ 3191 Strange Clock
#includeint main(){ int i,d; int c[12]={90,60,30,0,330,300,270,240,210,180,150,120}; while(scanf("%d",&d)!=EOF && d!=-1) { for(i=0;i if(d==c[i]) printf("Exactly %d o'clock\n",i);
2012-09-09 15:23:06 464
原创 ZOJ 3210 A Stack or A Queue
#includeint main(){ int i,j,n,m,f1,f2; int a[1000],b[1000]; while(scanf("%d",&n)!=EOF) { while(n--){ scanf("%d",&m); for(i=0;i for(i=0;i f1=0;f2=0; for(i=0,j=m-1;i
2012-09-09 14:54:57 404
原创 ZOJ 3121 Arne Saknussemm
很水的一个字符串处理问题,但是仍然PE了几次。。。一定要按照题目中给出的步骤倒着处理。。。#include#includechar s[1000][1010],t[1010];int main(){ int i,j,k,l,n; while(scanf("%d",&n)!=EOF) { for(i=0;i memset(t,0,sizeof(t
2012-09-09 14:42:25 426
原创 ZOJ 1295 Reverse Text
很简单的字符串逆序问题。。。#include #includeint main(){ int i,n,l; char s[100]; while(scanf("%d",&n)!=EOF) { getchar(); while(n--){ gets(s); l=strlen(s); for(i=l-1;i>=0;i--){
2012-09-08 16:12:08 375
原创 HDU 1243 URLs
网址分类问题,根据题目要求分类就行了。。。#include#include #define N 100 int main(){ int n,l,i,j,k,c,t,f1,f2,P2,P1; char s[N],pro[N],por[N],hos[N],pat[N]; while(scanf("%d",&n)!=EOF) { for(i=1;i
2012-09-08 15:45:25 649
原创 ZOJ 1095 Humble Numbers
参考别人的,就是输出第n个丑数。。。要先打表,丑数:2、3、5、7的乘积#include #define MAX 2000000000long long a[5842];int cmp(const void * x, const void *y){ if( *(int*)x > *(int*)y ) return 1; else return -1;
2012-09-08 13:19:35 472
转载 ACM中使用JAVA的介绍
ACM中使用JAVA的介绍 Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge (2) 对于熟悉C/C++的程序员来说,Java 并不难学,找本书,一两周业余时间就可以搞定了。当然,这里只是指一般编程,想熟悉所有的Java库还是需要些时间的。事实上,J
2012-09-07 22:03:04 1348 1
转载 杭电ACM大数JAVA提交实例
1002A + B Problem II Problem DescriptionI have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.InputThe first line of the input contains
2012-09-07 21:53:58 4655
原创 ZOJ 1352 Number Base Conversion
才发现用java编写大数运算问题,真的是好简单啊!下面的代码是copy别人的,以后要注意java的编写了。。。第一次用java 提交,提交时要注意:必须使用public class Main。。。import java.util.Scanner;import java.math.BigInteger;public class Main { public static
2012-09-07 21:50:46 640
转载 JAVA的大数处理
在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数:1.valueOf(parament);将参数转换为制定的类型 比如 in
2012-09-07 21:23:04 536
原创 HDU 1237 简单计算器
#include#include #include #include char s[210],op[200],a[200];int get(char *a,int l){ int t=1,i,m=0; for(i=l-1;i>=0;i--){ m+=(a[i]-'0')*t; t*=10; } return m; } int ma
2012-09-07 21:15:57 388
原创 HDU 1235 统计同成绩学生人数
#includeint main(){ int i,n,sum,num,s[1000]; while(scanf("%d",&n)!=EOF && n) { for(i=0;i scanf("%d",&num); sum=0; for(i=0;i if(s[i]==num) sum++; } printf("%d\n",s
2012-09-07 19:35:24 436
原创 HDU 1200 || ZOJ 2208 To and Fro
#include#includeint main(){ int i,j,len,c,row; char s[200],str[200][200]; while(scanf("%d",&c)!=EOF && c){ scanf("%s",s); len=strlen(s); row=len/c;
2012-09-07 19:34:27 608
原创 HDU 1335 || ZOJ 1334 Basically Speaking
#include#define MAX 0x7FFFFFFFint x,sum,len,m,n,i,j;int a[100]; char s[100];void TenTo(char* s, int sum,int n){ i=0; while(sum) { a[i]=sum%n; sum/=n;
2012-09-06 22:37:21 690
原创 HDU 1337 || ZOJ 1350 The Drunk Jailer
// 注意格式的强制类型转换#include#includeint main(){ int m,n; scanf("%d",&n); while(n--) { scanf("%d",&m); printf("%d\n",(int)sqrt(m)); } return 0;
2012-09-06 22:35:01 398
原创 HDU 1339 || ZOJ 1382 A Simple Task
同样的代码在zoj中ac了,但是hdu就不行。。。只好写了两个。。。ZOJ:#include int main() { int i,d,num[10],m[10][2],o,p,mid; scanf("%d",&d); for(i=0;i<d;i++) scanf("%d",&num[i]);
2012-09-06 22:29:47 912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人