HDOJ
ajsdfkjasdfasdif
这个作者很懒,什么都没留下…
展开
-
HDU 1022 栈
#include"stdio.h"#include"string.h"#include"stack"#include"iostream"#include"vector"using namespace std;char a[5000],b[5000];int main(){ int n; while(scanf("%d",&n)==1) {原创 2016-09-09 17:03:21 · 229 阅读 · 0 评论 -
HDOJ1004
include#include#include"algorithm"using namespace std;int main(){ int N; while(scanf("%d",&N)!=EOF&&N) { string a[1000]; string t,top; int k[1000]={0}; int i,j,s,max=-1,num=1; for(i=原创 2016-05-17 21:26:17 · 323 阅读 · 0 评论 -
HDOJ1176数塔
#include"iostream"#include"algorithm"#include"vector"#include"map"#include"string"#include"deque"#include"queue"#include"stack"#include"cstdio"#include"ctype.h"#include"cmath"#include"set"原创 2016-05-18 08:17:13 · 336 阅读 · 0 评论 -
HDOJ1247 trie
#include"iostream"#include"algorithm"#include"vector"#include"map"#include"string"#include"deque"#include"queue"#include"stack"#include"cstdio"#include"ctype.h"#include"cmath"#include"set"原创 2016-05-18 12:36:16 · 211 阅读 · 0 评论 -
HDOJ1091
#include"iostream"using namespace std;int main(){ int a,b; while(cin>>a>>b&&(a||b)) cout<<a+b<<endl; return 0;}原创 2016-05-18 15:20:24 · 240 阅读 · 0 评论 -
HDOJ4500
#include"iostream"using namespace std;int main(){ //freopen("a.txt","r",stdin); int r,c; while(cin>>r>>c&&(r||c)) { int a[25][25]; int b[25][25]={0}; int i,j; for(i=1;i<=r;i++) for(j原创 2016-05-18 16:30:53 · 172 阅读 · 0 评论 -
分治 求最大连续和。
#include"iostream"#include"stdio.h"using namespace std;const int inf=9999999;const int mxn=10000+10;struct MS{ int begin; int end; int sum; MS(int b,int e,int s) { begin=b; end=e; su原创 2016-05-22 12:18:02 · 310 阅读 · 0 评论 -
HDoj2114 大数
import java.util.Scanner;import java.math.BigDecimal;import java.math.BigInteger;public class Main //公式 f(n)=(1+2+3+...+n)^2 自己去试几组就行了 { public static void main(String[]原创 2016-05-23 12:13:10 · 302 阅读 · 0 评论 -
HDOJ1010 STILL DFS
#include#includeusing namespace std;int di,dj;bool escape;int a,b,t;char str[9][9];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};void bfs(int si,int sj,int cnt){ if(sia||sj>b)return ; i原创 2016-05-23 20:49:10 · 209 阅读 · 0 评论 -
HDOJ3763 二分查找
#include"iostream"#include"map" //二分查找#include"vector"#include"set"#include"list"#include"algorithm"using namespace std;const int maxn=100000+10;int a[maxn];int n,m;int find(int t){ int原创 2016-05-24 15:37:00 · 368 阅读 · 0 评论 -
HDOJ2028 递推 求最小公倍数
#include"iostream"using namespace std; int gcd(int a,int b) { return b==0?a:gcd(b,a%b); }int main(){ int n; while(cin>>n) { int i; int a[100]; for(i=1;i<=n;i++) cin>>a[i]; int dp原创 2016-05-25 23:13:17 · 771 阅读 · 2 评论 -
HDOJ2095 异或运算
0^n=n; //和任何数异或都为na^b=b^a=1(a!=b);//满足交换律 不同的数异或等于1a^a=0;//相同的数异或等于0#include"iostream"using namespace std;int main(){ int n; while(scanf("%d",&n)==1&&n) { int a; int result=0; for(int原创 2016-05-26 13:15:24 · 279 阅读 · 0 评论 -
HDOJ1301 prim
#include"iostream"#include"algorithm"using namespace std;const int maxn=100;const int inf=999999999;int c[maxn][maxn];int dist[maxn];int s[maxn];int n;int prim(){ memset(s,0,sizeof(s));原创 2016-05-26 20:53:40 · 228 阅读 · 0 评论 -
HDOJ1213并查集
#include"iostream"using namespace std;const int maxn=1000+20;int pre[maxn];void init(int n){ for(int i=0;i<=n;i++) pre[i]=i;}int find(int x){ return pre[x]!=x?pre[x]=find(pre[x]):x;}void原创 2016-05-28 16:27:53 · 260 阅读 · 0 评论 -
HDOH 1879 Kruskal算法
G原创 2016-07-31 15:24:05 · 222 阅读 · 0 评论 -
HDOJ 1863 Kruskal算法
#include"iostream"#include"algorithm"using namespace std;const int maxn=5010;int pre[maxn];int rk[maxn];void init(int n){ for(int i=1;i<=n;i++) { rk[i]=0; pre[i]=i;原创 2016-07-31 15:25:16 · 255 阅读 · 0 评论 -
HDOJ1097 幂取模
#include"iostream"#include"algorithm"#include"sstream"#include"cstdio"#include"cstring"#include"cctype" #include"functional"using namespace std;int pow_mod(int a,int n,int m){ if(n==0) retur原创 2016-05-17 20:27:30 · 237 阅读 · 0 评论 -
zoj1049
#include"iostream"#include"stdio.h"using namespace std;const double pi=3.1415926;int main(){ int n; cin>>n; int k=0; while(n--) { ++k; double x,y; cin>>x>>y; int n=(pi*(x*x+y*y))/100原创 2016-05-11 09:31:35 · 224 阅读 · 0 评论 -
HDOJ 2091 空心三角形
#include"iostream"using namespace std;int main(){ char c; int n; int first = 1; /* * 5-1=4 * * 5-2=3 * * * **********原创 2016-11-17 22:02:40 · 998 阅读 · 0 评论 -
HDOJ 5726 线段树 + map
这个map我也是醉了。这个 主要是 那个 不同gcd值得区间数预处理难弄。a[1...i]=a[1...i-1]+a[i...i]; 当前区间:不同的gcd值相对应的区间数=之前区间:不同的gcd值相对应的区间数+gcd(num[i],之前区间的某个gcd);#include"iostream"#include"vector"#include"set"#include"qu原创 2016-08-14 07:12:55 · 682 阅读 · 0 评论 -
hdoj2602 01背包
#include"iostream"#include"algorithm"using namespace std;const int volume=20000;const int num=2000;int main(){ //freopen("a.txt","r",stdin); int T,N,V; int i,v; int f[volume]; int c[num];原创 2016-05-01 13:14:45 · 281 阅读 · 0 评论 -
HDOJ2191(多重背包)
#include"iostream"using namespace std;const int v=105;const int num=105;int main(){ //freopen("a.txt","r",stdin); int t; cin>>t; while(t--) { int f[v]; int c[num]; int w[num]; int b[原创 2016-05-03 18:05:21 · 479 阅读 · 0 评论 -
HDOJ1203
#include"iostream"#include"stdio.h"const int num=10005;const int mum=10005;using namespace std;int main(){ //freopen("a.txt","r",stdin); int n,m; //钱,几所学校 体积,几个物品 int c[num]; //记录物品体积原创 2016-05-01 15:48:38 · 317 阅读 · 0 评论 -
hdoj1114
#include"iostream"#include"algorithm"using namespace std;const int num=510;const int fuck=10000;const int dj=10000000000;int main(){ //freopen("a.txt","r",stdin); int T,v1,v2,V,v,i,n; int f[原创 2016-05-01 15:07:17 · 304 阅读 · 0 评论 -
hdoj1003
#include"iostream"using namespace std;const int maxnum=200000;int main(){ //freopen("a.txt","r",stdin); int t,k=0,fuck; cin>>t; fuck=t; while(t--) { ++k; int n; cin>>n; int i; int原创 2016-04-30 11:17:48 · 199 阅读 · 0 评论 -
hdoj1007
#include"iostream"#include"algorithm"#include"stdio.h"using namespace std;const int vexnum=110000;struct point{ double x,y;};bool cmpx(point &a,point&b){ return a.x<b.x;}bool cmpy(point &原创 2016-04-30 12:28:27 · 470 阅读 · 0 评论 -
hdoj1863
#include"iostream"using namespace std;const int vex=150;const int maxl=999999;int prim(int n,int *low,int c[][vex]){ int i,j,s[vex]={0},len=0,pos; pos=1; s[1]=1; for(i=2;i<=n;i++) low[i]=c[原创 2016-04-30 17:13:29 · 213 阅读 · 0 评论 -
hdoj2066在做一次
#include"iostream"using namespace std;const int vex=2000;const int maxl=999999;void dijkstra(int n,int v,int *dist,int c[][vex]){ int i,j; int s[vex]; for(i=1;i<=n;i++) { dist[i]=c[v][i];原创 2016-05-01 08:36:24 · 327 阅读 · 0 评论 -
HDOJ1020
#include"iostream"#include"string"#include"list"using namespace std;const int num=10020;int main(){ //freopen("a.txt","r",stdin); int n; cin>>n; char zifu[num]; //记录字符 int jishu[num];原创 2016-05-01 10:59:12 · 228 阅读 · 0 评论 -
hdoj1002
#include"iostream"#include"stdio.h"#include"string.h"using namespace std;const int num=1005;void big(char *str1,char *str2,char *str3){ int i; int a[num],b[num],c[num]; memset(a,0,sizeof(a))原创 2016-05-01 16:57:19 · 225 阅读 · 0 评论 -
HDOJ1874
#include"iostream"#include"stdio.h"#include"algorithm"#include"deque"#include"queue"#include"functional"const int num=20;const int inf=999999;using namespace std;void dijkstra(int n,int v,int原创 2016-05-05 13:53:24 · 207 阅读 · 0 评论 -
HDOJ 1029 STL MAP
#include"iostream"#include"map"using namespace std;int main(){ //freopen("a.txt","r",stdin); int i,n; while(cin>>n) { mapa; while(n--) { cin>>i; //输入一个数 a[i]++;原创 2016-05-02 16:12:34 · 303 阅读 · 0 评论 -
HDOJ1429胜利大逃亡(续) 状态压缩+BFS
借鉴了这位大神的代码理解的:有一种力量叫乐观,状态压缩就是用二进制表示状态在搜索中有很多种状态,手中有0把钥匙,有1把钥匙,有2把钥匙......题目中是A-J一共有10把钥匙,有钥匙和没有钥匙一共两种情况一共十把所以有pow(2,10)种情况也就是1024。1024转为二进制就是1 00000 00000。开成数组正好是0-1023 对应的二进制就是0-1111111原创 2016-08-01 17:21:02 · 286 阅读 · 0 评论 -
HDOJ1016素数环 DFS
#include #include #include #include #include #include #include"queue"#include"set"#include"vector"using namespace std;int v[100];bool isprime(int n){ if(!v[n]) return true;原创 2016-08-02 12:39:59 · 227 阅读 · 0 评论 -
HDOJ1263
#include"iostream"#include"string"#include"map"using namespace std;int main(){ //freopen("a.txt","r",stdin); int N,M,c,i; string a,b; cin>>N; while(N--) { map>fruit; cin>>M; while(M-转载 2016-05-02 19:36:12 · 191 阅读 · 0 评论 -
HDOJ1009
#include"iostream"#include"algorithm"using namespace std;struct job{ double j; double c; friend bool operator<(job&a,job&b) { return a.j/a.c>b.j/b.c; }};int main(){ //freopen("a.txt","r原创 2016-05-26 20:10:03 · 459 阅读 · 0 评论 -
HDOJ1045 DFS
判断每个点,在判断每个点的时候先判断每个点的四个方向上是否有墙有的话就换个方向判断若这个方向上没有墙并且没有城堡 这个位置可以建立城堡若这个方向上没有墙并且有城堡 这个位置不可以建立城#include"iostream"#include"stdio.h"using namespace std;char map[20][20];int dir[4][2]={1,0,-1,原创 2016-05-26 13:41:57 · 433 阅读 · 0 评论 -
2544hdoj
#include"iostream"using namespace std;const int vexnum=105;const int maxl=999999;void dijkstra(int n,int v,int *dist,int c[][vexnum]){ int s[vexnum]; int i,j; for(i=1;i<=n;i++) { dist[i]=c[原创 2016-04-29 17:59:42 · 230 阅读 · 0 评论 -
HDOJ 2612 bfs
#include"queue"#include"stdio.h"#include"iostream"using namespace std;const int N=205;const int inf=99999;struct node{ int x,y,step;};inline int min(int a,int b){ return a>b?b:a;}c转载 2016-05-25 16:31:55 · 325 阅读 · 0 评论 -
HDOJ2018大数
import java.util.Scanner;import java.math.BigInteger;import java.math.BigDecimal;public class Main{ static public void main(String[]args) { Scanner cin=new Scanner(System.in); BigDecimal[] a原创 2016-05-17 19:29:17 · 257 阅读 · 0 评论