九度教程
zz91
浙大cs硕士在读
展开
-
题目61:N的阶乘
//http://ac.jobdu.com/problem.php?cid=1040&pid=60#include #include struct bigInteger //高精度整数结构体{ int digit[1000]; //四位数一个单元保存数值 int size;原创 2013-02-01 10:51:00 · 391 阅读 · 0 评论 -
题目71:还是畅通工程
浙大计算机研究生复试上机考试-2006年http://acm.hdu.edu.cn/showproblem.php?pid=1233http://ac.jobdu.com/problem.php?cid=1040&pid=70使用克鲁斯卡尔_并查集 求最小生成树#include #include //使用sort(start,end,cmp)函数usin原创 2013-02-01 17:14:16 · 314 阅读 · 0 评论 -
题目96:拦截导弹
http://ac.jobdu.com/problem.php?cid=1040&pid=95最长递增子序列: f(1)=1; f(i) = max { 1 , f(j)+1 | aj 最长递增不减序列: f(1)=1; f(i) =原创 2013-03-09 16:26:10 · 564 阅读 · 0 评论 -
九度&1195:最长&最短文本
http://ac.jobdu.com/problem.php?pid=1195#include #include #include #include using namespace std;struct E { char a[1005]; int len;}buf[1000];int main(){// freopen("D:\\1.txt","r原创 2013-03-08 14:19:05 · 825 阅读 · 0 评论 -
题目94:不容易系列之一
http://ac.jobdu.com/problem.php?cid=1040&pid=93错排公式:f(n) = (n-1) * f(n-1) + (n-1) * f(n-2) #include long long a[21];int main(){ a[1]=0; a[2]=1; int i,n; for (i=3;i<=20;i++) /原创 2013-03-09 15:31:06 · 437 阅读 · 0 评论 -
题目93:N阶楼梯上楼问题
http://ac.jobdu.com/problem.php?cid=1040&pid=92基础动态规划题思考最后一步,要么上一阶,要么上两阶,所以f(n)=f(n-1)+f(n-2)#include long long a[90];int main(){ int n,i; while (scanf("%d",&n)!=EOF) { a[1]=1;原创 2013-03-09 15:19:03 · 668 阅读 · 0 评论 -
九度题目1097:取中值
http://ac.jobdu.com/problem.php?pid=10971、不用真的拿出来,合并,再找中间下标的值2、注意下标计算,相对起始坐标。而并不一定是相对1开始的#include int a[1000005];int b[1000005];int main(){freopen("D:\\1.txt","r",stdin); int t,n,m,i,j;原创 2013-03-10 17:10:40 · 644 阅读 · 0 评论 -
题目72:Freckles
//http://ac.jobdu.com/problem.php?cid=1040&pid=711、给出的是坐标,所以默认第一个是点1,第二个是点2,保存在list[]中2、n个点,得到m=n*(n-1)/2 条边,计算得到m条边的距离3、保存m条边,a=1,b=2,则cost就是ab间距离#include #include #include using namespace原创 2013-02-01 17:14:57 · 251 阅读 · 0 评论 -
九度题目36:二叉搜索树(判断是否是相同二叉搜索树)
http://ac.jobdu.com/problem.php?cid=1040&pid=352010浙江大学计算机机试试题1、两个二叉树相同:插入建树,先序遍历+中序遍历=一个字符串 比较两次得到的字符串,若相同才是相同二叉搜索树 2、两次遍历时,通过指针操作相应字符串,指针每次重定向到相应字符串的首地址原创 2013-03-09 21:45:34 · 602 阅读 · 0 评论 -
题目88:汉诺塔III
http://ac.jobdu.com/problem.php?cid=1040&pid=87思路:若要移动k个盘子到第三根柱子,需要3步 1、将上面k-1个移动到第三根柱子,再把最大那个移动到第二根(第二根当前为空) 2、将第三根上的k-1个移回第一根,将第二根上那个盘子移到第三根,此时最大的盘子就位 3、将再将k-1个盘子移到第三根 综上:F原创 2013-02-16 09:19:22 · 386 阅读 · 0 评论 -
题目86:胜利大逃亡
//http://ac.jobdu.com/problem.php?cid=1040&pid=85#include #include using namespace std;struct N //状态结构体{ int x,y,z; //位置坐标 int t; //所需时间};bool mark[51][51][51]; /原创 2013-02-05 23:02:34 · 341 阅读 · 0 评论 -
题目66:畅通工程
//http://ac.jobdu.com/problem.php?cid=1040&pid=65分析:初始时,每个节点都是孤立的连通分量,当读入边时,将边的两个顶点所在集合合并,表示这两个集合的所有节点已经连通。最后存在多少棵树,就是多少个连通分量#include int Tree[1000]; //tree[i]表示结点i的双亲原创 2013-02-01 13:41:41 · 326 阅读 · 0 评论 -
题目69:How Many Tables
//http://ac.jobdu.com/problem.php?cid=1040&pid=68#include int Tree[1001];int findRoot(int x){ if (Tree[x]==-1) { return x; } else { int tmp=findRoot(Tree[x]); Tree[x]=tmp; return tmp;原创 2013-02-01 15:00:06 · 277 阅读 · 0 评论 -
题目67:More is better
//http://ac.jobdu.com/problem.php?cid=1040&pid=66#include #define N 10000001int Tree[N];int findRoot(int x){ if (Tree[x]==-1) { return x; } else { int tmp=findRoot(Tree[x]); Tree[x]=tmp原创 2013-02-01 14:23:21 · 303 阅读 · 0 评论 -
题目68:连通图
//http://ac.jobdu.com/problem.php?cid=1040&pid=67#include int Tree[1001];int findRoot(int x){ if (Tree[x]==-1) { return x; } else { int tmp=findRoot(Tree[x]); Tree[x]=tmp; return tmp;原创 2013-02-01 14:47:38 · 242 阅读 · 0 评论 -
题目77:最短路径问题
//http://ac.jobdu.com/problem.php?cid=1040&pid=76#include #include using namespace std;struct E //邻接表中链表元素结构体(边){ int next; //直接相邻节点 int c; //该边权值 int cost;};原创 2013-02-05 18:45:57 · 349 阅读 · 0 评论 -
题目81:确定比赛名次
//http://ac.jobdu.com/problem.php?cid=1040&pid=80#include #include #include using namespace std;vector edge[501];queue Q;bool mark[501]; //标记已排序过的结点,因为多种情况下要保证顺序输出int main(){ int n原创 2013-02-05 21:37:57 · 392 阅读 · 0 评论 -
题目83:百鸡问题
//http://ac.jobdu.com/problem.php?cid=1040&pid=82#include int main(){ int n,x,y,z; while (scanf("%d",&n)!=EOF) { for (x=0;x<=100;x++) { for (y=0;y<=100-x;y++) { z=100-x原创 2013-02-05 21:56:13 · 301 阅读 · 0 评论 -
题目84:abc
//http://ac.jobdu.com/problem.php?cid=1040&pid=83#include int func(int a,int b,int c,int &x){ x=a*100+b*10+c; return x;}int main(){ int a,b,c; int x,y; //x=abc原创 2013-02-05 22:15:07 · 256 阅读 · 0 评论 -
题目105:单词替换
http://ac.jobdu.com/problem.php?cid=1040&pid=1041、str1.find(str2,pos); 若循环查找,pos+str2.size(),查找完,跳过当前这个位置再查找2、str1.replace(pos1,num,str2); 替换位置,替换个数,目标字符串3、出现TE,因为循环查找处问题#include #include #i原创 2013-03-18 19:44:40 · 661 阅读 · 0 评论