03 2012 档案

摘要:题意:倒水问题,现在有两个容积为a和b的水壶,对每个水壶可以进行4种操作,两个水壶之间相互倒水(一个水壶倒空或者一个水壶倒满为止),从水农头那里灌水(将水壶灌满为止),向外倒水(将水壶倒空为止),问对这两个水壶进行这样的一系列操作是否可以量出容积为c的水(两个杯子中有一个水壶中的水的容积恰好为c) 由于题目是"Special Judge",即答案不是唯一的,题目给出了三项假设: 1> 只有两个水壶 2> 对于每个输入,都有一个确定的输出 3> 0<c[a]<=c[b]和N<=c[b]<=1000 也就是水壶A肯定比水壶B小,水壶B肯 阅读全文
posted @ 2012-03-31 20:13 shijiwomen 阅读(770) 评论(0) 推荐(0)
摘要:注意乘法的模拟,位数的控制,还有是小数点的控制,最后是0的控制#include<iostream>#include<cstdio>#include<string.h>using namespace std;char str[10];int n, dot;int res[999999], a[999999], b[999999];int len, lena, lenb;void mul(){ int i,j; memset(res,0,sizeof(res)); for(i=1;i<=lena;i++)//这是大数相乘的精髓 { for(j=1;j< 阅读全文
posted @ 2012-03-31 14:42 shijiwomen 阅读(528) 评论(0) 推荐(0)
摘要:最近看题的时间多了,感觉回到了大一学C语言的时候,那时不会C,只能用笔算,只能自己想,但是数又很大完全用笔算是不可能的,只能找到数中的规律,找到公式的递推式才能解决,后来有了Dp的概念,那时就更加头疼,概念更加的抽象不再是简单的数学公式,变成了有意义的生活问题,这中间必须有一个装换,从生活问题到数学问题,从数学问题再到编程的状态方程,有了这个公式才有下一步的编程实现。同样对于搜索、二分图、并查集、博弈等等的问题,只是解决的问题多了总结出来的一套公认可行的算法,也就是一个固定公式,只是对于具体问题需要具体分析进行解决。 阅读全文
posted @ 2012-03-31 13:05 shijiwomen 阅读(137) 评论(0) 推荐(0)
摘要:注意层次,用一维数组代替二维数组计算,在视图上标出来,每一次都用循环计算一次#include <stdio.h>int main(void){ int i, j; __int64 a[36] = {1}; __int64 b[36] = {0}; for (i = 1; i < 36; i++) { for (j = 1; j < i; j++) a[j] += a[j-1]; b[i] = a[i] = a[i-1]; } for (j = 1; scanf("%d", &i), i+1; j++) ... 阅读全文
posted @ 2012-03-31 12:45 shijiwomen 阅读(197) 评论(0) 推荐(0)
摘要:#include <stdio.h>#include <string.h>#define MAX 1001const int INF= 0x7f7f7f7f;int t,s,d,tt[MAX][MAX],ss[MAX],dd[MAX],path[MAX],maxs;int min(int n,int m){ return n>m?m:n;}void init(){ int i; memset(path,INF,sizeof(path)); memset(tt,INF,sizeof(tt)); for(i=0;i<MAX;i++) { ss[i]... 阅读全文
posted @ 2012-03-31 11:46 shijiwomen 阅读(238) 评论(0) 推荐(0)
摘要:先算出基础数的解,再猜想,用数学归纳法证明,尝试。一般都是从后往前推,看如何从f(n)到f(n-1)及其之后的数 阅读全文
posted @ 2012-03-30 10:51 shijiwomen 阅读(140) 评论(0) 推荐(0)
摘要:看的杭电的ACM课件,分为简单模拟题,基本题(推论公式),技巧题(寻找周期规律)纯数学题注意精度的控制技巧题有个明显的标志就是数特别大数学题注意枚举少量小数获得规律 阅读全文
posted @ 2012-03-30 09:37 shijiwomen 阅读(358) 评论(0) 推荐(0)
摘要:本题要注意贪心的标准比较,要将除法改成乘法,注意细节,妙啊#include <stdio.h>#include <iostream>using namespace std;int main(){ int m,n,i,j,a[1000][2]; while(scanf("%d%d",&m,&n),m!=-1&&n!=-1) { for(i=0;i<n;i++) scanf("%d%d",&a[i][0],&a[i][1]); for(i=0;i<n-1;i++) { for 阅读全文
posted @ 2012-03-30 09:19 shijiwomen 阅读(200) 评论(0) 推荐(0)
摘要:纯数学题,用计算机的方法来解决注意精度的控制,使用double型变量,注意用1.0乘以数来确保精度//抛物线 yp=a*(x-b)^2+c;//直线 yz=k*x+s;//二重积分公式: f(x0,x1)(yp-yz)*dx;#include"iostream"using namespace std;double a,b,c,k,s;double fun(double x){ return 1.0*(a*x*x*x/3)-1.0*(a*b+k/2)*x*x+(a*b*b+c-s)*x;}int main(){ int t; double x1,y1,x2,y2,x3,y3; 阅读全文
posted @ 2012-03-30 08:40 shijiwomen 阅读(148) 评论(0) 推荐(0)
摘要:数学题有一个共性,就是不论是什么数都成立,而且都很有规律,可以根据这两个特性,枚举找到公式F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2)Print the word "yes" if 3 divide evenly into F(n).#include<stdio.h>int main(){ long n; while(scanf("%ld",&n) != EOF) if (n%4==2) printf("yes\n"); else printf("no\n&quo 阅读全文
posted @ 2012-03-30 08:27 shijiwomen 阅读(169) 评论(0) 推荐(0)
摘要:先找特殊数,枚举后发现是,以四为周期的,然后递推的公式乘n%4+4(保证乘过)次,以n%10为母体# include <stdio.h>int pp(int n, int m){ int i, mul = 1 ; for (i = 0 ; i < m ; i++) mul = (mul*n)%10 ; return mul % 10 ;}int main (){ int T, n ; scanf ("%d", &T) ; while (T--) { scanf ("%d", &n) ; printf ("%d\ 阅读全文
posted @ 2012-03-30 08:21 shijiwomen 阅读(243) 评论(0) 推荐(0)
摘要:大概理解了一下别人的代码#include "iostream"#include "cstdio"#include "cmath"#include "algorithm"using namespace std;const double PI=acos(-1.0);const int size=1005;const double eps=1e-8;struct Point{ int x, y;}p[size];int s[size], top;int zfcmp(int d){ if(abs(d) < eps) 阅读全文
posted @ 2012-03-29 21:42 shijiwomen 阅读(209) 评论(0) 推荐(0)
摘要:汉诺塔是一种生活中的游戏,从现实生活的角度考虑,逐层的递归,假定是最优,从而形象的得出递归方程f(n)=3*f(n-1)+2,f(1)=2;先将n-1个通过B柱放到C柱,再将第N个放到B柱,然后再将n-1个通过B柱放到A柱再将第N个放到C柱,最后将n-1个放到C柱,n-1个总共3次,第N个总过2次再将递归式进行递推得到公式pow(3,n)-1#include <math.h>#include <stdio.h>int main(void){ int n; while (scanf("%d", &n) != EOF) printf(" 阅读全文
posted @ 2012-03-29 21:02 shijiwomen 阅读(156) 评论(0) 推荐(0)
摘要:一看汉诺塔的次数,第一感觉是数学题,但一看答案是dp出乎意料,对dp有了更加全面的理解,主要是递归的规划,从复杂的递归回归的基础的递归#include <stdio.h>#include <math.h>__int64 ans[65];double _min,temp,f[65];int main(){ int i,j,n; f[0]=1; for(i=1;i<65;i++) f[i]=f[i-1]*2; ans[1]=1; for(i=2;i<65;i++) { _min=pow(2,64)-1; for(j=1;j<i;j++) { temp=2* 阅读全文
posted @ 2012-03-29 20:51 shijiwomen 阅读(234) 评论(0) 推荐(0)
摘要:基础二分图应用,注意理解#include <stdio.h>#include <string.h>int k,m,n,a[501][501];int visit[501];int linker[501];int dfs(int u){ int i; //visit[u]=1; for(i=1;i<=n;i++) { if(a[u][i]&&!visit[i]) { visit[i]=1; if(linker[i]==-1||dfs(linker[i])) { ... 阅读全文
posted @ 2012-03-29 17:59 shijiwomen 阅读(133) 评论(0) 推荐(0)
摘要:主要是欧拉回路的基础知识,用并查集加工处理注意欧拉回路和并查集的细节判断不能粘贴复制,一定要理解之后再敲一遍代码,否则浪费更多的时间#include <stdio.h>#include <string.h>int vis[30],in[30],out[30],father[30];int findx(int t){ if(father[t]!=t) father[t]=findx(father[t]); return father[t];}void merge(int v,int g){ int x,y; x=findx(v); y=findx(g); if(x!=y) 阅读全文
posted @ 2012-03-29 17:54 shijiwomen 阅读(319) 评论(0) 推荐(0)
摘要:代码不能粘贴复制,只有充分理解之后自己亲手敲的才是真正理解了,即使是参考他人的也有收获理解了tarjian算法让自己对算法有了好感,感觉算法真的好强,解决看起来不能解决的问题,那是一种超越#include <iostream>#include <cstdio>#include <vector>#include <stack>#include <algorithm>using namespace std;#define MAXVER 10010vector<int> g[MAXVER];stack<int> st 阅读全文
posted @ 2012-03-29 16:09 shijiwomen 阅读(363) 评论(0) 推荐(0)
摘要:本题主要是题意的理解,背景要看规则。模拟的时候一定要注意if判断的顺序,从整体到分支,提高速度#include <stdio.h>int main(){ int n,m,as,ds,i,sum; scanf("%d",&n); while(n--) { scanf("%d%d%d",&m,&as,&ds); sum=0; if(as>ds) { printf("Yes\n"); } else { if(m==0) { printf("No\n"); } else i 阅读全文
posted @ 2012-03-29 10:13 shijiwomen 阅读(330) 评论(0) 推荐(0)
摘要:dp主要是找到状态方程,大多运用双层循环,进行整体最优解的积累,像数塔,时间安排比较困难的就需要循环加条件判断比较,还有比较需要熟悉的是一般都是先从后往前递归出方程,在进行递推编码#include <stdio.h>int main(){ int i,j; int n,c,t; int vt,v1,v2; int len; int p[102]; double e,min,dp[102]={0}; while(scanf("%d",&len)!=EOF) { scanf("%d%d%d",&n,&c,&t); 阅读全文
posted @ 2012-03-28 22:31 shijiwomen 阅读(239) 评论(0) 推荐(0)
摘要:主要是剪枝:分为总体和枝节总体:sum%4!=0,max<sum/4枝节:在于dfs的参数设置和条件判断,动态的判断是否进行参考代码(参考牛人的):#include <stdio.h>#include <stdlib.h>#include <string.h>int a[25],vist[25],m,ave,flag;int cmp(const void *a,const void *b){ return (int *)b-(int *)a;}int dfs(int res,int sums,int cur){ int i; if(sums==ave) 阅读全文
posted @ 2012-03-28 21:14 shijiwomen 阅读(2919) 评论(0) 推荐(0)