poj
文章平均质量分 51
leo_cuiyiming
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 1062 dijkra 最短路
写这道题的时候我的图论只学了一点点,这一题明显是dijiesike原创 2014-07-31 13:37:43 · 775 阅读 · 0 评论 -
poj 2442 优先队列 复杂度用了两个break 降到了m*n*log(n)
#include#include#includeusing namespace std;int a[5000],b[5000],a1[3000],c;priority_queue q;int main(){ int t,i,j,m,n,temp; cin>>t; while(t--) { i=0; cin>>m>>n; //w原创 2014-08-01 16:47:40 · 522 阅读 · 0 评论 -
poj 2524
#includeusing namespace std;int fa[50010];int bing(int x){ if(fa[x]!=x) fa[x]=bing(fa[x]); return fa[x];}int main(){ int n,m,a,b,i,c,count=1; while(cin>>n>>m&&n&&m) { for(i=1;i<=n;i++)原创 2014-07-28 17:04:30 · 353 阅读 · 0 评论 -
poj 3258 二分
这道题关键在于判断函数的书写,我开始haobu原创 2014-07-24 16:45:46 · 457 阅读 · 0 评论 -
poj 1058 dp
#include#includeusing namespace std;__int64 min(__int64 a,__int64 b,__int64 c,__int64 d) //两个{ a=a>b?b:a; a=a>c?c:a; a=a>d?d:a; return a;}int main(){ int a,b,c,d,n,i; __int64 f[6000];原创 2014-07-23 11:19:48 · 606 阅读 · 0 评论 -
hdu 1087 实际上就是求最大值递增子列
#include#includeusing namespace std;int num[1010];int dp[1010];int DP(int i){ int j,max=0; if(dp[i]==0) { for(j=0;j<i;j++) { if(num[j]<num[i]) { if(max<DP(j)) max=DP(j);原创 2014-07-22 21:45:22 · 340 阅读 · 0 评论 -
hdu 2048 带帽问题,错位排列
#includeusing namespace std;int jc(int a){ int i,sum=1; for(i=1;i<=a;i++) sum*=i; return sum;}int main(){ int n,i,j,k,sum; double m; cin>>n; for(i=0;i<n;i++) { sum=0; cin>>k; for原创 2014-07-22 19:38:09 · 536 阅读 · 0 评论 -
hdu 2675 二分 解方程
#include#include#includeusing namespace std;const double e=2.718281828459;int main(){ double c,b,y,left,right,mid; while(scanf("%lf",&y)!=EOF) { b=e*y/log(e*y); if(fabs(y-1)<0.00000001)原创 2014-07-24 13:23:17 · 646 阅读 · 0 评论 -
poj 2289 二分
#include #include#includeusing namespace std;const double e=3.14159265;int main(){ int t,i; double r,R,h,v,r0,left,right,mid,v0; cin>>t; for(i=0;i<t;i++) { cin>>r>>R>>h>>v; left=0,ri原创 2014-07-24 00:22:27 · 380 阅读 · 0 评论 -
poj 1048
#include#include#includeusing namespace std;int main(){ char a[200],b[200],c[200]; map map1; int len,i; map1['A']='V'; map1['B']='W'; map1['C']='X'; map1['D']='Y'; map1['E']='Z'; map1['F原创 2014-07-22 12:55:35 · 570 阅读 · 0 评论 -
poj 试题分类
以下转自http://blog.myspace.cn/e/400733239.htm水题:3299,2159,2739,1083,2262,1503,3006,2255,3094初级:一、基本算法: (1)枚举 (1753,2965) (2)贪心(1328,2109,2586) (3)递归和分治法 (4转载 2014-08-07 13:52:26 · 1251 阅读 · 0 评论 -
POJ 1860 SPFA
这题我看到网上很多人都用原创 2014-07-31 20:11:37 · 382 阅读 · 0 评论 -
poj 4706
#include#includeusing namespace std;int main(){ int ans=0,i,j,k; char c; for(i=3;i<=10;i++) { for(j=0;j<i;j++) { c='a'+(j+ans)%26; cout<<c; for(k=0;k<i-j-2;k++) cout<<" ";原创 2014-07-22 11:28:42 · 305 阅读 · 0 评论 -
poj 2389 高精度乘法基本问题
#include#includeusing namespace std;int main(){ char a[1000],b[1000]; int a1[1000]={0},b1[1000]={0},c[1000]={0}; int i,j,len,len1,len2,l; scanf("%s %s",a,b); len1=strlen(a); len2=strlen(b);原创 2014-07-16 11:28:07 · 483 阅读 · 0 评论 -
poj 1125 floyd
#includeusing namespace std;int dist[110][110],n;int MAX,I;void inti(){ int i,j; for(i=0;i<=n;i++) for(j=0;j<=n;j++) dist[i][j]=1010; for(i=0;i<=n;i++) dist[i][i]=0;}int max(int i){原创 2014-07-30 16:55:20 · 346 阅读 · 0 评论 -
poj 1094
#include#include#includeusing namespace std;int main(){ int in[100],in2[50],map[50][50]; char re[50]; int n,m,i,j,k,a,b,u,temp,temp1,flag; char str[5]; while(cin>>n>>m&&n&&m) { queue q;原创 2014-07-29 19:58:15 · 364 阅读 · 0 评论 -
poj 2367
#includeusing namespace std;struct EDGE{ int v,next;}e[200];int head[200],k,intdegree[200],queue[200],a[200];void insert(int u,int v){ e[k].v=v; e[k].next=head[u]; head[u]=k++;}int tuop原创 2014-07-28 20:31:25 · 410 阅读 · 0 评论 -
高精度减法
#include#include#includeusing namespace std;bool cmp(char a[],char b[]){ if(strlen(a)>strlen(b)) return true; if(strlen(a)<strlen(b)) return false; if(strlen(a)==strlen(b)) { if(strcmp原创 2014-07-16 17:40:43 · 422 阅读 · 0 评论 -
hdu 1753 高精度加法,带小数点
#include#include#includeusing namespace std;int main(){ int j,len1,len2,temp1,temp2,l3,l4,count; char a[500],b[500]; int a1[500],b1[500],a2[500],b2[500],c1[500],c2[500],swap[500]; wh原创 2014-07-16 11:24:53 · 515 阅读 · 0 评论 -
poj 1363 火车进站问题,栈的基本应用
#include#includeusing namespace std;int main(){ int n,b,j,count; int a[1005]; stackS; //记得清空 cin>>n; while(n!=0) { cin>>b; while(b!=0) { count=1; a[0]=b;原创 2014-07-17 12:02:04 · 721 阅读 · 0 评论 -
poj 1088 动态规划
#include#includeusing namespace std;int a[100][100],b[100][100];int r,c;int DP(int i,int j){ int ans=0; if(b[i][j]==0) { if(i>0) { if(a[i][j]>a[i-1][j]) ans=ans>DP(i-1,j)?ans:DP(i原创 2014-07-21 21:23:19 · 371 阅读 · 0 评论 -
cf 371c 二分
#include //二分真是他妈的快,我将right开到1000000000000都没事 #include#includeusing namespace std;__int64 b,s,c,nb,ns,nc,pb,ps,pc;__int64 r;bool judge(__int64 n) //溢出了,应该用__int64{ __int64 p原创 2014-07-23 17:49:45 · 595 阅读 · 0 评论 -
poj 1458
#include#includeusing namespace std;int dp[1000][1000];char a[1000],b[1000];int DP(int i,int j){ if(dp[i][j]==-1) { if(a[i]==b[j]) { if(i==0||j==0) dp[i][j]=1; else dp[i][j]原创 2014-07-22 16:25:42 · 342 阅读 · 0 评论 -
poj 1416 dfs 回溯
#include#includeusing namespace std;long int path,p,temp,aim; // path记录对应的一种划分,temp记录最大值个数 个人觉得temp的clong int sum,result;int he(char s[],int i) //前i位的和{ int sum1=0,j; for(j=0;j<i;j++)原创 2014-07-18 20:13:36 · 367 阅读 · 0 评论 -
poj 1852 蚂蚁问题,很经典,实际上就是找最靠近边缘和最靠近中间,靠近边缘要注意小数的处理
#include#includeint a[1000010];using namespace std;int main(){ int n,len,num,i,j,t,temp1,temp2; cin>>n; for(i=0;i<n;i++) { cin>>len>>num; for(j=0;j<num;j++) { cin>>a[原创 2014-07-17 12:02:46 · 716 阅读 · 0 评论 -
hdu 1894 字典序问题,先排序,在剪枝
#include#include#includeusing namespace std;string str[50010];bool cmp(string x,string y){ int len_x,len_y,i,count=0; len_x=x.length(); len_y=y.length(); if(len_x>len_y) return false; if原创 2014-07-17 11:53:26 · 442 阅读 · 0 评论 -
hdu 1250 高精度加法,四个数字的裴波拉契
#include#includeusing namespace std;int main(){ int a[3000],b[3000],c[3000],d[3000],e[3000],n,i,j,max,temp; while(scanf("%d",&n)!=EOF) { if(n==1||n==2||n==3||n==4) cout<<"1"<<endl; els原创 2014-07-16 14:28:48 · 512 阅读 · 0 评论 -
合并果子的三种不同做法
最近小学期有道题是合并果子,这可以算是我校原创 2014-09-11 15:24:02 · 1229 阅读 · 0 评论 -
poj 1064 二分
#includeusing namespace std;int n,k;__int64 b[10010];int f(__int64 a) //用int 64 就过了,题目中说的是100千米,超过int{ int i,sum=0; if(a==0) sum=k; //这一步分母不能为0,这样处理原创 2014-07-23 17:50:56 · 351 阅读 · 0 评论 -
poj 2533 动态规划 最长子序列
#include#includeusing namespace std;int num[1010],d[1010];int DP(int i){ int max=0,j; if(d[i]==0) { for( j=0;j<i;j++) { if(num[j]<num[i]) { if(max<DP(j)) max=DP(j); } }原创 2014-07-22 10:07:47 · 451 阅读 · 0 评论 -
poj 1426 dfs问题 01背包 创新性解法
事先声明,这个方法不是我原创 2014-07-17 19:26:09 · 395 阅读 · 0 评论 -
poj 3750 报数问题,很经典,用队列很方便
#include#include#includeusing namespace std;int main(){ queue str; string a[70]; string str1; int i,j,n,c,d; char e; cin>>n; cin.ignore(1000,'\n'); for(i=0;i<n;i++) scanf("%s",a[原创 2014-07-17 11:57:23 · 409 阅读 · 0 评论 -
sgu112 高精度大整数乘方
这题本想水过,但是在写乘法子函数时,原创 2014-07-16 20:36:21 · 713 阅读 · 0 评论 -
poj 1611 并查集 按数目合并
并查集有两种优化方法,路径压缩和an原创 2014-08-08 13:31:15 · 403 阅读 · 0 评论 -
poj 3687 两种写法,差别好大,估计没人按第二种写,就当练习邻接表了
#include#include#includeusing namespace std;int main(){ int map[250][250],re[250],in[250]; int n,m,k,i,j,a,b,temp,u; cin>>n; for(i=0;i<n;i++) { memset(map,0,sizeof(map)); memset(in,0,siz原创 2014-07-29 14:59:48 · 441 阅读 · 0 评论 -
poj 2413 高精度加法,裴波拉契,判断范围
妈蛋,我是怀着悲痛的心情来写这篇文章的,这篇文章我花了一个xia原创 2014-07-16 17:19:39 · 545 阅读 · 0 评论 -
hdu 3714 三分
#include#includeusing namespace std;int a[10010],b[10010],c[10010],n; double max(double x){ double max1,sum; int i; max1=a[0]*x*x+b[0]*x+c[0]; for(i=1;i<n;i++) { sum=a[i]*x*x+b[i]*x+c[i]原创 2014-07-24 21:00:17 · 379 阅读 · 0 评论 -
hdu 2141
这道题很好,先是将两个数组合并成一个,然后再二分原创 2014-07-24 19:20:21 · 465 阅读 · 0 评论 -
poj 1503 高精度加法,累加
这是一道关于大整数累加的问题,我用了一个zihans原创 2014-07-16 11:15:19 · 687 阅读 · 0 评论
分享