2011年7月15日

sicily 1363. Semi-prime H-numbers

摘要: #include <iostream> //线性筛+树状数组#include<stdio.h>using namespace std;#define Max 1000010int n,table[Max],vis[Max],prime[80000];int lowbit(int x){ return x&(-x);}void modify(int x){ if(vis[x]==0) { vis[x]=1; while(x<Max) { table[x]++; x+=lowbit(x); } }}int getsum(int x){ int s=0; whi 阅读全文

posted @ 2011-07-15 15:59 sysu_mjc 阅读(166) 评论(0) 推荐(0) 编辑

sicily 1158. Pick numbers

摘要: // 题意: M*N矩阵,从[1,1]出发,只能向下或向右走,求出到[M,N]的最小非负长度#include<iostream>using namespace std;int m,n,table[12][12],res;void dfs(int sum,int x,int y){ sum+=table[x][y]; if(x==m&&y==n&&sum>0) { if(res==-1) res=sum; else res=min(res,sum); } if(x<m) d... 阅读全文

posted @ 2011-07-15 14:45 sysu_mjc 阅读(236) 评论(0) 推荐(0) 编辑

Bellman-Ford算法之一

摘要: //Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,//若图中出现权值为负的边,Dijkstra算法就会失效,//Bellman-Ford算法能在更普遍的情况下(存在负权边)解决单源点最短路径问题//负权回路,即权值之和小于0 的环路//图的任意一条最短路径既不能包含负权回路,也不会包含正权回路,因此它最多包含|v|-1条边。//Bellman-Ford算法可以大致分为三个部分//第一,初始化所有点。每一个点保存一个值,表示从原点到达这个点的距离,//将原点的值设为0,其它的点的值设为无穷大(表示不可达)。//第二,进行循环,循环下标为从1到n-1(n等于图中点 阅读全文

posted @ 2011-07-15 14:35 sysu_mjc 阅读(172) 评论(0) 推荐(0) 编辑

导航