上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: #include <iostream>#include <stdio.h>#include <cstring>using namespace std;struct node{ bool color; node *next[10]; node() { color=false; memset(next,NULL,sizeof(next)); }};node tre[1000050];//动态创建会超时int num;bool insert(node *root,char *str)//可行时反回true{ int data,i; bool flg1;//假设可行 阅读全文
posted @ 2011-09-19 20:23 qijinbiao1 阅读(411) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <string>#define mx 1001using namespace std;struct treenode{char data;//结点信息int num;//记录从根到此处,结点出现的次数bool color;//从根到此处是否是关键字treenode *next[26];treenode(char c)//初始化结点{data=c;num=1;color=false;for(int i=0;i<26;i++)next[i]=NULL;}};void Insert(treenode *root,s 阅读全文
posted @ 2011-09-19 20:22 qijinbiao1 阅读(536) 评论(0) 推荐(0) 编辑
摘要: #include <string>#include <iostream>#include <algorithm>using namespace std;struct treenode{bool color;int num;treenode *next[26];treenode(){color=false;memset(next,NULL,sizeof(next));}};struct ansers{int num;string strs;};treenode tri[200001];bool cmp(ansers a,ansers b){if(a.num&g 阅读全文
posted @ 2011-09-19 20:21 qijinbiao1 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一长为L的木板,将其分为等长的L段,从左到右编号为1~L.现将L段木板着色1. 输入"C A B C" 是将A到B这一段着成C这种颜色. 2. 输入"P A B" 是要你计算从A到B这一段有多少种不同的颜色. 我们的任务就是计算从A到B有多少种不同的颜色.(题中1<=L<=100000最多有T(30)种不同的颜色,有O(100000)个操作)解法是用线段树#include "iostream"#define Max 100000using namespace std;bool record[35];//用来记录 阅读全文
posted @ 2011-09-19 20:09 qijinbiao1 阅读(502) 评论(0) 推荐(1) 编辑
摘要: Accept:29Submit:107Time Limit:1000MSMemory Limit:65536KBDescription现在无线网络愈来愈普及,人们对网络质量的要求也愈来愈高。我们假设要在一条笔直的公路上安置无线网络接入点,以方便两旁的居民上网。设公路的一个终点为起点,那么居民的位置可以用他的住所到起点的距离表示,为了保证网络质量,居民点到离他最近的接入点的距离的最大值愈小愈好。现在轮到你出马来设计接入点的位置了。Input输入的第一行包含一个整数c,表示测试数据的组数。每组数据的第一行包含两个整数n和m,分别表示要设置n个接入点(1<=n<=1000000),沿公路 阅读全文
posted @ 2011-09-18 14:01 qijinbiao1 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 题意:现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量。#include<iostream>#include<queue>#define Max 201using namespace std;int cap[Max][Max];//记录原图边i到j的最大流量int min(int a,int b){return a<b? a:b;}int maxflow(int s,int t)//s是源点t是汇点也是节点的最大值,计算从s到t的最大流{int f=0;//最大流int 阅读全文
posted @ 2011-09-08 19:58 qijinbiao1 阅读(2385) 评论(0) 推荐(0) 编辑
摘要: /*二分法:对dollar二分从mx和sum处开始二分*/#include <iostream>#define Max 100000using namespace std;int n,m;int dollar[Max];bool judge(int x)//计算当mid为x时可以分成多少个"fajomonths"并与m比较。{int num=1;int sum=0;for (int i=0;i<n;i++){sum+=dollar[i];if(sum>x){sum=dollar[i];num++;}}if(num<=m)return true; 阅读全文
posted @ 2011-09-07 11:48 qijinbiao1 阅读(243) 评论(0) 推荐(0) 编辑
摘要: /*对rock间的距离进行二分*/#include<iostream>#include <algorithm>#define Max 50005using namespace std;int rock[Max];int l,n,m,mn;bool judge(int x)//判断可移除的rock是否大于m{int del=0;for (int i=1,j=0;i<=n+1;){if(rock[i]-rock[j]<=x){del++;i++;}else{j=i;i++;}}if(del>m)return true;//right=mid-1;elser 阅读全文
posted @ 2011-09-07 10:36 qijinbiao1 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n根线,现在要把这n根线切割成k根等长(设长为len)的线,问能切得的最长的len为多少,结果保留两位小数。#include <iostream>#define Max 10005using namespace std;double tlen[Max];int calc(double x,int n)//计算当以x长切割时,能切割成多少根线{int sum=0;for(int i=0;i<n;i++){sum+=int(tlen[i]/x);}return sum;}int main(){int n,k;doublemx,mid,sum,ans;while(cin& 阅读全文
posted @ 2011-09-06 21:27 qijinbiao1 阅读(2057) 评论(0) 推荐(2) 编辑
摘要: 声明:1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目。※最近更新:Poj斜率优化题目1180,2018,3709列表一:经典题目题号:容易:1018,1050,1083,1088,1125,1143,1157,1163,1178,1179,1189,1191,1208,1276,1322,1414,1456,1458,1609,1644,1664,1690,1699,1740,1742,1887,1926,1936,1952,1953,1958,1959,1962,1975,1989,2018,2029,2039,2063,2081,2082,2181,218 阅读全文
posted @ 2011-09-02 10:49 qijinbiao1 阅读(16301) 评论(0) 推荐(2) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页