- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 HDU1013一个简单的数学题
题意是:求一个数的个位数字之和 一直加到只有一位数 输出两种方法:1、求各位之和,然后,不断取余,得到一位数2、找规律,发现要输出的结果 是长度为9的循环数即:1 2 3 4 5 .....9 10 11 12 13 14.....19 20 21 22 ....1 2 3 4 5 ..... 9 1 2 3 4
2011-11-30 21:35:12 599
原创 C++高效编程
这是对C++高效编程的一个总结, 很有指导作用.一、#include “filename.h”和#include 的区别#include “filename.h”是指编译器将从当前工作目录上开始查找此文件#include 是指编译器将从标准库目录中开始查找此文件二、头文件的作用加强安全检测通过头文件可能方便地调用库功能,而不必关心其实现方式三、* , &修饰
2011-11-29 23:10:40 564
原创 一些小知识
——A: POD类型:Plain Old Data ;非 POD 类型通常需要初始化,不论是调用缺省的构造函数(编译器提供的)还是自己写的构造函数。——B:C++在声明定义一个类的时候 ,virtual 函数占用4个字节(虚函数表);空的类是一个字节,用于存放数据;——C:模板 枚举的 传神用法:templatestruct Fib{ enum {result=
2011-11-25 14:14:11 467
原创 poj-2567 prufer 编码
该题题意是 输出一颗树的最小子节点的父亲,直到全部输出。利用栈 确定 该树 然后 ,每次 遍历最小的叶子 输出其父亲 。开始的时候 一直RTE 最后才知道 是忽略了 节点数字的位数 可能大于1。我的代码:#include #include #include #include using namespace std;int father[1005];bool
2011-11-16 09:53:35 600
转载 代为转载、、、、位运算
这是数学模型老师布置的一个作业题,发现用C语言可以很好的解决,只可惜那个水货老师看不懂!怎一个“悲”字了得!!!题目: 任意拿出黑白两种颜色的棋子共八个,排成一个圆圈.然后在两颗颜色相同的棋子中间放一颗黑色棋子,在两颗颜色不同的棋子中间放一颗白色棋子,放完后撤掉原来所放的棋子.再重复以上的过程,这样放下一圈后就拿走前次的一圈棋子,问这样重复进行下去各棋子的颜色会怎样变化呢?
2011-11-13 13:21:08 429
原创 排序-归并、快排、插入、堆、希尔排序
以上排序都属于内部排序, 希尔排序属于插入排序,堆排序属于选择排序,对排序的各种实现:直接上代码:#include #include using namespace std;int a[1000];long sum=0;void swap(int x,int y){ int temp; temp=a[x]; a[x]=a[y]; a[y]=temp;}void me
2011-11-09 15:20:11 553
原创 逆序数--归并排序-nyoj117
归并排序的题 只需要记录排序的次数。 递归法实现 归并排序 #include#includeusing namespace std;int a[1000005];long long sum;void smerge(int x,int mid,int y)//归并{ int i,j,k=x; int n1=mid-x+1; int n2=y-mid;
2011-11-08 21:14:52 617
原创 poj-1094拓扑排序
拓扑排序的原理 很早就知道了 但是 这个很简单的拓扑排序题 却写了好久、、、、对于各种标记不是很明朗。拓扑排序的原理:在一个图中(有向图),存在入度为0的点,把该点去掉,并删除该点所在的边,再找入度为0 的点,直到所有的顶点全被确定一个顺序。如果过程中入度为0的点大于一个,说明拓扑序列不唯一。拓扑排序的应用:一个有向图,一些的节点必须在另一些节点前面,适用于要求有某种顺序的题代
2011-11-07 16:50:09 570
原创 poj-3259——bellmanford
题意很明显:判断是否有负权回路。bellman_ford的算法实现过程:首先明确一点 迄今 还不知道 判断完是否有负权后 怎么计算最短路。——有负权 没有最短路。无负权,dis中的最小距离即是所解判断负权的过程:定义一个一维数组,存放的是每个点的最小距离(到源点的最小距离)(每次更新与其相连的两个点,最终存放的是该点在整个图中的最小距离),更新每个点的最小距离,如果某个点能更新n次说明
2011-11-06 13:39:39 629
原创 poj-3615——floyd
floyd算法的思想:把每个点作为中间点 更新所有的点之间的距离,以至于更新了所有的最小距离。分析题意 求任意两点之间的所有连接通路中,障碍物的最小高度,而且是一条路上的最大高度。(也就是说 走哪条路所能跳的高度最小)。代码如下:#includeusing namespace std;int dis[303][303];int max(int a,int b){
2011-11-06 13:33:06 526
原创 poj1797--djikstra
djikstra的稍微变形,找的是最大载重,转移方程稍微变形/////dijkstra#include #include#includeusing namespace std;int map[1005][1005];int temp[1005];//记录某点到1的最大载重bool flag[1005];int min(int a,int b){ if (a>b) return
2011-11-03 09:17:58 469
原创 poj2485-最小生成树(prime+kruskal)
最小生成树 记录该最小生成树上的一个最长的路径 scanf接收数据//kruskal 不断加没有加进最小的边 保证 两个点至少一个没加进点集#include#include #includeusing namespace std;int father[505];int fun(int x){ return x==father[x]?father[x]:fun(father[x])
2011-11-01 20:46:50 515
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人