自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 POJ 1679 次小生成树

#include#include#include#include#define M 105#define Max 10000000using namespace std;int n,m;int map[M][M];int max_val[M][

2011-07-27 09:28:19 452

原创 POJ 2186

大致思路:算出有多少个强连通分量,再进行缩点处理再判断出度为零的缩点是否唯一#include#include#include#include#include#includeusing namespace std;#define M 10005

2011-07-26 21:58:19 488

原创 POJ 1011 木棒问题

•问题描述:             乔治拿来一组等长的棍子,将它们随机地裁断(截断后的小段称为木棒),使得每一节木棒的长度都不超过50个长度单位。然后他又想把这些木棒恢复到为裁截前的状态,但忘记了棍子的初始长度。请你设计一个程序,帮助乔治计算棍子的可能最小长度。每一节木棒的长度

2011-07-25 20:28:11 1471

原创 深搜 IDA* 算法 POJ2286

文章引用:http://blog.csdn.net/urecvbnkuhBH_54245df/article/details/5856756# 写得真是太好了 而IDA*算法具有如下的特点:(综合了A*算法的人工智能性和回溯法对空间的消耗较少的优点,在一些规模很大的搜索问题中会起

2011-07-24 16:15:29 953

原创 POJ 2287

把双方的马从大到小排序 然后从前往后比较 老田赢了呢 就继续往下比 老田比不过呢 就拉老田最慢的马跟这个比 这里好理解还有比平的情况 比平了还是从后面找一匹马 找的时候 要是老田后面的马可以赢对应位置的马 就接着往前比 然后找到的那匹就跟前面这匹马比不能理解的话看下面这组测试数据

2011-07-23 16:56:36 695

原创 POJ 1204

http://poj.org/problem?id=1204#include#include#define M 1010char ss[M][M];char str[M*2];int L,C,W;int tot;int len[M];int

2011-07-22 22:44:14 654

原创 POJ 1195 二维树状数组

#include#include#define M 1030int c[M][M];int LB[M];int n;void Update(int x,int y,int k){ int i,j; x++; y++; wh

2011-07-21 19:23:38 445

原创 POJ 3630

问给你几个号码中是否有某个号码是其它号码的前缀开始用动态Trie树,果断TLE静态加排序就过了 这是参照别人的代码写的静态Trie树#include#include#includeusing namespace std;struct node{ int next[10];}tre

2011-07-20 09:53:23 458

原创 HDU 1251 基础的Trie树(字典树)

#include#include#includetypedef struct node{ int cnt; node *next[26];}T,*Tree;Tree root;void Insert(char a[]){ int i,j; Tree p=root,NewNode;

2011-07-19 23:11:19 397

原创 POJ 2528

#include#include#includeusing namespace std;int x[10100],y[10100];//bool v[10010];int h[20020];int a[10000010];int num;

2011-07-19 20:47:06 364

原创 POJ3468

#include#define MIN -1000000001struct node{ int l,r; long long sum,lnc;//用__int64WA了无数次 }T[400010];void Init(int l,int r,int id){ T[id].l=l;

2011-07-19 20:36:01 403

原创 POJ 2362 经典的深搜

#include#includeusing namespace std;int aver,n;int a[30];bool v[30];bool cmp(int a,int b){ return a>b; }int dfs(int tot,int sum,int k){ if(t

2011-07-17 22:54:53 566

原创 pku2689 素数查找

#include#include#include#includeusing namespace std;__int64 prime[50000],next=0;bool v[50000],res[10000100];void getprime()//先找50000以内的素数{ _

2011-07-17 19:10:59 457

原创 ZJNU1869

这里贴两篇自己写的代码#includeint map[60][60],n,ans;int f(){ int min[60],v[60]; int i,max,j,k; for(i=0;i<n;i++) {min[i]=1000000;v[i]=0;} min[0]

2011-07-17 19:09:47 407

原创 深搜 字典序

#includeint a[5],sign[5]={0};void dfs(int t){ int i; if(t==4) { for(i=1;i printf("%d ",a[i]);  printf("\n");  return; } for(i=1;i {  if(!

2011-07-17 19:07:54 498

原创 ZJNU 1903

我的代码:dis:两人财产的差值,p:物品个数total:两人所得财产的总值ans:当前两人所得财产总和的最大值#include #include #include #include #include using namespace std; __int64 a[30

2011-07-17 19:06:54 465

原创 ZJNU 1888

#include#include__int64 a[30];int num=0,cnt=0,n,k;int prim(__int64 a){int i;if(a==1) return 0;else if(a==2) return 1;else for(i=2;iif(a%i==0

2011-07-17 19:05:35 468

原创 ZJNU1909

#include#include#include#includeusing namespace std;char a[30],b[30];bool mark[30];int n;int judge(){int i,j,num;char c;for(i=0;i{c=a[i];for

2011-07-17 19:04:13 410

原创 POJ 3842 大数判断素数 + 位运算优化判重

#include#include#include#include#include#define M 100000.0using namespace std;int len,num=0;int list[10000],p=0;char str[10];bool v[10];int

2011-07-17 19:03:28 924

原创 HDU 1069

题目要求是 , 把给定尺寸的长方体 ( 数量不限 ) 叠在一起 , 能叠加的条件是 , 上面一个长方体的长宽比下面一个长方体的长宽短都短 , 或者一边相等 , 另一边较短 , 长方体可以任意面朝下摆放 , 求这些长方体能够叠成的最高的高度 . 不难看出 , 这题和最长递减子序列很

2011-07-17 19:01:50 408

原创 ZOJ 2972

#include#include#includeusing namespace std;int dp[120][120]//dp[i][j]记录跑过第i段路剩余j能量所需的最小时间; int n,v;int mmin(int a,int b){return a}void ff()

2011-07-17 19:00:24 432

原创 POJ 3126

题目的意思很简单,给你两个素数n,m,求经过几步变化n变到m。每次只改变一位,所得数必须也是素数,并且每个素数只能出现一次 #include#include#includeusing namespace std;bool v[10000];int a[10000],b[1000]

2011-07-17 17:58:52 543

原创 poj 3278 简单的广搜入门

这道题是一道最基础的广度优先搜索题,需要剪枝,否则超时,剪枝时剪掉已经计算过的数,否则会式计算次数成幂指数增长。广度搜索最基本的思想就是遍历每一层,之后遍历下一层,因此剪枝十分重要。我开始考虑用数组来存放到达y所需步数a[y],后发现用队列实现更好,由于队列先入先出的特点,所以使

2011-07-17 17:58:04 689

原创 POJ 3414

大致题意:给你两个容量分别是a,b的瓶子,问你能不能通过以下三种操作倒出c体积的水1.  将瓶子灌满 2.  将瓶子里的水全部倒掉3.  a瓶子往b瓶子倒水(a瓶空了或b瓶满了)      b瓶子往a瓶子倒水(b瓶空了或a瓶满了)#include#include#include#

2011-07-17 17:56:58 500

原创 POJ 1426

大致题意是: 告诉你一个数n,让你求出一个只由0,1组成的n的倍数,答案可能有多种,输出一种即可简单的宽搜题 #include#include#includeusing namespace std;bool v[300];struct node { int x; int ys;

2011-07-17 17:55:58 423

原创 hdu 2544 最短路 (dijkstra/floyd/spfa)

dijksta:#include#include#include#define MAX 10000000using namespace std;int map[110][110],dist[110];bool v[110];int main(){    int n,m,i,j,k

2011-07-17 17:54:27 425

原创 ZOJ 2833

#includeint fa[100001],cnt[100001];void init(int n){ int i; for(i=1;i {  fa[i]=i;  cnt[i]=1; }}int getf(int x){ if(fa[x]==x) return x; fa[x]

2011-07-17 17:51:47 637

原创 hdu 1558 并查集 加 判断线段相交

#include#include#include#define eps 1e-8using namespace std;int fa[1010],num[1010];struct node{    double x1,y1;    double x2,y2;}seg[1010];

2011-07-17 17:50:56 476

原创 以时间为种子生成随机数

#include#include#includeint main(){ int a[26]; int n,i,c,cas,j; freopen("C:\\Users\\y460\\Desktop\\stdin2.txt","w",stdout); srand(time(0));

2011-07-17 17:47:25 1140

原创 HDU1133 大数乘小数 大数除小数

#include#include#define N 100int a[N+1];void das(int x){    int i,j,ad;        a[N]=1;    for(i=1;i<=x;i++)    {

2011-07-17 17:40:30 1005

原创 HDU 1010 经典深搜+奇偶剪枝

/*奇偶剪枝的重要思想是:如果从当前位置还需要偶数(奇数)的时间才能到达目标位置,而当前剩余的时间数为奇数(偶数),那么即刻退出不再沿着纵深方向继续搜索。略微思考便知:奇偶剪枝的效果是立竿见影的!*/ #include#include#includechar map[10][10

2011-07-17 17:28:04 1084 1

原创 HDU 3400 Line belt 三分

题意:就是给你两条线段AB , CD ,一个人在AB上跑速度p, 在CD上跑q,在其他地方跑速度是r问你从A到D最少的时间是多少#include#include#include#define eps 1e-6#define INF 9999999999.0int P, Q, R;struct point{ double x, y;}A, B,

2011-07-16 21:37:48 481

原创 HDU 2899 求导+二分

http://acm.hdu.edu.cn/showproblem.php?pid=2899指定区间不满足单调性   先求导一阶导数=0的时候就是极大值或者极小值,先要把导数求取来,这时候的变量代进函数,就可以求出极值。具体问题还要看时间情况,是最大值还是最小值 #include#include#include#define eps 1e-7double c

2011-07-16 17:33:28 451

原创 HDU 2199 简单的二分

#include#include#includedouble Y;double solve(double x){return   6*pow(x,7.0)+8*pow(x,6.0)+7*pow(x,3.0)+5*x*x-Y*x;}int main(){ int T; double

2011-07-16 16:43:31 804

米勒测试判断素数 网上找的

用米勒测试判断素数 为神马描述要多于20个字符呢 真的没什么可描述的啊

2011-08-07

空空如也

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

TA关注的人

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